本申请涉及自然语言理解技术领域,特别是涉及一种诊断推荐方法及电子设备、存储装置。
背景技术:
随着信息技术的发展,利用信息化技术替代或辅助人工执行生产、决策等诸多任务,已成为当下信息化技术发展的主流趋势之一。在医学场景中,利用信息化技术可以对医学诊断问题提供诊断推荐,从而辅助医生进行医学诊断。
目前,一般依赖专家从诸多已有病历以及专业知识中提取出诊断规则,从而后续直接采用诊断规则与病历进行匹配,从而通过匹配结果来对该病历进行诊断推荐。然而,上述方式泛化能力较弱,即在对数据来源与已有病历不同的异源病历进行诊断推荐时,可能出现诊断推荐错误的情况。有鉴于此,如何提升诊断推荐的泛化能力和准确率成为亟待解决的问题。
技术实现要素:
本申请主要解决的技术问题文本是提供一种诊断推荐方法及电子设备、存储装置,能够提升诊断推荐的泛化能力和准确率。
为了解决上述问题文本,本申请第一方面提供了一种诊断推荐方法法,包括:获取病历文本以及若干诊断文本的规则库;其中,规则库包含诊断文本的若干规则文本;提取病历文本的病历语义表示,并分别提取规则库中若干规则文本的规则语义表示;利用病历语义表示和若干规则文本的规则语义表示,得到病历文本与诊断文本之间的相关度;基于相关度,确定与病历文本匹配的诊断文本。
为了解决上述问题文本,本申请第二方面提供了一种电子设备,包括相互耦接的存储器和处理器,存储器中存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的诊断推荐方法。
为了解决上述问题文本,本申请第三方面提供了一种存储装置,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的诊断推荐方法。
上述方案,通过获取病历文本以及若干诊断文本的规则库,其规则库包含诊断文本的若干规则文本,从而提取病历文本的病历语义表示,并分别提取规则库中若干规则文本的规则语义表示,进而利用病历语义表示和若干规则文本的规则语义表示,得到病历文本与诊断文本之间的相关度,最终基于相关度,确定与病历文本匹配的诊断文本。故此,通过提取规则库中若干规则文本的规则语义表示,能够有利于深度挖掘规则文本的先验知识,在此基础上通过深度挖掘的先验知识结合病历文本的病历语义表示,能够有利于提高对异源病历的适应能力和容错能力,从而能够有利于提升诊断推荐的泛化能力和准确率。
附图说明
图1是本申请诊断推荐方法实施例一实施例的流程示意图;
图2是提取病历语义表示一实施例的示意图;
图3是提取规则语义表示一实施例的流程示意图;
图4是提取规则语义表示一实施例的状态示意图;
图5是图1中步骤s13一实施例的流程示意图;
图6是获取第三语义表示和第四语义表示一实施例的状态示意图;
图7是获取第二权重和第三权重一实施例的状态示意图;
图8是诊断推荐模型训练方法一实施例的流程示意图;
图9是获取第一相关度一实施例的状态示意图;
图10是本申请电子设备一实施例的框架示意图;
图11是本申请存储装置一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请诊断推荐方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤s11:获取病历文本以及若干诊断文本的规则库。
本公开实施例中,规则库包含诊断文本的若干规则文本。若干诊断文本具体可以根据实际应用需要进行设置。例如,对于社区医院、诊所等基层医疗机构而言,若干诊断文本可以包含常见的诊断文本,如具体可以包括:上呼吸道感染、扁桃体炎等等;或者,对于儿科、骨科等专科医院而言,若干诊断文本可以包含与医学分科相关的诊断文本,如对于骨科医院,若干诊断文本具体可以包括:化脓性关节炎、大骨节病等等;或者,对于综合性医院而言,若干诊断文本可以包含与各医学分科相关的诊断文本,如具体可以包括:诸如上述化脓性关节炎、大骨节病等与骨科相关的诊断文本、诸如急性胆囊炎、胆管结石等与普外相关的诊断文本,以及与心内科、神经内科、烧伤科、男科、妇科等医学学科相关的诊断文本,在此不再一一举例。
需要说明的是,本公开实施例中,每一诊断文本均对应设置有若干规则文本。
在一个具体的实施场景中,为了提高后续诊断推荐的准确性,若干规则文本具体可以包括:与充分条件规则、必要条件规则至少一者相关的第一文本,以及与否定条件规则相关的第二文本。在满足诊断文本的充分条件规则的情况下,可以大概率推断病历文本与该诊断文本相匹配;而在不满足诊断文本的必要条件规则的情况下,可以推断病历文本与该诊断文本不匹配;在满足诊断文本的否定条件规则的情况下,可以推断病历文本与该诊断文本不匹配。
在另一个具体的实施场景中,规则文本具体可以包含有若干规则词语。为了提高后续诊断推荐的准确性,规则词语还可以标注有其对应的词语类型。词语类型可以包括但不限于:诱因、症状、体征等等,在此不做限定。
以诊断文本“急性胆囊炎”为例,其可以包括下述与充分条件规则相关的第一文本:“右上腹痛6|右上腹胀6|右上腹不适6|肩背放射痛6,胆囊区压痛7|右上腹反跳痛7|murphy症阳性7|恶心6|呕吐6,^黄疸6,^皮肤巩膜黄染7,^消化道穿孔9”、“进食油腻食物5|饮酒5,右上腹痛6|右上腹压痛7,^右上腹痛6,^黄疸6,^皮肤巩膜黄染7,^饮食不节5”、“右上腹痛6,恶心6|呕吐6|肩背放射痛6,^胆囊结石3,^饮食不节5,^消化道穿孔9”等等,在此不做限定。此外,其还可以包括下述与必要条件规则相关的第一文本:“右上腹痛6|右上腹胀6|上腹不适6|肩背放射痛6”等等,在此不做限定。此外,其还可以包括下述与否定条件规则相关的第二文本:“下腹痛6|下腹胀6|左下腹痛6|左下腹胀6”、“肾区叩击痛7|麦氏点压痛7”等等,在此不做限定。
上述各个规则文本中,数字“5”、“6”、“7”均表示规则词语对应的词语类型,其中数字“5”表示诱因,数字“6”表示症状,数字“7”表示体征。采用上述数字标注词语类型仅仅是实际应用中可能存在的一种方式,在其他实施场景中,也可以采用其他数字标注词语类型,或者还可以采用字母等其他字符标注词语类型,在此不做限定。
此外,在上述规则文本中,‘|’表示逻辑或,‘,’表示逻辑与,‘^’表示逻辑非。例如,对于上述规则文本“下腹痛6|下腹胀6|左下腹痛6|左下腹胀6”,其具体含义为“下腹痛或者下腹胀或者左下腹痛或者左下腹胀”,其他规则文本可以以此类推,在此不再一一举例。
此外,需要说明的是,为了提高诊断推荐的准确性,诊断文本的规则库在使用过程中,可以进行更新。例如,在医生发现某一规则文本不再适用时,可以对其进行修改,或者将其删除,在此不做限定;或者,在医生发现更加准确的规则文本的情况下,可以将该规则文本添加至规则库,或者将该规则文本替换规则库中某一旧的规则文本,在此不做限定。
在一个实施场景中,病历文本具体可以包括但不限于:主诉(mainsuit)、现病史(illnesshistory)、既往史(previoushistory)、辅助检查(auxexam)、常规检查(checkup)等等,在此不做限定。需要说明的是,主诉为病人自诉病情,如“阵发性右上腹痛伴恶心呕吐1天”;现病史是记录病人病后的全过程,即发生、发展、演变和诊治经过,如“阵发性右上腹痛恶心呕吐1天,不发热,无腹泻”;既往史为就医时医生向病人问询的病人既往的健康状况和过去曾经患过的疾病等方面;辅助检查可以包括但不限于:ct(computedtomography,计算机断层扫描)、b超等检查;常规检查可以包括但不限于:血压、体格等检查。
步骤s12:提取病历文本的病历语义表示,并分别提取规则库中若干规则文本的规则语义表示。
在一个实施场景中,可以直接对病历文本进行语义提取,得到病历语义表示。
在一个具体的实施场景中,可以将病历文本进行分词,得到若干病历词语,并将若干病历词语进行向量映射,得到病历词语的词语向量,从而可以对若干词语向量进行语义提取,得到若干病历词语的词语语义表示,进而可以将若干病历词语的词语语义表示的组合,作为病历语义表示。例如,病历文本中包含|r|个病历词语,每个病历词语的词语语义表示为d(如,256)维向量,则病历语义表示可以表示为一个维度为|r|*d的向量。
在另一个具体的实施场景中,为了提高语义提取效率,可以预先训练一个诊断推荐模型,且诊断推荐模型包括病历语义提取网络,从而可以将上述病历词语的词语向量输入病历语义提取网络,得到病历语义表示。病历语义提取网络可以包括但不限于:bert(bidirectionalencoderrepresentationfromtransformers,即双向transformer的encoder)、emlo(embeddingfromlanguagemodel)模型等,在此不做限定。此外,诊断推荐模型的训练过程具体可以参阅下述相关公开实施例,在此暂不赘述。
在另一个实施场景中,为了提高病历语义表示的准确性,还可以识别病历文本中的关键词语,并将病历文本与关键词语进行拼接,以更新病历文本,从而可以对更新后的病历文本进行语义提取,得到病历语义表示。具体地,上述关键词语可以包括但不限于:症状、诱因、病史等等,在此不做限定。上述方式,通过识别病历文本中的关键词语,并将病历文本与关键词语进行拼接,以更新病历文本,从而对更新后的病历文本进行语义提取,得到病历语义表示,能够有利于增强病历文本,提高病历文本的丰富度,提高病历语义表示的准确性。此外,还能够在后续计算与规则文本的规则语义表示的相关度过程中,不仅考虑病历本身的语义信息,还能够考虑提取到的关键词语的语义信息,进而能够有利于提高相关度的准确性。
在一个具体的实施场景中,关键词语具体可以是利用hanlp、结巴、ltp等ner(named-entityrecognition,命名实体识别)工具对病历文本进行识别得到,在此不做限定。
在另一个具体的实施场景中,为了提高语义提取效率,还可以预先训练一个诊断推荐模型,且该诊断推荐模型包括病历语义提取网络,从而可以将更新后的病历文本输入病历提取网络,得到病历语义表示。具体可以参阅前述相关描述,在此不再赘述。
在又一个具体的实施场景中,为了区分病历文本中不同字段(如,主诉、现病史、既往史、辅助检查、常规检查等)以及关键词语(如,症状、诱因、病史等),可以先对更新后的病历文本中不同字段分别进行字段编码,从而可以据此区分不同字段,在此基础上再进行语义提取,得到病历语义表示。例如,可以对病历文本与主诉相关文本采用[mainsuit]区分其他字段,对病历文本中与现病史相关文本采用[illnesshistory]区分其他字段,对病历文本中与既往史相关文本采用[previoushistoty]区分其他字段,对病历文本中与常规检查相关文本采用[checkup]区分其他字段,对病历文本中与辅助检查相关文本采用[auxexam]区分其他字段,对与症状相关关键词语采用[symtom]区分其他关键词语,对与诱因相关关键词语采用[reason]区分其他字段,以此类推,在此不再一一举例。请结合参阅图2,图2是提取病历语义表示一实施例的示意图。如图2所示,[mainsuit]、[illnesshistory]、[checkup]、[auxexam]、[symtom]、[reason]等均表示字段编码。此外,[cls]、[sep]分别表示字符串的开始标志、结束标志。
在一个实施场景中,如前所述,规则文本包含若干规则词语,在此基础上,可以获取若干规则词语的语义表示,从而可以基于若干规则词语的语义表示的组合,得到规则文本的规则语义表示。
在一个具体的实施场景中,规则词语的语义表示可以是预训练得到的。例如,可以获取bert模型预训练得到的词表中各个词语的语义表示,并将该词表中与规则词语对应的词语的语义表示,作为对应规则词语的语义表示。
在另一个具体的实施场景中,为了便于后续计算相关度,还可以对若干规则词语的语义表示的组合进行降维处理,从而得到规则文本的规则语义表示。具体地,可以利用卷积神经网络(convolutionalneuralnetwork,cnn)对上述规则词语的语义表示的组合进行降维处理。
在另一个实施场景中,如前所述,规则文本中包含若干规则词语,在此基础上,可以获取规则词语的第一语义表示,并获取规则文本的规则类型的第二语义表示,从而可以若干规则词语的第一语义表示和规则类型的第二语义表示进行融合,得到规则文本的规则语义表示。具体地,规则类型可以包括但不限于:充分条件规则、必要条件规则、否定条件规则,上述规则类型的具体含义可以参阅前述相关描述,在此不再赘述。上述方式,通过获取规则词语的第一语义表示,并获取规则文本的规则类型的第二语义表示,从而可以若干规则词语的第一语义表示和规则类型的第二语义表示进行融合,得到规则文本的规则语义表示,能够使得规则语义表示不仅包含规则文本本身的语义信息,还包括规则类型的语义信息,进而能够有利于提高规则文本的规则语义表示的准确性,有利于提高后续诊断推荐的准确性。
在一个具体的实施场景中,规则类型的第二语义表示具体可以为随机向量。也就是说,该第二语义表示可以是随机初始化得到的。
在另一个具体的实施场景中,规则语义表示具体可以表示为一个预设维度d(如,256)的向量。此外,为了便于处理,可以预先设置一个规则文本的最大数量m,如,可以设置为58,则在诊断文本的规则库所包含的规则文本的数量不足上述最大数量的情况下,可以将规则文本的数量补足该最大数量,从而可以使得该诊断文本所对应的若干规则文本的规则语义表示最终可以表示为一个维度为m*d的向量矩阵,如可以表示为一个维度为58*256的向量矩阵。例如,诊断文本对应的若干规则文本包含3条充分条件规则相关的规则文本、1条必要条件规则相关的规则文本和2条否定条件规则相关的规则文本,则该诊断文本的规则语义表示可以表示为一个维度为6*d的向量矩阵,对于不足的52*d可以以0元素进行补足。此外,为了便于描述,可以将该向量矩阵记为rrules。
在另一个实施场景中,为了便于提高规则语义表示的提取效率和准确性,还可以在提取规则语义表示之前,检测规则文本是否包含用于表示逻辑或的预设字符(如,前述‘|’),并在规则文本包含预设字符的情况下,基于预设字符,将规则文本拆分为至少两个子规则文本,从而后续可以分别对拆分得到的子规则文本进行语义提取。上述方式,通过在分别提取规则库中若干规则文本的规则语义表示之前,检测规则文本是否包含用于表示逻辑或的预设字符,并在规则文本包含预设字符的情况下,基于预设字符,将规则文本拆分为至少两个子规则文本,能够有利于提高提取规则语义表示的效率和准确性。
在一个具体的实施场景中,具体可以按预设字符拆分规则文本,并在拆分过程中,保留与逻辑与、逻辑非相关的规则词语。以规则文本“头晕|头痛,^腹痛”为例,可以按照预设字符‘|’进行拆分,并保留逻辑与、逻辑非相关的规则词语“腹痛”,最终可以拆分得到两个子规则文本“头晕,^腹痛”和“头痛,^腹痛”。其他情况可以以此类推,在此不再一一举例。
步骤s13:利用病历语义表示和若干规则文本的规则语义表示,得到病历文本与诊断文本之间的相关度。
在一个实施场景中,可以利用病历语义表示和若干规则文本的规则语义表示,获取病历文本分别与若干规则文本之间的相关度,在此基础上,可以再基于病历文本分别与若干规则文本之间的相关度,得到病历文本与诊断文本之间的相关度。
在一个具体的实施场景中,为了便于处理,可以将病历语义表示进行降维处理,并分别对若干规则语义表示进行降维处理,从而将降维处理后的病历语义表示分别与降维处理后的规则语义表示相乘,得到病历文本分别与若干规则文本之间的相关度。上述降维处理具体可以由全连接层执行,即可以将病历语义表示输入一全连接层进行降维处理,并将若干规则语义表示分别输入另一全连接层进行降维处理。
在另一个具体的实施场景中,可以对病历文本分别与若干规则文本之间的相关度进行加权处理,从而得到病历文本与诊断文本之间的相关度。具体地,若干规则文本分别对应的权重可以预先设置,具体可以根据规则文本的规则类型设置规则文本的权重。例如,可以将充分条件规则相关的规则文本的权重设置为高于否定条件规则相关的规则文本的权重,和/或,可以将必要条件规则相关的规则文本的权重设置为高于否定条件规则相关的规则文本的权重,在此不做限定。
在另一个实施场景中,也可以获取病历语义表示分别与各个规则文本的规则语义表示之间的差值,作为差异语义表示,并获取病历语义表示分别与各个规则文本的规则语义表示之间的乘积,作为交互语义表示,从而可以利用病历语义表示、若干规则文本的规则语义表示,以及上述差异语义表示和交互语义表示进行预测,得到病历文本分别与若干规则文本之间的相关度,在此基础上,可以再基于病历文本分别与若干规则文本之间的相关度,得到病历文本与诊断文本之间的相关度。区别于前述方式,通过差异语义表示和交互语义表示能够在原始的病历语义表示和规则语义表示的基础上,增加特征之间的差异信息和交互信息,从而能够有利于进一步提高语义信息的丰富度,进而能够有利于提高相关度的准确性。
在一个具体的实施场景中,为了便于处理,在得到差异语义表示、交互语义表示之后,可以将病历语义表示、若干规则文本的规则语义表示和差异语义表示、交互语义表示进行拼接,得到拼接语义表示,并基于拼接语义表示进行预测,得到病历文本与诊断文本之间的相关度。
在另一个具体的实施场景中,为了提高预测效率,可以将前述拼接语义表示送入全连接层进行预测,最终得到病历文本与诊断文本之间的相关度。
需要说明的是,如前所述,若干诊断文本具体可以根据实际应用需要进行设置。故此,针对每一诊断文本,均可以执行上述步骤s12和步骤s13,从而可以得到每一诊断文本与病历文本之间的相关度。
步骤s14:基于相关度,确定与病历文本匹配的诊断文本。
在一个实施场景中,具体可以将最大的相关度所对应的诊断文本,作为与病历文本匹配的诊断文本。例如,若干诊断文本包括:“化脓性关节炎”、“大骨节病”、“急性胆囊炎”、“胆管结石”、“上呼吸道感染”、“扁桃体炎”,且上述每一诊断文本均对应有包含若干规则文本的规则库,经过上述步骤处理,可以得到病历文本与诊断文本“化脓性关节炎”之间的相关度为0.4,与诊断文本“大骨节病”之间的相关度为0.3,与诊断文本“急性胆囊炎”之间的相关度为0.2,与诊断文本“胆管结石”之间的相关度为0.5,与诊断文本“上呼吸道感染”之间的相关度为0.4,与诊断文本“扁桃体炎”之间的相关度为0.8,则可以将诊断文本“扁桃体炎”作为与病历文本匹配的诊断文本。
在另一个实施场景中,也可以按照相关度由大到小的顺序,将相关度进行排序,并选取排在预设序位之前的若干诊断文本,作为与病历文本匹配的诊断文本,以供用户参考。
在一个具体的实施场景中,预设序位具体可以根据实际应用需要进行设置。例如,可以设置为3、4、5等等,在此不做限定。
在另一个具体的实施场景中,仍以前述若干诊断文本为例,按照相关度由大到小的顺序,前述若干诊断文本可以排序为:“扁桃体炎”、“胆管结石”、“上呼吸道感染”、“化脓性关节炎”、“大骨节病”、“急性胆囊炎”,在预设序位设置为3的情况下,可以选择“扁桃体炎”、“胆管结石”和“上呼吸道感染”,作为与病历文本匹配的诊断文本,以供用户参考。
上述方案,通过获取病历文本以及若干诊断文本的规则库,其规则库包含诊断文本的若干规则文本,从而提取病历文本的病历语义表示,并分别提取规则库中若干规则文本的规则语义表示,进而利用病历语义表示和若干规则文本的规则语义表示,得到病历文本与诊断文本之间的相关度,最终基于相关度,确定与病历文本匹配的诊断文本。故此,通过提取规则库中若干规则文本的规则语义表示,能够有利于深度挖掘规则文本的先验知识,在此基础上通过深度挖掘的先验知识结合病历文本的病历语义表示,能够有利于提高对异源病历的适应能力和容错能力,从而能够有利于提升诊断推荐的泛化能力和准确率。
请参阅图3,图3是提取规则语义表示一实施例的流程示意图。本公开实施例中,规则文本可以包括若干规则词语,具体可以参阅前述相关描述,在此不再赘述。本公开实施例具体可以包括如下步骤:
步骤s31:获取规则词语的第一语义表示,并获取规则文本的规则类型的第二语义表示。
在一个实施场景中,请结合参阅图4,图4是提取规则语义表示一实施例的状态示意图。如图4所示,在提取规则语义表示之前,可以先检测规则文本是否包含用于表示逻辑或的预设字符,并在规则文本包含预设字符的情况下,基于预设字符,将规则文本拆分为至少两个子规则文本。具体可以参阅前述公开实施例中相关描述,在此不再赘述。
在另一个实施场景中,可以获取规则词语整体的第一向量表示,并获取规则词语的词语类型的第二向量表示,以及获取规则词语中各个字符的第三向量表示,从而可以将第一向量表示、第二向量表示和第三向量表示进行融合,得到规则词语的第一语义表示。规则词语的词语类别的具体含义可以参阅前述公开实施例中相关描述,在此不再赘述。上述方式,通过获取规则词语整体的第一向量表示,并获取规则词语的词语类型的第二向量表示,以及获取规则词语中各个字符的第三向量表示,从而可以将第一向量表示、第二向量表示和第三向量表示进行融合,得到规则词语的第一语义表示,能够在第一语义表示中融合规则词语整体粒度,以及规则词语中各个字符粒度和词语类别粒度等多种粒度的语义信息,进而能够有利于提高第一语义表示的准确性。
在一个具体的实施场景中,规则词语整体的第一向量表示和词语类型的第二向量表示可以是随机初始化得到的,即可以将第一向量表示和第二向量表示初始化为随机向量。
在另一个具体的实施场景中,规则词语中各个字符的第三向量表示可以是预训练得到的,预训练的具体方式可以参阅前述公开实施例中相关描述,在此不再赘述。
在又一个具体的实施场景中,请结合参阅图4,如图4所示,对于规则词语“^腹痛”而言,其第一语义表示由其自身的第一向量表示、其所包含的各个字符“^”、“腹”、“痛”的第三向量表示,及其词语类型(即症状)的第二向量表示构成。其他情况可以以此类推,在此不再一一举例。
在又一个具体的实施场景中,由于规则词语中通常包含多个字符,为了便于后续融合第一向量表示、第二向量表示和第三向量表示,可以将规则词语所包含的若干字符的第三向量表示进行降维处理,以使得降维处理后的向量维度与第一向量表示和第二向量表示相同。如图3所示,降维处理具体可以采用cnn执行。
在又一个具体的实施场景中,为了便于描述,可以将第一向量表示记为evalue,将第二向量表示记为etype,并将规则词语中各个字符的第三向量表示记为echar,则第一语义表示e可以表示为:
e=evalue+cnn(echar)+etype……(1)
上述公式(1)中,加号“+”表示将向量表示相同位置处的元素相加,通过将不同向量表示相同位置处的元素相加,即可实现不同向量表示的融合。
步骤s32:将若干规则词语的第一语义表示和规则类型的第二语义表示进行融合,得到规则文本的规则语义表示。
在一个实施场景中,可以基于注意力机制,获取每一规则词语的第一权重,且第一权重用于表示规则词语对规则文本的重要程度,从而可以利用第一权重分别对对应规则词语的第一语义表示进行加权,得到若干规则词语的加权语义表示,进而可以利用若干规则词语的加权语义表示和规则类型的第二语义表示,得到规则语义表示。具体地,上述注意力机制可以包括但不限于:自注意力机制(self-attention)。上述方式,通过基于注意力机制,获取每一规则词语的第一权重,且第一权重用于表示规则词语对规则文本的重要程度,从而利用第一权重分别对对应规则词语的第一语义表示进行加权,得到若干规则词语的加权语义表示,进而利用若干规则词语的加权语义表示和规则类型的第二语义表示,得到规则语义表示,故此能够加强对规则文本相对重要的规则词语的语义信息,并减弱对规则文本相对次要的规则词语的语义信息,进而能够有利于提高规则语义表示的准确性。
在一个具体的实施场景中,如前述公开实施例所述,规则类型的第二语义表示可以为随机向量。具体可以参阅前述公开实施例中相关描述,在此不再赘述。
在另一个具体的实施场景中,以注意力机制包括自注意力机制为例,为了便于描述,规则词语中第i个规则词语的第一语义表示可以记为ei,则规则语义表示eformula可以表示为:
eformula=selfattention(e)+eformulatype……(2)
上述公式(2)中,selfattention()表示自注意力机制,e表示规则文本所包含规则词语的第一语义表示的集合,即e=(e1,e2,…ei,…en),其中,ei表示规则文本中第i个规则词语的第一语义表示。此外,selfattention(e)可以为加权语义表示,eformulatype表示第二语义表示。
区别于前述实施例,通过获取规则词语的第一语义表示,并获取规则文本的规则类型的第二语义表示,从而可以若干规则词语的第一语义表示和规则类型的第二语义表示进行融合,得到规则文本的规则语义表示,能够使得规则语义表示不仅包含规则文本本身的语义信息,还包括规则类型的语义信息,进而能够有利于提高规则文本的规则语义表示的准确性,有利于提高后续诊断推荐的准确性。
请参阅图5,图5是图1中步骤s13一实施例的流程示意图。本公开实施例中,若干规则文本包括:与充分条件规则、必要条件规则至少一者相关的第一文本、与否定条件规则相关的第二文本,具体可以参阅前述公开实施例中相关描述,在此不再赘述。本公开实施例具体可以包括如下步骤:
步骤s51:基于若干规则文本的规则语义表示和病历语义表示,获取第一文本的第二权重和第三语义表示,以及第二文本的第三权重和第四语义表示。
本公开实施例中,第二权重用于表示第一文本的重要程度,第三权重用于表示第二文本的重要程度。
在一个实施场景中,第二权重和第三权重可以为负相关关系,即第二权重越大,第三权重越小,反之第二权重越小,第三权重越大。具体地,第二权重和第三权重之和可以为1。
在另一个实施场景中,可以利用病历语义表示和若干规则文本的规则语义表示,得到若干规则文本的第四权重,且第四权重用于表示规则文本与病历文本相关程度,从而利用第四权重,将第一文本的规则语义表示进行加权处理,得到第三语义表示,并将第二文本的规则语义表示进行加权处理,得到第四语义表示,在此基础上,可以利用病历语义表示、第三语义表示和第四语义表示进行预测,得到第一文本的第二权重和第二文本的第三权重。上述方式,通过利用病历语义表示和若干规则文本的规则语义表示,得到若干规则文本的第四权重,且第四权重用于表示规则文本与病历文本相关程度,从而利用第四权重,将第一文本的规则语义表示进行加权处理,得到第三语义表示,并将第二文本的规则语义表示进行加权处理,得到第四语义表示,进而利用病历语义表示、第三语义表示和第四语义表示进行预测,得到第一文本的第二权重和第二文本的第三权重,故此能够基于规则文本与病历文本之间的相关程度来加权第一文本的规则语义表示以及第二文本的规则语义表示,从而分别得到第三语义表示和第四语义表示,进而能够有利于提高第一文本的第三语义表示和第二文本的第四语义表示的准确性,在此基础上,再利用病历语义表示、第三语义表示和第四语义表示预测第二权重和第三权重,有利于提高第二权重和第三权重的准确性,进而能够有利于提高诊断语义表示的准确性。
在一个具体的实施场景中,请结合参阅图6,图6是获取第三语义表示和第四语义表示一实施例的状态示意图。如图6所示,为了便于处理,可以将病历语义表示输入一个全连接层进行降维处理,并将若干规则文本的规则语义表示输入另一个全连接层进行降维处理,再将降维处理后的病历语义表示和规则语义表示进行点积,即可得到若干规则文本的第四权重。为了便于表述,可以将病历语义表示记为rmr,将规则语义表示记为rrules,降维处理后的病历语义表示记为hmr,降维处理后的规则语义表示记为hrules,则hmr和hrules可以分别表示为:
hmr=σ(w·rmr+b)……(3)
hrules=σ(w·rrules+b)……(4)
上述公式(3)和公式(4)中,σ()表示经全连接层处理,其中,w和b均表示全连接层的网络参数,其中,w表示全连接层的权重,b表示全连接层的偏置。
在此基础上,可以将降维处理后的病历语义表示hmr分别与各个降维处理后的规则语义表示hrules进行点积,并对点积结果进行归一化处理,如可以采用softmax进行归一化处理,得到若干规则文本的第四权重。为了便于描述,可以将第i个规则文本经降维处理后的规则语义表示记为hrules(i),第i个规则文本的第四权重记为m(i),则第四权重m(i)可以表示为:
m(i)=softmax(hmr*hrules(i))……(5)
在另一个具体的实施场景中,请继续结合参阅图6,可以利用第一文本的第四权重分别对第一文本的规则语义表示进行加权求和,得到第一文本的第三语义表示,并利用第二文本的第四权重分别对第二文本的规则语义表示进行加权求和,得到第二文本的第四语义表示。为了便于描述,可以将第一文本的第三语义表示记为rw-cf-by,并将第二文本的第四语义表示记为rw-fd,则第三语义表示rw-cf-by和第四语义表示rw-fd可以分别表示为:
上述公式(6)中,φcf-by表示与充分条件规则、必要条件规则至少一者相关的第一文本的集合,φfd表示与否定条件规则相关的第二文本的集合。
在又一个具体的实施场景中,请结合参阅图7,图7是获取第二权重和第三权重一实施例的状态示意图。如图7所示,可以将病历语义表示、第一文本的第三语义表示和第二文本的第四语义表示进行拼接,得到拼接语义表示,再将拼接语义表示输入一个全连接层进行预测,得到第一文本的第二权重,在此基础上,可以基于第二权重和第三权重之间的负相关关系,得到第二文本的第三权重。为了便于描述,可以将第二权重记为hgate,则第二权重hgate可以通过下式获取得到:
rgate=[rw-cf-by,rw-fd,rmr]……(8)
hgate=σ(w·rgate+b)……(9)
上述公式(8)中,rw-cf-by为第三语义表示,rw-fd为第四语义表示,rmr为病历语义表示,rgate为拼接语义表示。上述公式(9)中,σ()表示经全连接层处理,w和b均为全连接层的网络参数,其中,w为全连接层的权重,b为全连接层的偏置。此外,在得到第二权重hgate的基础上,第三权重具体可以表示为1-hgate。
步骤s52:利用第二权重、第三权重将第一文本的第三语义表示、第二文本的第四语义表示进行融合,得到诊断文本的诊断语义表示。
请继续参阅图7,具体可以利用第二权重、第三权重分别将第一文本的第三语义表示、第二文本的第四语义表示进行加权求和,得到诊断文本的诊断语义表示。为了便于描述,可以将诊断语义表示记为rwo,诊断语义表示rwo具体可以表示为:
rwo=rw-cf-by·hgate+rw-fd·(1-hgate)……(10)
步骤s53:利用诊断语义表示进行预测,得到病历文本与诊断文本之间的相关度。
请继续参阅图7,具体可以将诊断语义表示输入全连接层进行预测,得到病历文本与诊断文本之间的相关度。为了便于描述,可以将相关度记为scoremargin,相关度scoremargin可以表示为:
scoremargin=σ(w·rwo+b)……(11)
上述公式(11)中,σ()表示经全连接层处理,w和b均为全连接层的网络参数,其中,w为全连接层的权重,b为全连接层的偏置。
需要说明的是,本公开实施例中,各个全连接层的网络参数(即,权重w和偏置b)均可以在训练过程进行调整。
区别于前述实施例,通过基于若干规则文本的规则语义表示和病历语义表示,预测得到第一文本的第二权重和第二文本的第三权重,从而利用第二权重、第三权重将第三语义表示、第四语义表示进行融合,得到诊断文本的诊断语义表示,进而利用诊断语义表示进行预测,得到病历文本与诊断文本之间的相关度,能够有利于区分与充分条件规则、必要条件规则至少一者相关的第一文本,以及与否定条件规则相关的第二文本对于推荐诊断的重要性,从而能够有利于更加准确地融合。
请参阅图8,图8是诊断推荐模型训练方法一实施例的流程示意图。如前述公开实施例所述,与病历文本匹配的诊断文本是由诊断推荐模型预测得到的,诊断推荐模型是利用样本病历文本训练得到的,且样本病历文本标注有与其匹配的实际文本。本公开实施例具体可以包括如下步骤:
步骤s81:利用诊断推荐模型提取样本病历文本的样本病历语义表示,并利用诊断推荐模型分别提取规则库中若干规则文本的规则语义表示。
具体地,可以利用诊断推荐模型的病历语义提取网络提取样本病历文本的样本病历语义表示,并利用诊断推荐模型的规则语义提取网络提取规则库中若干规则文本的规则语义表示。具体可以参阅前述公开实施例中相关描述,在此不再赘述。
步骤s82:利用样本病历语义表示和若干规则文本的规则语义表示,预测得到样本病历文本分别与若干规则文本之间的第一相关度以及样本病历文本与诊断文本之间的第二相关度。
利用样本病历语义表示和若干规则文本的规则语义表示,预测得到样本病历文本与诊断文本之间的第二相关度的具体过程,可以参阅前述预测病历文本和诊断文本之间相关度的相关描述,在此不再赘述。
在一个实施场景中,请结合参阅图9,图9是获取第一相关度一实施例的状态示意图。如图9所示,在获取第一相关度之前,可以先执行以下至少一者:获取样本病历语义表示分别与各个规则文本的规则语义表示之间的差值,作为差异语义表;获取样本病历语义表示分别与各个规则文本的规则语义表示之间的乘积,作为交互语义表示,在此基础上,可以利用差异语义表示、交互语义表示中至少一者,以及样本病历语义表示和若干规则文本的规则语义表示,预测得到第一相关度。上述方式,通过差异语义表示和交互语义表示能够在原始的样本病历语义表示和规则语义表示的基础上,增加特征之间的差异信息和交互信息,从而能够有利于进一步提高语义信息的丰富度,进而能够有利于提高第一相关度的准确性。
在一个具体的实施场景中,为了便于描述,可以将样本病历语义表示记为rmr,并将若干规则语义表示记为rrules。具体地,样本病历语义表示rmr可以为一个维度为1*256的向量矩阵,而若干规则语义表示rrules可以为一个维度为58*256的向量矩阵,则可以将维度为1*256的样本病历语义表示分别与维度为58*256的若干规则语义表示rrules的每一行向量表示进行相乘和/或相减的操作。为了便于描述,可以将差异语义表示记为rmr-rrules,将交互语义表示记为rmr·rrules。
在另一个具体的实施场景中,具体可以将上述差异语义表示、交互语义表示中至少一者与样本病历语义表示和若干规则语义表示进行拼接,得到样本拼接语义表示,并将样本拼接语义表示输入全连接层,得到样本病历文本分别与各个规则文本之间的第一相关度。为了便于描述,可以将样本病历文本分别与各个规则文本之间的第一相关度记为scorediffer,则第一相关度scorediffer可以表示为:
scorediffer=σ(w·rdiffer+b)……(12)
上述公式(12)中,σ()表示经全连接层处理,w和b均为全连接层的网络参数,其中,w为全连接层的权重,b为全连接层的偏置。此外,rdiffer为样本拼接语义表示。具体地,为了尽可能地提高语义信息的丰富度,样本拼接语义表示可以是由差异语义表示、交互语义表示与样本病历语义表示和若干规则语义表示进行拼接得到的,即样本拼接语义表示rdiffer可以表示为rdiffer=[rmr,rrules,rmr-rrules,rmr·rrules]。
步骤s83:基于样本病历文本分别与若干规则文本之间的第一相关度和实际相关度之间的差异,得到诊断推荐模型的第一损失值。
在一个实施场景中,样本病历文本分别与若干规则文本之间的实际相关度,具体可以是由专家、医生标注得到的。例如,在样本病历文本分别与规则文本匹配的情况下,可以标注为“1”;或者,在样本病历文本分别与规则文本不匹配的情况下,可以标注为“0”,在此不做限定。
在另一个实施场景中,诊断推荐模型的第一损失值具体可以由focalloss损失函数计算得到。为了便于描述,第一损失值可以记为lossfocal,则第一损失值lossfocal可以表示为:
上述公式(13)中,ytrue表示实际相关度,ypred表示预测得到的第一相关度。此外,α和γ均为focalloss损失函数的超参数。具体地,γ可以设置为2,α可以设置为0.25,在此不做限定。通过引入focalloss损失函数,能够对第一相关度偏离实际相关度较大的样本,保留大部分损失值,而对于第一相关度偏离实际相关度较小的样本,大幅减小其损失值,从而使得模型能够更加关注于优化样本少的损失,进而能够有利于缓解训练过程中的样本不均衡问题。
步骤s84:基于实际文本以及样本病历文本与诊断文本之间的第二相关度,得到诊断推荐模型的第二损失值。
在一个实施场景中,可以采用marginloss损失函数计算第二损失值。为了便于描述,可以将第二损失值记为lossmargin,则第二损失值lossmargin可以表示为:
lossmargin=max(0,m-score++score-)……(14)
上述公式(14)中,max()表示取最大值,score+表示正例的第二相关度,score-表示负例的第二相关度。其中,正例表示与实际文本相同的诊断文本,负例表示与实际文本不同的诊断文本。例如,样本病历文本所标注的与其匹配的实际文本为“急性胆囊炎”,而若干诊断文本包括:“急性胆囊炎”、“上呼吸道感染”“大骨节病”、“化脓性关节炎”,则可以将诊断文本“急性胆囊炎”作为正例,样本病历文本与诊断文本“急性胆囊炎”之间的第二相关度即为公式(14)中的score+,此外可以将“上呼吸道感染”、“大骨节病”、“化脓性关节炎”等其他诊断文本作为负例,样本病历文本分别与诊断文本“上呼吸道感染”、“大骨节病”、“化脓性关节炎”之间的第二相关度即为公式(14)中的score-。其他情况可以以此类推,在此不再一一举例。通过marginloss损失函数,能够在训练过程中,使得样本病历文本的样本病历语义表示和正例的规则语义表示越来越相关,而与负例的规则语义表示越来越不相关。
步骤s85:利用第一损失值和第二损失值,调整诊断推荐模型的网络参数。
在一个实施场景中,可以将第一损失值lossfocal和第二损失值lossmargin之和,作为诊断推荐模型的总损失值。为了便于描述,可以将总损失值记为loss,则总损失值loss可以表示为:
loss=lossfocal+lossmargin……(15)
在此基础上,可以利用总损失值,调整诊断推荐模型的网络参数。在一个实施场景中,可以采用adam(amethodforstochasticoptimization)优化函数优化上述总损失值。adam是一种可以替代传统梯度下降过程的一阶优化算法,其能基于训练数据迭代地更新神经网络权重。adam优化函数的具体训练过程,在此不再赘述。
区别于前述实施例,通过利用诊断推荐模型提取样本病历文本的样本病历语义表示,并利用诊断推荐模型分别提取规则库中若干规则文本的规则语义表示,从而利用样本病历语义表示和若干规则文本的规则语义表示,预测得到样本病历文本分别与若干规则文本之间的第一相关度以及样本病历文本与诊断文本之间的第二相关度,进而基于样本病历文本分别与若干规则文本之间的第一相关度和实际相关度之间的差异,得到诊断推荐模型的第一损失值,以及基于实际文本以及样本病历文本与诊断文本之间的第二相关度,得到诊断推荐模型的第二损失值,最终利用第一损失值和第二损失值,调整诊断推荐模型的网络参数,故此在训练过程中,不仅能够从“样本病历文本与诊断文本之间的第二相关度”层面约束诊断推荐模型,还能够通过“样本病历文本分别与若干规则文本之间的第一相关度”层面,弥补神经网络可解释性不足的缺点,增强诊断推荐模型的可解释性,进而从上述两个层面共同约束诊断推荐模型,能够有利于提高诊断推荐模型的准确性。
请参阅图10,图10是本申请电子设备100一实施例的框架示意图。电子设备100包括相互耦接的存储器101和处理器102,存储器101中存储有程序指令,处理器102用于执行程序指令以实现上述任一诊断推荐方法实施例中的步骤,或实现上述任一诊断推荐模型的训练方法实施例中的步骤。电子设备100可以包括但不限于:台式计算机、笔记本电脑、平板电脑、服务器、手机等等,在此不做限定。
具体而言,处理器102用于控制其自身以及存储器101以实现上述任一诊断推荐方法实施例中的步骤,或实现上述任一诊断推荐模型的训练方法实施例中的步骤。处理器102还可以称为cpu(centralprocessingunit,中央处理单元)。处理器102可能是一种集成电路芯片,具有信号的处理能力。处理器102还可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器102可以由集成电路芯片共同实现。
本公开实施例中,处理器102用于获取病历文本以及若干诊断文本的规则库;其中,规则库包含诊断文本的若干规则文本;处理器102用于提取病历文本的病历语义表示,并分别提取规则库中若干规则文本的规则语义表示;处理器102用于利用病历语义表示和若干规则文本的规则语义表示,得到病历文本与诊断文本之间的相关度;处理器102用于基于相关度,确定与病历文本匹配的诊断文本。
上述方案,通过获取病历文本以及若干诊断文本的规则库,其规则库包含诊断文本的若干规则文本,从而提取病历文本的病历语义表示,并分别提取规则库中若干规则文本的规则语义表示,进而利用病历语义表示和若干规则文本的规则语义表示,得到病历文本与诊断文本之间的相关度,最终基于相关度,确定与病历文本匹配的诊断文本。故此,通过提取规则库中若干规则文本的规则语义表示,能够有利于深度挖掘规则文本的先验知识,在此基础上通过深度挖掘的先验知识结合病历文本的病历语义表示,能够有利于提高对异源病历的适应能力和容错能力,从而能够有利于提升诊断推荐的泛化能力和准确率。
在一些公开实施例中,规则文本包含若干规则词语,处理器102用于获取规则词语的第一语义表示,并获取规则文本的规则类型的第二语义表示;处理器102用于将若干规则词语的第一语义表示和规则类型的第二语义表示进行融合,得到规则文本的规则语义表示。
区别于前述实施例,通过获取规则词语的第一语义表示,并获取规则文本的规则类型的第二语义表示,从而可以若干规则词语的第一语义表示和规则类型的第二语义表示进行融合,得到规则文本的规则语义表示,能够使得规则语义表示不仅包含规则文本本身的语义信息,还包括规则类型的语义信息,进而能够有利于提高规则文本的规则语义表示的准确性,有利于提高后续诊断推荐的准确性。
在一些公开实施例中,处理器102用于获取规则词语整体的第一向量表示,并获取规则词语的词语类型的第二向量表示;以及,处理器102用于获取规则词语中各个字符的第三向量表示;处理器102用于将第一向量表示、第二向量表示和第三向量表示进行融合,得到规则词语的第一语义表示。
区别于前述实施例,通过获取规则词语整体的第一向量表示,并获取规则词语的词语类型的第二向量表示,以及获取规则词语中各个字符的第三向量表示,从而可以将第一向量表示、第二向量表示和第三向量表示进行融合,得到规则词语的第一语义表示,能够在第一语义表示中融合规则词语整体粒度,以及规则词语中各个字符粒度和词语类别粒度等多种粒度的语义信息,进而能够有利于提高第一语义表示的准确性。
在一些公开实施例中,处理器102用于基于注意力机制,获取每一规则词语的第一权重;其中,第一权重用于表示规则词语对规则文本的重要程度;处理器102用于利用第一权重分别对对应规则词语的第一语义表示进行加权,得到若干规则词语的加权语义表示;处理器102用于利用若干规则词语的加权语义表示和规则类型的第二语义表示,得到规则语义表示。
区别于前述实施例,通过基于注意力机制,获取每一规则词语的第一权重,且第一权重用于表示规则词语对规则文本的重要程度,从而利用第一权重分别对对应规则词语的第一语义表示进行加权,得到若干规则词语的加权语义表示,进而利用若干规则词语的加权语义表示和规则类型的第二语义表示,得到规则语义表示,故此能够加强对规则文本相对重要的规则词语的语义信息,并减弱对规则文本相对次要的规则词语的语义信息,进而能够有利于提高规则语义表示的准确性。
在一些公开实施例中,规则类型包括:充分条件规则、必要条件规则、否定条件规则;和/或,第二语义表示为随机向量。
在一些公开实施例中,若干规则文本包括:与充分条件规则、必要条件规则至少一者相关的第一文本、与否定条件规则相关的第二文本,处理器102用于基于若干规则文本的规则语义表示和病历语义表示,获取第一文本的第二权重和第三语义表示,以及第二文本的第三权重和第四语义表示;其中,第二权重用于表示第一文本的重要程度,第三权重用于表示第二文本的重要程度;处理器102用于利用第二权重、第三权重将第一文本的第三语义表示、第二文本的第四语义表示进行融合,得到诊断文本的诊断语义表示;处理器102用于利用诊断语义表示进行预测,得到病历文本与诊断文本之间的相关度。
区别于前述实施例,通过基于若干规则文本的规则语义表示和病历语义表示,预测得到第一文本的第二权重和第二文本的第三权重,从而利用第二权重、第三权重将第三语义表示、第四语义表示进行融合,得到诊断文本的诊断语义表示,进而利用诊断语义表示进行预测,得到病历文本与诊断文本之间的相关度,能够有利于区分与充分条件规则、必要条件规则至少一者相关的第一文本,以及与否定条件规则相关的第二文本对于推荐诊断的重要性,从而能够有利于更加准确地融合。
在一些公开实施例中,处理器102用于利用病历语义表示和若干规则文本的规则语义表示,得到若干规则文本的第四权重;其中,第四权重用于表示规则文本与病历文本相关程度;处理器102用于利用第四权重,将第一文本的规则语义表示进行加权处理,得到第三语义表示,并将第二文本的规则语义表示进行加权处理,得到第四语义表示;处理器102用于利用病历语义表示、第三语义表示和第四语义表示进行预测,得到第一文本的第二权重和第二文本的第三权重。
区别于前述实施例,通过利用病历语义表示和若干规则文本的规则语义表示,得到若干规则文本的第四权重,且第四权重用于表示规则文本与病历文本相关程度,从而利用第四权重,将第一文本的规则语义表示进行加权处理,得到第三语义表示,并将第二文本的规则语义表示进行加权处理,得到第四语义表示,进而利用病历语义表示、第三语义表示和第四语义表示进行预测,得到第一文本的第二权重和第二文本的第三权重,故此能够基于规则文本与病历文本之间的相关程度来加权第一文本的规则语义表示以及第二文本的规则语义表示,从而分别得到第三语义表示和第四语义表示,进而能够有利于提高第一文本的第三语义表示和第二文本的第四语义表示的准确性,在此基础上,再利用病历语义表示、第三语义表示和第四语义表示预测第二权重和第三权重,有利于提高第二权重和第三权重的准确性,进而能够有利于提高诊断语义表示的准确性。
在一些公开实施例中,第二权重和第三权重为负相关关系,和/或,处理器102用于分别利用第二权重、第三权重对第三语义表示、第四语义表示进行加权处理,得到诊断语义表示。
在一些公开实施例中,处理器102用于识别病历文本中的关键词语,并将病历文本与关键词语进行拼接,以更新病历文本;处理器102用于对更新后的病历文本进行语义提取,得到病历语义表示对更新后的病历文本进行语义提取,得到病历语义表示。
区别于前述实施例,通过识别病历文本中的关键词语,并将病历文本与关键词语进行拼接,以更新病历文本,从而对更新后的病历文本进行语义提取,得到病历语义表示,能够有利于增强病历文本,提高病历文本的丰富度,提高病历语义表示的准确性。此外,还能够在后续计算与规则文本的规则语义表示的相关度过程中,不仅考虑病历本身的语义信息,还能够考虑提取到的关键词语的语义信息,进而能够有利于提高相关度的准确性。
在一些公开实施例中,处理器102用于检测规则文本是否包含用于表示逻辑或的预设字符;处理器102用于在规则文本包含预设字符的情况下,基于预设字符,将规则文本拆分为至少两个子规则文本。
区别于前述实施例,通过在分别提取规则库中若干规则文本的规则语义表示之前,检测规则文本是否包含用于表示逻辑或的预设字符,并在规则文本包含预设字符的情况下,基于预设字符,将规则文本拆分为至少两个子规则文本,能够有利于提高提取规则语义表示的效率和准确性。
在一些公开实施例中,与病历文本匹配的诊断文本是由诊断推荐模型预测得到的,诊断推荐模型是利用样本病历文本训练得到的,且样本病历文本标注有与其匹配的实际文本。
在一些公开实施例中,处理器102用于利用诊断推荐模型提取样本病历文本的样本病历语义表示,并利用诊断推荐模型分别提取规则库中若干规则文本的规则语义表示;处理器102用于利用样本病历语义表示和若干规则文本的规则语义表示,预测得到样本病历文本分别与若干规则文本之间的第一相关度以及样本病历文本与诊断文本之间的第二相关度;处理器102用于基于样本病历文本分别与若干规则文本之间的第一相关度和实际相关度之间的差异,得到诊断推荐模型的第一损失值;处理器102用于基于实际文本以及样本病历文本与诊断文本之间的第二相关度,得到诊断推荐模型的第二损失值;处理器102用于利用第一损失值和第二损失值,调整诊断推荐模型的网络参数。
区别于前述实施例,通过利用诊断推荐模型提取样本病历文本的样本病历语义表示,并利用诊断推荐模型分别提取规则库中若干规则文本的规则语义表示,从而利用样本病历语义表示和若干规则文本的规则语义表示,预测得到样本病历文本分别与若干规则文本之间的第一相关度以及样本病历文本与诊断文本之间的第二相关度,进而基于样本病历文本分别与若干规则文本之间的第一相关度和实际相关度之间的差异,得到诊断推荐模型的第一损失值,以及基于实际文本以及样本病历文本与诊断文本之间的第二相关度,得到诊断推荐模型的第二损失值,最终利用第一损失值和第二损失值,调整诊断推荐模型的网络参数,故此在训练过程中,不仅能够从“样本病历文本与诊断文本之间的第二相关度”层面约束诊断推荐模型,还能够通过“样本病历文本分别与若干规则文本之间的第一相关度”层面,弥补神经网络可解释性不足的缺点,增强诊断推荐模型的可解释性,进而从上述两个层面共同约束诊断推荐模型,能够有利于提高诊断推荐模型的准确性。
在一些公开实施例中,处理器102用于获取样本病历语义表示分别与各个规则文本的规则语义表示之间的差值,作为差异语义表示;处理器102用于获取样本病历语义表示分别与各个规则文本的规则语义表示之间的乘积,作为交互语义表示;处理器102用于利用差异语义表示、交互语义表示中至少一者,以及样本病历语义表示和若干规则文本的规则语义表示,预测得到第一相关度。
区别于前述实施例,通过差异语义表示和交互语义表示能够在原始的样本病历语义表示和规则语义表示的基础上,增加特征之间的差异信息和交互信息,从而能够有利于进一步提高语义信息的丰富度,进而能够有利于提高第一相关度的准确性。
请参阅图11,图11是本申请存储装置110一实施例的框架示意图。存储装置110存储有能够被处理器运行的程序指令111,程序指令111用于实现上述任一诊断推荐方法实施例中的步骤,或实现上述任一诊断推荐模型的训练方法实施例中的步骤。
上述方案,能够有利于深度挖掘规则文本的先验知识,在此基础上通过深度挖掘的先验知识结合病历文本的病历语义表示,能够有利于提高对异源病历的适应能力和容错能力,从而能够有利于提升诊断推荐的泛化能力和准确率。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。