一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

诊断推荐方法及相关装置、电子设备、存储介质与流程

2021-10-24 06:44:00 来源:中国专利 TAG:自然语言 电子设备 装置 诊断 方法


1.本技术涉及自然语言处理技术领域,特别是涉及一种诊断推荐方法及相关装置、电子设备、存储介质。


背景技术:

2.知识图谱以结构化的形式描述客观世界中概念、实体及其关系,将互联网的信息表达成更接近人类认知世界的形式,提供了一种更好组织、管理和理解互联网海量信息的方式。
3.随着互联网的兴起,人们对于在网络获取医疗服务知识有着非常广泛的需求。目前,通常根据病人病历搜集医疗领域知识图谱中相关结构化数据来进行诊断推荐,以辅助医生诊疗。本技术发明人经研究发现,现有诊断推荐方式存在不全面、误差大且鲁棒性低等问题,导致无法满足人们对于互联网医疗服务的广泛需求。有鉴于此,如何全面、准确且稳定地进行诊断推荐成为亟待解决的问题。


技术实现要素:

4.本技术主要解决的技术问题是提供一种诊断推荐方法及相关装置、电子设备、存储介质,能够全面、准确且稳定地进行诊断推荐。
5.为了解决上述技术问题,本技术第一方面提供了一种诊断推荐方法,包括:获取目标对象的病历文本,并获取医疗领域的知识图谱和文档文本;提取病历文本的病历语义表示,并提取知识图谱的图谱语义表示,以及提取文档文本的文档语义表示;利用病历语义表示、图谱语义表示和文档语义表示进行预测,得到目标对象的诊断文本。
6.为了解决上述技术问题,本技术第二方面提供了一种诊断推荐装置,包括:图文获取模块、语义提取模块和诊断预测模块,图文获取模块用于获取目标对象的病历文本,并获取医疗领域的知识图谱和文档文本;语义提取模块用于提取病历文本的病历语义表示,并提取知识图谱的图谱语义表示,以及提取文档文本的文档语义表示;诊断预测模块用于利用病历语义表示、图谱语义表示和文档语义表示进行预测,得到目标对象的诊断文本。
7.为了解决上述技术问题,本技术第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,存储器中存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的诊断推荐方法。
8.为了解决上述技术问题,本技术第四方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的诊断推荐方法。
9.上述方案,获取目标对象的病历文本,并获取医疗领域的知识图谱的文档文本,以及提取病历文本的病历语义表示、知识图谱的图谱语义表示和文档文本的文档语义表示,在此基础上,再利用病历语义表示、图谱语义表示和文档语义表示进行预测,得到目标对象的诊断文本,一方面通过进一步参考医疗领域的文档文本,从而结合病历文本、知识图谱和文档文本三者共同进行诊断推荐,能够大大扩展诊断推荐过程中的信息参考范围,有利于
提升诊断推荐的全面性,另一方面通过提取深层语义表示,并基于语义表示进行诊断推荐,能够挖掘图谱以及文本蕴含的语义信息而非仅停留于表层结构化数据,有利于提高诊断推荐的鲁棒性和准确性,故此能够全面、准确且稳定地进行诊断推荐。
附图说明
10.图1是本技术诊断推荐方法一实施例的流程示意图;
11.图2是本技术诊断推荐方法一实施例的过程示意图;
12.图3是本技术诊断推荐方法另一实施例的流程示意图;
13.图4是本技术诊断推荐方法另一实施例的过程示意图;
14.图5是gcn一实施例的示意图;
15.图6是gat一实施例的示意图;
16.图7是gat另一实施例的示意图;
17.图8是预设图谱对齐一实施例的流程示意图;
18.图9是预设图谱对齐一实施例的过程示意图;
19.图10是预设图谱对齐另一实施例的过程示意图;
20.图11是预设图谱对齐另一实施例的流程示意图;
21.图12是预设图谱对齐又一实施例的流程示意图;
22.图13是本技术诊断推荐装置一实施例的框架示意图;
23.图14是本技术电子设备一实施例的框架示意图;
24.图15是本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
25.下面结合说明书附图,对本技术实施例的方案进行详细说明。
26.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
27.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
28.请参阅图1,图1是本技术诊断推荐方法一实施例的流程示意图。具体而言,可以包括如下步骤:
29.步骤s11:获取目标对象的病历文本,并获取医疗领域的知识图谱和文档文本。
30.在一个实施场景中,病历文本可以包含若干子文本。若干子文本可以从不同层面反映目标对象的健康状况。例如,若干子文本可以包括但不限于:主诉、生命体征、专科检查、现病史等等,在此不做限定。请结合参阅表1,表1是病历文本一实施例的示意表。如表1所示,该病历文本可以包含“主诉”子文本、“生命体征”子文本、“专科检查”子文本和“现病史”子文本。需要说明的是,表1所示病历文本仅仅是实际应用过程中可能存在的一个病历文本,并不因此而限定病历文本的具体文本内容。
31.表1病历文本一实施例的示意表
[0032][0033]
需要说明的是,知识图谱中节点表示实体,连接节点的边表示关系,由关系连接的两个实体以及该关系组成三元组,具体可以表达为“头实体

关系

尾实体”。例如,实体“应变性鼻炎”和实体“鼻窦压痛”由关系“疾病相关症状”连接,则“应变性鼻炎

疾病相关症状

鼻窦压痛”组成三元组;或者,实体“低血压”和实体“低于90/60mmhg”由关系“疾病相关检查”连接,则“低血压

疾病相关检查

低于90/60mmhg”组成三元组,其他情况可以以此类推,在此不再一一举例。根据尾实体是实体节点还是字面值,可以将三元组分类为关系三元组和属性三元组。如上述三元组“应变性鼻炎

疾病相关症状

鼻窦压痛”可以视为关系三元组,而上述三元组“低血压

疾病相关检查

低于90/60mmhg”可以视为属性三元组。此外,实体节点在可视化界面中,可以以节点形式存在,而字面值由于其值不可枚举的特性,在可视化界面中可以依附于实体存在。具体可以参阅知识图谱相关技术细节,在此不再赘述。
[0034]
在一个实施场景中,医疗领域的知识图谱可以包含对外开放的知识图谱,例如,可以包括但不限于:omaha(open medical and healthcare alliance,开放医疗与健康联盟)、中文症状库等等。
[0035]
在另一个实施场景中,医疗领域的知识图谱也可以包含自定义的知识图谱,例如,可以根据医学文献等海量知识自定义知识图谱。
[0036]
在又一个实施场景中,为了进一步提高诊断推荐的全面性,医疗领域的知识图谱既可以包含诸如omaha、中文症状库等对外开放的知识图谱,也可以包含自定义知识图谱。请结合参阅表2,表2是医疗领域的知识图谱一实施例的示意表。如表2所示,aimind表示自定义知识图谱,“关系属性”列表示关系三元组所包含的“关系”,而“数据属性”列表示属性三元组所包含的“关系”,具体可以参阅各个知识图谱的相关技术细节,在此不再赘述。需要说明的是,表2中所述自定义知识图谱仅仅是实际应用可能存在的一种知识图谱,并不因此而限定自定义知识图谱的具体构造。
[0037]
表2医疗领域的知识图谱一实施例的示意表
[0038]
[0039][0040]
在一个具体的实施场景中,如前所述,为了提高诊断推荐的全面性,医疗领域的知识图谱可以尽可能地多,在此情况下,可以将多个知识图谱视为预设图谱(如,前述aimind、omaha、中文症状库),在此基础上,可以对属于医疗领域的多个预设图谱进行对齐,得到医疗领域的知识图谱,以便于后续提取图谱语义表示。需要说明的是,知识图谱的对齐本质上是实体对齐,以使得多个预设图谱融合成为一个知识图谱。知识图谱对齐的具体过程,可以参阅下述相关公开实施例,在此暂不赘述。
[0041]
在另一个具体的实施场景中,多个预设图谱可以包括但不限于如表1所示的aimind、ohama、中文症状库等。此外,多个预设图谱可以为两个、三个、四个、五个等等,在此不做限定。
[0042]
在一个实施场景中,医疗领域的文档文本可以包括但不限于:医疗期刊(如,学术期刊)、医疗学报(如,大学学报)、医疗书籍(如,教科书)、医疗指南(如,诊断指南)等,在此不做限定。此外,文档文本的获取方式可以包括但不限于:线上获取、线下录入等,在此不做限定。
[0043]
步骤s12:提取病历文本的病历语义表示,并提取知识图谱的图谱语义表示,以及提取文档文本的文档语义表示。
[0044]
在一个实施场景中,为了提高诊断推荐的效率,可以预先训练一个诊断推荐模型,且诊断推荐模型可以包括病历语义提取网络,从而可以利用病历语义提取网络对病历文本进行语义提取,得到病历文本的病历语义表示。具体地,病历语义提取网络可以包括但不限于:bert(bidirectionalencoderrepresentations fromtransformers,即基于
transformer的双向encoder表示)等,在此不做限定。具体提取过程可以参阅下述相关公开实施例,在此暂不赘述。
[0045]
在一个实施场景中,为了提高诊断推荐的效率,可以预先训练一个诊断推荐模型,且诊断推荐模型可以包括图谱语义提取网络,从而可以利用图谱语义提取网络对知识图谱进行语义提取,得到知识图谱的图谱语义表示。具体地,图谱语义提取网络可以包括但不限于:gcn(graph neural networks,图神经网络)、gat(graph attention network)等,在此不做限定。具体提取过程可以参阅下述相关公开实施例,在此暂不赘述。
[0046]
在一个实施场景中,为了提高诊断推荐的效率,可以预先训练一个诊断推荐模型,且诊断推荐模型可以包括文档语义提取网络,从而可以利用文档语义提取网络对文档文本进行语义提取,得到文档文本的文档语义表示。具体地,文档语义提取网络可以包括但不限于:bert等,在此不做限定。具体提取过程可以参阅下述相关公开实施例,在此暂不赘述。
[0047]
需要说明的是,上述病历语义表示、图谱语义表示和文档语义表示可以视为特征向量,其分别包含病历特征信息(如,症状信息、体征信息等)、图谱特征信息(如,实体本身的信息、实体间关联信息等)和文档特征信息(如,某种疾病的表征信息、诱因信息等),且上述语义表示可以均采用向量(如,d维向量)形式予以表征。
[0048]
步骤s13:利用病历语义表示、图谱语义表示和文档语义表示进行预测,得到目标对象的诊断文本。
[0049]
在一个实施场景中,为了提高诊断推荐的效率,可以预先训练一个诊断推荐模型,且诊断推荐模型可以包括诊断文本预测网络,从而可以将上述病历语义表示、图谱语义表示和文档语义表示输入诊断文本预测网络,得到目标对象的诊断文本。具体地,诊断文本预测网络可以包括但不限于:卷积层、全连接层等,在此不做限定。
[0050]
在一个实施场景中,请结合参阅图2,图2是诊断推荐方法一实施例的过程示意图。如图2所示,在预先获取多个预设图谱的情况下,可以通过对齐得到医疗领域的知识图谱,并分别提取病历语义表示、图谱语义表示和文档语义表示,并结合三者预测得到目标对象的诊断文本。具体预测过程,可以参阅下述公开实施例,在此暂不赘述。
[0051]
上述方案,获取目标对象的病历文本,并获取医疗领域的知识图谱的文档文本,以及提取病历文本的病历语义表示、知识图谱的图谱语义表示和文档文本的文档语义表示,在此基础上,再利用病历语义表示、图谱语义表示和文档语义表示进行预测,得到目标对象的诊断文本,一方面通过进一步参考医疗领域的文档文本,从而结合病历文本、知识图谱和文档文本三者共同进行诊断推荐,能够大大扩展诊断推荐过程中的信息参考范围,有利于提升诊断推荐的全面性,另一方面通过提取深层语义表示,并基于语义表示进行诊断推荐,能够挖掘图谱以及文本蕴含的语义信息而非仅停留于表层结构化数据,有利于提高诊断推荐的鲁棒性和准确性,故此能够全面、准确且稳定地进行诊断推荐。
[0052]
请参阅图3,图3是本技术诊断推荐方法另一实施例的流程示意图。具体而言,可以包括如下步骤:
[0053]
步骤s31:获取目标对象的病历文本,并获取医疗领域的知识图谱和文档文本。
[0054]
在一个实施场景中,获取病历文本、知识图谱以及文档文本的具体过程,可以参阅前述公开实施例中相关描述,在此不再赘述。
[0055]
在一个实施场景中,为了尽可能地排除无关信息对诊断推荐的干扰,以进一步提
高诊断推荐的准确性,本公开实施例中所述文档文本与病历文本相关,且文档文本是从若干预设文档筛选得到的。需要说明的是,预设文档可以包括但不限于:医疗期刊(如,学术期刊)、医疗学报(如,大学学报)、医疗书籍(如,教科书)、医疗指南(如,诊断指南)等。例如,可以获取肝脏、手足、五官、皮肤等相关预设文档,在病历文本指向皮肤瘙痒的情况下,可以选择皮肤相关预设文档作为文档文本。其他情况可以以此类推,在此不再一一举例。上述方式,通过从若干预设文档中筛选得到与病历文本相关的文档文本,能够在扩展诊断推荐的参考范围的基础上,进一步排除无关信息的干扰,有利于尽可能地提高诊断推荐的准确性。
[0056]
在一个实施场景中,在从若干预设文档筛选文档文本的过程中,可以先对病历文本进行分词,得到若干病历词组,对于每一预设文档,可以获取预设文档分别与若干病历词组之间的相关子分值,并利用若干病历词组的重要程度分别对相关子分值进行加权,得到预设文档的相关总分值,在此基础上,再基于相关总分值,选择至少一个预设文档作为文档文本。例如,可以按照相关总分值由高到低的顺序将多个预设文档进行排序,并选择位于前n(如,1、2、3等)位的预设文档,作为文档文本。上述方式,通过对病历文本进行分词,得到若干病历词组,并对于每一预设文档,获取预设文档分别与若干病历词组之间的相关子分值,以及利用若干病历词组的重要程度分别对相关子分值进行加权处理,得到预设文档的相关总分值,在此基础上再基于相关总分值,选择至少一个预设文档作为文档文本,故在筛选过程中,能够考虑预设文档与各个病历词组之间的相关性,有利于提高文本筛选的精细化程度,从而能够尽可能筛选与病历文本密切相关的预设文档作为文档文本,进而能够有利于提高后续诊断推荐的准确性。
[0057]
在一个具体的实施场景中,可以利用诸如结巴分词等分词工具去除病历文本中诸如特殊符号等与病历语义无关字符,得到若干病历词组。
[0058]
在另一个具体的实施场景中,相关子分值与病历词组在预设文档、病历文本中出现频率正相关,即若病历词组在预设文档、病历文本中的出现频率越高,预设文档与该病历词组之间的相关子分值越高,反之,若病历词组在预设文档、病历文本中的出现频率越低。预设文档与该病历词组之间的相关子分值越低。
[0059]
在又一个具体的实施场景中,病历词组的重要程度与包含该病历词组的预设文档的数量负相关。即若包含病历词组的预设文档的数量越少,则该病历词组可以视为较为普遍的词组,该病历词组的重要程度越高,反之,若包含病历词组的预设文档的数量越多,该病历词组的重要程度越低。
[0060]
在一个具体的实施场景中,为了便于描述,可以将第i个病历词组记为q
i
,病历文本可以记为q,预设文档d的相关总分值score(q,d)可以表示为:
[0061][0062]
上述公式(1)中,r(q
i
,d)表示预设文档d与病历词组q
i
中间的相关子分值,w
i
表示第i个病历词组q
i
的重要程度。如前所述,病历词组的重要程度与包含该病历词组的预设文档的数量负相关,第i个病历词组q
i
的重要程度w
i
可以表示为:
[0063][0064]
上述公式(2)中,n表示预设文档的总数量,n(q
i
)表示包含病历词组q
i
的预设文档
数量。如公式(2)所示,若n(q
i
)越大,则表明病历词组q
i
在预设文档中越普遍,重要程度w
i
越小;反之,若n(q
i
)越小,则表明病历词组q
i
在预设文档中越稀少,重要程度w
i
越大。
[0065]
此外,如前所述,相关子分值与病历词组在预设文档、病历文本中出现频率正相关,相关子分值r(q
i
,d)可以表示为:
[0066][0067]
上述公式(3)中,k1,k2均为调节因子,具体数值可以视情况调整,在此不做限定。f
i
表示病历词组q
i
在预设文档d中的出现频率,qf表示病历词组q
i
在病历文本q中的出现频率。此外,k也可以视为一调节因子,具体可以表示为:
[0068][0069]
上述公式(4)中,dl表示预设文档d的长度,avgdl表示多个预设文档的平均长度,b表示一个常数,具体数值在此不做限定。
[0070]
步骤s32:提取病历文本的病历语义表示,并提取知识图谱的图谱语义表示,以及提取文档文本的文档语义表示。
[0071]
在一个实施场景中,请结合参阅图4,图4是本技术诊断推荐方法另一实施例的过程示意图。如图4所示,为了提高诊断推荐的效率,可以预先训练一个诊断推荐模型,且该诊断推荐模型可以包括病历语义提取网络、图谱语义提取网络和文档语义提取网络,从而可以利用病历语义提取网络提取病历文本的病历语义表示,并利用图谱语义提取网络提取知识图谱的图谱语义表示,以及利用文档语义提取网络提取文档文本的文档语义表示。
[0072]
在一个实施场景中,为了进一步提高图谱语义表示的准确性,可以利用多个图谱语义提取网络分别对知识图谱进行语义提取,得到多个初始图谱表示,在此基础上,再将多个初始图谱表示进行融合,得到图谱语义表示。上述方式,图谱语义表示是基于知识图谱的多个初始图谱表示融合得到的,且多个初始图谱表示是利用多个图谱语义提取网络分别提取得到的,能够有利于提升图谱语义表示的精准性。
[0073]
在一个具体的实施场景中,如前所述,知识图谱包含实体节点以及连接实体节点的关系,利用多个图谱语义提取网络分别对知识图谱进行语义提取,可以得到每一节点实体的多个初始节点表示和每一关系的多个初始关系表示,再对于每一节点实体,将多个初始节点表示进行融合(如,加权)得到该节点实体的最终节点表示,并对于每一关系,将多个初始关系表示进行融合(如,加权)得到该关系的最终关系表示。需要说明的是,实体节点和关系的语义表示均可以表达为稠密低维的向量。
[0074]
在另一个具体的实施场景中,可以利用transe(translating embedding)获取知识图谱中实体节点的第一初始节点表示和关系的第一初始关系表示,并将各个实体节点的第一初始节点表示和各个关系的第一初始关系表示输入gcn、gat进行处理,经gcn处理可以得到各个实体节点的第二初始节点表示和各个关系的第二初始关系表示,并经gat处理可以得到各个节点的第三初始节点表示个各个关系的第三初始关系表示。在此基础上,对于每一实体节点,可以将第一初始节点表示、第二初始节点表示和第三初始节点表示进行融合(如,加权),得到该实体节点的最终节点表示,以及对于每一关系,可以将第一初始关系
表示、第二初始关系表示和第三初始关系表示进行融合(如,加权),得到该关系的最终关系表示。
[0075]
具体地,如前所述,知识图谱通常是三元组的集合,三元组可以表示为(h,r,t),其中,h表示头实体、t表示尾实体,r表示关系。transe的基本思想是对于尾实体,其向量表示约等于头实体的向量表示加上关系的向量表示,通过不断调整h、r、t,使得h r尽可能等于t。在训练过程中,可以使用等级损失函数,即让正确项的得分比不正确项的要高。需要说明的是,transe采取的生成负例三元组的方法是,将正确的三元组(即正确项)的头实体、关系和尾实体三者之一随机替换成其他实体或关系,构成负例(即不正确项)。利用transe获取第一初始节点表示和第一初始关系表示的过程,可以参阅transe的相关技术细节,在此不再赘述。
[0076]
此外,gcn的思想可以简单概括为,知识图谱中每个实体节点无时无刻不受邻居节点和更远的实体节点的影响而改变其自身状态直至平衡。关系越亲近的邻居节点影响越大,而关系越远的实体节点影响越小。gcn利用度矩阵d(该矩阵只有对角线上有值,为对应节点的度),邻居矩阵a(只有在边连接的两个实体节点之间为1,其他为0),通过聚合邻居节点和实体节点本身的信息来更新实体节点的编码表示。为了便于描述,可以将gcn中第l层的处理表示为:
[0077][0078]
上述公式(5)中,表示邻居矩阵a与单位矩阵之和,表示的度矩阵,h
(l)
表示第l层的输入特征,σ表示非线性激活函数,w
(l)
表示第l层的网络参数。请结合参阅图5,图5是gcn一实施例的示意图。如图5所示,经过若干层处理之后,每个实体节点的特征由x变为z,但是实体节点之间的关系是不变的,即在gcn处理过程中邻居矩阵a是共享的。最终经gcn最后一层处理之后,即能够得到每一实体节点的第二初始节点表示和每一关系的第二初始关系表示。gcn的具体处理过程,可以参阅gcn的相关技术细节,在此不再赘述。
[0079]
此外,gat可以利用注意力记住对临近节点特征进行加权求和。临近节点特征的权重完全取决于中心节点特征,而独立于图结构。需要说明的是,gat和gcn的核心区别在于如何收集并聚合距离为l的邻居节点的特征表示。gat采用注意力机制代替了gcn中固定的标准化操作。请结合参阅图6,图6是gat一实施例的示意图,如图6所示,为了便于描述实体节点i与实体节点j之间注意力分值可以表示为:
[0080][0081]
上述公式(6)中,||表示拼接操作,w表示线性变换矩阵,h
i
,h
j
分别表示实体节点i和实体节点j的特征表示。此外,a为一个向量表示,leakyrelu表示激活函数。n
i
表示实体节点i临近节点的集合。实体节点的最终特征可以表示为:
[0082][0083]
请结合参阅图7,图7是gat另一实施例的示意图。如图7所示,为了进一步提升gat
对于特征表达的准确性,还可以采用多头注意力机制,指向图中中间节点的三种不同灰度的线条表示三个独立的注意力,通过连接或平均每个注意力获取最终特征。基于多头注意力的gat具体可以参阅gat相关技术细节,在此不再赘述。需要说明的是,在gat中,实体节点和邻居节点的计算是可以并行化的,故运算效率较高,且可以处理不同距离的邻居节点,并为其分配相应的权重。此外,gat还很容易应用于归纳学习(即inductive learning)。最终经gat处理之后,即可以得到每一实体节点的第三初始节点表示和每一关系的第三初始关系表示。
[0084]
在一个实施场景中,如前所述,知识图谱是由三元组构成的,且三元组包括关系三元组和属性三元组,属性三元组其尾实体为字面值,由于字面值是稀疏的离散值,其作为节点而存在会给知识表示引入大量的噪声,故可以在提取图谱语义表示之前,删除知识图谱中的字面值,能够大大降低噪声,提高知识表示的准确性。
[0085]
在一个实施场景中,请结合参阅图4,病历文本可以包含若干子文本(如,主诉、生命体征、专科检查、现病史等),在此情况下,病历语义表示可以包括各个子文本的文本语义表示。具体地,可以将病历文本中各个子文本采用分隔符(如,[sep])拼接起来,并输入至病历语义提取网络,得到各个子文本的文本语义表示。为了便于描述,可以将第m个子文本的文本语义表示记为
[0086]
在一个实施场景中,请继续结合参阅图4,对于n个文档文本而言,可以将每个文档文本以开始符(如,[cls])起始,并输入至文档语义提取网络,并取开始符(如,[cls])的语义表示,作为文档文本的文档语义表示。为了便于描述,可以将第n个文档文本的文档语义表示记为
[0087]
需要说明的是,尽管病历语义提取网络和文档语义提取网络可以采用相同网络模型(如,bert),但是两者并不共享网络参数,即两者的网络参数不同。
[0088]
步骤s33:基于图谱语义表示,分别获取若干子图谱的子图语义表示。
[0089]
本公开实施例中,若干子图谱是从知识图谱中提取的,且均与病历文本相关。具体地,请结合参阅图4,可以抽取病历文本的若干病历实体,并选择存在于知识图谱的病历实体作为候选实体,以及对于每一候选实体,基于候选实体在知识图谱中的邻居节点,得到与候选实体对应的子图谱。需要说明的是,候选实体在知识图谱中的邻居节点可以包括但不限于:候选实体的一跳邻居、候选实体的多跳邻居等,在此不做限定。候选实体的一跳邻居指的是直接与候选实体相连的邻居节点,而候选实体的多跳邻居指的是与候选实体间隔若干实体节点的邻居节点。上述方式,通过抽取病历文本的若干病历实体,并选择存在于知识图谱的病历实体作为候选实体,从而对于每一候选实体,基于其在知识图谱中的邻居节点,得到与候选实体对应的子图谱,能够全面筛查与病历文本相关的子图谱,有利于提高后续诊断推荐的全面性。
[0090]
在一个实施场景中,为了加快病历实体在知识图谱中的匹配速度,以快速确定病历实体是否存在于知识图谱中,可以采用ac自动机进行多模态字符串匹配。ac自动机算法是寻找模式串的内部规律,从而达到每次失配时的高效跳转,其核心是寻找模式串之间的相同前缀关系。ac自动机的构造分为三个步骤:构建前缀树、添加失配指针、模式匹配。其中,前缀树是前缀相同的模式字符串有同一个父节点,失配指针是准许查找字符串失败的
时候回退到有最长相同前缀的模式字符串,从而转向其他前缀分支,避免重复匹配前缀,能够提高匹配效率。具体匹配过程,可以参阅ac自动机相关技术细节,在此不再赘述。
[0091]
在一个实施场景中,在确定候选实体之后,即可在知识图谱中提取该候选实体及其邻居节点(如,一跳邻居、两跳邻居等)构成子图谱。
[0092]
步骤s34:利用病历语义表示、若干子图谱的子图语义表示和文档语义表示进行预测,得到诊断文本。
[0093]
具体地,如前所述,病历文本可以包括若干子文本(如,主诉、生命体征、专科检查、现病史),病历语义表示包括各个子文本的文本语义表示。在此基础上,请结合参阅图4,对于每一子文本,可以基于各个文档语义表示与文本语义表示的相关程度,将各个文档语义表示与文本语义表示融合,得到融合文本表示,在此基础上,再基于各个融合文本表示和各个子图语义表示进行语义融合,得到以文本主导融合的第一语义表示和以图谱主导融合的第二语义表示,并基于第一语义表示和第二语义表示进行预测,得到诊断文本。上述方式,对于每一子文本基于其文本语义表示分别与各个文档语义表示的相关程度,将各个文档语义表示与文本语义表示融合,得到融合文本表示,在此基础上,再基于各个融合文本表示和各个子图语义表示进行语义融合,得到以文本主导融合的第一语义表示和以子图主导融合的第二语义表示,从而能够从文档文本以及知识图谱两个不同参考层面分别与病历文本交互,在此基础上,再基于第一语义表示和第二语义表示预测得到诊断文本,能够从文档文本和知识图谱两个不同参考层面进行诊断预测,有利于大大提升诊断推荐的鲁棒性和准确性。
[0094]
在一个实施场景中,请结合参阅图4,可以基于注意力机制利用文本语义表示分别对各个文档语义表示进行更新,更新后的文档语义表示中不仅包含其本身的文档信息还包含文本信息(即病历信息),在此基础上,可以基于更新后的文档语义表示获取各个文档语义表示与文本语义表示之间的相关程度,并利用相关程度对更新后的文档语义表示进行加权处理,得到子文本的融合文本表示,故子文本的融合文本表示能够在包含其本身文本信息(即病历信息)的基础上,再根据子文本与各个文档文本之间的相关程度来不同程度地参考各个文档文本,有利于提高文档语义表示的丰富度和准确度。具体地,上述注意力机制可以为协同注意力机制(co

attention),为了便于描述,可以将n个文档文本中第j个文档文本的文档语义表示记为并将第m个子文本的文本语义表示记为则基于协同注意力机制,第j个文档文本更新后的文档语义表示u
j
可以表示为:
[0095][0096]
上述公式(8)中,w
(1)
、b
(1)
均是注意力机制的网络参数,在注意力机制的训练过程中可以优化调整。在此基础上,可以对上述n个更新后的文档语义表示进行归一化处理,得到各个文档语义表示与文本语义表示之间的相关程度,为了便于描述,第j个文档语义表示与文本语义表示之间的相关程度α
j
可以表示为:
[0097]
[0098]
上述公式(9)中,v
(1)
表示注意力机制的网络参数,在注意力机制的训练过程中可以优化调整。在此基础上,可以利用相关程度对更新后的文档语义表示进行加权处理,得到第m个子文本的融合文本表示h
m

[0099]
h
m
=∑
j
α
j
u
j
……
(10)
[0100]
此外,在上述融合过程中,还可以进一步引入记忆力机制(即memory reading),引入记忆力机制能够通过若干轮迭代完成融合,且每一轮迭代均可参考上一次迭代的融合结果,具体可以参阅记忆力机制的相关技术细节,在此不再赘述。
[0101]
在一个实施场景中,请继续结合参阅图4,在以文本主导融合的情况下,可以融合各个子文本的融合文本表示,得到最终文本表示,并获取各个子图语义表示分别与最终文本表示的第一融合表示,并基于各个第一融合表示,确定各个子图语义表示分别对最终文本表示的第一重要程度,在此基础上,再利用各个子图语义表示对应的第一重要程度对各个第一融合表示进行加权,得到第一语义表示。需要说明的是,与上述融合文本表示类似地,也可以通过协同注意力机制获取第一融合表示和第一重要程度。上述方式,通过融合各个子文本的融合文本表示得到最终文本表示,并获取各个子图语义表示分别与最终文本表示的第一融合表示,以及基于各个第一融合表示,确定各个子图语义表示分别对最终文本表示的第一重要程度,在此基础上,再利用各个子图语义表示对应的第一重要程度对各个第一融合表示进行加权,得到第一语义表示,能够以文本信息为主导融合文本与图谱,使得第一语义表示能在包含与病历相关的文本知识与图谱知识的前提下,着重体现文本相关知识。
[0102]
在一个具体的实施场景中,可以对各个子文本的融合文本表示进行池化(如,平均池化、最大池化)处理得到最终文本表示。
[0103]
在另一个具体的实施场景中,为了便于描述,可以将最终文本表示记为h
m
,第i个子图语义表示可以记为k
i
,则可以基于协同注意力机制,获取第i个子图语义表示k
i
与最终文本表示h
m
的第一融合表示w
i

[0104][0105]
上述公式(11)中,w
(2)
、b
(2)
均表示注意力机制的网络参数,在注意力机制的训练过程中可以优化调整。在此基础上,可以对所有子图谱的第一融合表示进行归一化处理,得到各个子图语义表示分别对最终文本表示的第一重要程度,为了便于描述,第i个子图语义表示对最终文本表示的第一重要程度α
i
可以表示为:
[0106][0107]
上述公式(12)中,v
(2)
表示注意力机制的网络参数,在注意力机制的训练过程中可以优化调整。在此基础上,可以利用第一重要程度对各个第一融合表示进行加权,得到第一语义表示h
tk

[0108]
h
tk
=∑
i
α
i
w
i
……
(13)
[0109]
在一个实施场景中,请继续结合参阅图4,在以图谱主导融合的情况下,可以融合各个子图谱的子图语义表示,得到最终图谱表示,并获取各个融合文本表示分别与最终图
谱表示的第二融合表示,以及基于各个第二融合表示,确定各个融合文本表示分别对最终图谱表示的第二重要程度,在此基础上,再利用各个融合文本表示对应的第二重要程度对各个第二融合表示进行加权,得到第二语义表示。需要说明的是,与上述融合文本表示类似地,也可以通过协同注意力机制获取第二融合表示和第二重要程度。上述方式,通过融合各个子图谱的子图语义表示得到最终图谱表示,并获取各个融合文本表示分别与最终图谱表示的第二融合表示,以及基于各个第二融合表示,确定各个融合文本表示分别对最终图谱表示的第二重要程度,在此基础上,再利用各个融合文本表示对应的第二重要程度对各个第二融合表示进行加权,得到第二语义表示,能够以图谱信息为主导融合文本与图谱,使得第二语义表示能在包含与病历相关的文本知识与图谱知识的前提下,着重体现图谱相关知识。
[0110]
在一个具体的实施场景中,可以对各个子图谱的子图语义表示进行池化(如,平均池化、最大池化)处理得到最终图谱表示。
[0111]
在另一个具体的实施场景中,为了进一步提高融合文本表示的准确性,还可以基于自注意力机制(即self

attention)分别对各个融合文本表示进行处理,以突显各个融合文本表示中较为重要的表示元素,相关自注意力机制的具体处理过程,可以参阅自注意力机制的相关技术细节,在此不再赘述。为了便于描述,可以将自注意力机制处理之后的第k个融合文本表示记为最终图谱表示记为k,则可以基于协同注意力机制获取第k个融合文本表示与最终图谱表示的第二融合表示z
k

[0112][0113]
上述公式(14)中,w
(3)
、b
(3)
表示注意力机制的网络参数,在注意力机制的训练过程中可以优化调整。在此基础上,可以对所有第二融合表示进行归一化处理,得到各个融合文本表示分别对最终图谱表示的第二重要程度,为了便于描述,第k个融合文本表示对最终图谱表示的第二重要程度α
k
可以表示为:
[0114][0115]
上述公式(15)中,v
(3)
表示注意力机制的网络参数,在注意力机制的训练过程中可以优化调整。在此基础上,可以利用第二重要程度对各个第二融合表示进行加权,得到第二语义表示h
kt

[0116]
h
kt
=∑
k
α
k
z
k
……
(16)
[0117]
在一个实施场景中,请继续结合参阅图4,在得到第一语义表示和第二语义表示之后,输入至多层感知机(multi

layer perceptron,mlp)进行处理,最终可以得到病历文本的诊断文本。故此,在诊断推荐模型中,并不是简单地依靠医疗领域的知识图谱来对病历文本进行诊断推荐,还利用了可靠的文档文本作为补充,提供知识的语义信息,更有说服力地得到诊断文本,同时也省去医生查阅相关医疗书籍来分析病历的时间。
[0118]
上述方案,基于图谱语义表示,分别获取若干子图谱的子图语义表示,而若干子图谱均与病历文本相关且均是从知识图谱中提取的,在此基础上,再利用病历语义表示、若干
子图谱的子图语义表示和文档语义表示进行预测,得到诊断文本,能够大大减少知识图谱中与病历文本无关知识对诊断推荐的干扰,有利于进一步提升诊断推荐的准确性和鲁棒性。
[0119]
在一些公开实施例中,如前所述知识图谱是对属于医疗领域的多个预设图谱进行对齐得到的,而预设图谱的对齐具体可以是基于预设规则、神经网络中至少一者来是实现的。例如,可以基于预设规则来对齐多个预设图谱;或者,也可以基于神经网络来对齐多个预设图谱;或者,还可以结合预设规则和神经网络两者共同来对齐多个预设图谱,在此不做限定。上述方式,通过基于预设规则、神经网络中至少一者来实现预设图谱的对齐,能够有利于提高图谱对齐的准确性。
[0120]
在一些公开实施例中,请结合参阅图8,图8是预设图谱对齐一实施例的流程示意图。具体地,本公开实施例中,基于预设规则对齐多个预设图谱,具体可以包括如下步骤:
[0121]
步骤s81:选择一个预设图谱作为锚定图谱,并将未选择的预设图谱作为待对齐图谱,以及分别提取锚定图谱中的第一三元组和待对齐图谱中的第二三元组。
[0122]
本公开实施例中,第一三元组包括两个第一实体以及连接第一实体的第一关系,两个第一实体包括第一头实体和第一尾实体,且第二三元组包括两个第二实体以及连接第二实体的第二关系,两个第二实体包括第二头实体和第二尾实体。三元组的具体含义可以参阅前述公开实施例中相关描述,在此不再赘述。此外,以预设图谱包含aimind、omaha、中文症状库为例,可以选择aimind作为锚定图谱,并分别选择omaha、中文症状库作为待对齐图谱。
[0123]
在一个实施场景中,对于多个预设图谱,可以梳理三元组中实体的名字、别名、同义词等,以构建实体同义词列表,以便后续在计算相似度以及利用神经网络对齐之用,在此暂不赘述。需要说明的是,别名表示实体在医疗领域中约定俗成的别称,例如,“诺氟沙星”的别名为“氟哌酸”,“多潘立酮”的别名为“吗丁啉”等;而同义词与实体表征同一含义且字面表示不同,例如,“眩晕”的同义词有“头晕”、“目眩”等,上述举例仅仅是实际应用过程中可能存在的同义词情况,并不因此而限制预设图谱中实际存在的同义词。
[0124]
在一个实施场景中,请结合参阅图9,图9是预设图谱对齐一实施例的过程示意图。如图9所示,为了便于后续相似度计算,对于每一预设图谱,还可以对预设图谱中各个实体进行概念映射,即确定各个实体的概念。需要说明的是,概念表示实体的类别。例如,在中文症状库中,实体“应变性鼻炎”的概念为“疾病”,实体“白色大便”的概念为“症状”,其他情况可以以此类推,在此不再一一举例。需要说明的是,在实体对齐过程中,相同概念的实体对齐的可能性较大,相似概念的实体对齐的可能性次之,而不相干概念的实体一般不可能对齐。在此基础上,由于不同预设图谱中实体对应的概念也不尽相同,例如,omaha中包含“临床所见”等概念,而中文症状库中并不包含“临床所见”,其包含“症状”、“中医症状”、“西医症状”等,与“临床所见”为相同含义,故有必要对不同预设图谱进行概念对齐。具体地,可以对多个预设图谱的概念进行聚类。此外,考虑到存在诸如“疾病”类概念与“临床”类概念容易混淆的情况,故可以给预设图谱不同概念类间规定对齐权重。例如,对于容易混淆的概念设置较高的对齐权重,只有当聚类分值高于对应的对齐权重时,才将其对齐,其他情况可以以此类推,在此不再一一举例。以多个预设图谱包含aimind、omaha、中文症状库为例,请参阅表3,表3是预设图谱概念对齐一实施例的示意表。如表3所示,aimind中概念“体征”、“症
状”,omaha中概念“临床所见”以及中文症状库中概念“症状”、“中医症状”“西医症状”,可以对齐至同一聚类“临床类”,其他概念的对齐结果可以参阅表3。需要说明的是,不属于表3中三类概念的其他概念,可以将其归类为其他类概念。
[0125]
表3预设图谱概念对齐一实施例的示意图表
[0126][0127]
在一个实施场景中,请继续结合参阅图9,如图9所示,在概念对齐之后,可以进一步进行属性对齐。需要说明的是,属性表征实体之间的关系。具体地,可以按照预设图谱中概念对之间的属性按照出现频率,从高到低进行排序,在此基础上,可以对各个属性进行对齐操作。请参阅表4,表4是预设图谱属性对齐一实施例的示意表。如表4所示,aimind中属性“疾病发病病因”可以与omaha中属性“致病原因”、“危险因素”、“与
……
鉴别诊断”以及中文症状库中属性“疾病相关疾病”、“疾病相关症状”对齐,其他属性可以参阅表4,在此不在一一举例。需要说明的是,aimind中头实体值包含疾病类的实体,临床类和操作类的实体只作为尾实体出现,换言之,在aimind中,只有疾病类实体具有知识,而在omaha中,临床类的实体也可以作为头实体出现,具有知识。
[0128]
表4预设图谱属性对齐一实施例的示意表
[0129][0130]
在一个实施场景中,仍以预设图谱包含aimind、omaha和中文症状库为例,请结合参阅表5,表5是预设图谱三元组提取一实施例的示意表。如表5所示,经上述处理,aimind可以提取到4.7k个实体、1.5w个三元组、11种关系以及11种概念,而omaha可以提取到17.6w个实体、53.2w个三元组、109种关系以及40种概念,中文症状库可以提取到5.3w个实体、101w个三元组、18种关系以及10种概念,由此可见,通过对齐多种预设图谱,可以大大扩展知识图谱的知识范围,有利于提升诊断推荐的准确性和鲁棒性。
[0131]
表5预设图谱三元组提取一实施例的示意表
[0132][0133][0134]
步骤s82:对于每一第二头实体,基于各个第一头实体分别与第二头实体的第一相似度以及各个第一头实体对应的第一尾实体分别与第二头实体对应的第二尾实体的第二相似度,确定第二头实体的第一对齐结果,并采用与第一对齐结果匹配的融合策略将第二头实体及其对应的第二尾实体和第二关系融合至锚定图谱。
[0135]
在一个实施场景中,可以基于静态词向量、编辑距离和最长公共子串计算各个第一头实体分别与第二头实体的第一相似度。例如,可以基于第一头实体与第二头实体两者的静态词向量计算得到第一初始相似度,并基于第一头实体和第二头实体两者的编辑距离计算得到第二初始相似度,以及基于第一头实体和第二头实体两者的最长公共子串计算得到第三初始相似度,最终可以将上述第一初始相似度、第二初始相似度和第三初始相似度
进行加权处理,得到第一头实体和第二头实体的第一相似度。需要说明的是,静态词向量可以基于word2vec等词向量工具得到,具体可以通过计算静态词向量之间的余弦相似度、内积等方式,得到第一初始相似度。此外,第二初始相似度、第三初始相似度的计算方式,可以参阅编辑距离、最长公共子串的技术细节,在此不再赘述。
[0136]
在一个实施场景中,可以基于各个第一头实体分别与第二头实体的第一相似度,选择至少一个第一头实体作为粗选头实体。例如,可以按照第一相似度由高到低的顺序,将各个第一头实体进行排序,并选择位于前预设序位(如,前5位等)的第一头实体,作为第二头实体的粗选头实体。在选择得到至少一个粗选头实体之后,对于每一粗选头实体,可以响应于粗选头实体对应的第一尾实体和第二头实体对应的第二尾实体两者之间满足预设条件,将两者作为尾实体对,并基于各个尾实体对的对内相似度,得到粗选头实体对应的第二相似度。在此基础上,再基于粗选头实体的第一相似度和第二相似度,确定第二头实体的第一对齐结果,且第一对齐结果包括粗选头实体中是否存在第二头实体的对齐头实体。上述方式,通过基于第一相似度选择至少一个粗选头实体,有利于排除其他无关的第一头实体对第二头实体对齐的干扰,从而提高对齐效率,并基于粗选头实体对应的第一尾实体和第二头实体对应的第二尾实体之间满足预设条件,将两者作为尾实体对,从而基于各个尾实体对的对内相似度,得到粗选头实体对应的第二相似度,在此基础上,再结合第一相似度和第二相似度两个维度,来确定第二头实体的第一对齐结果,从而提高对齐精度,故此能够提高对齐效率和精度。
[0137]
在一个具体的实施场景中,预设条件可以包括以下至少一者:粗选头实体对应的第一关系和第二头实体对应的第二关系对齐,粗选头实体对应的第一尾实体和第二头实体对应的第二尾实体对齐。需要说明的是,此处粗选头实体对应的第一尾实体和第二头实体对应的第二尾实体对齐,确切指的是概念对齐,即粗选头实体对应的第一尾实体所属概念与第二头实体对应的第二尾实体所属概念对齐。此外,关于关系(即属性)是否对齐以及概念对齐的具体含义,可以参阅前述相关描述,在此不再赘述。上述方式,将预设条件设置为包括以下至少一者:粗选头实体对应的第一关系和第二头实体对应的第二关系对齐,粗选头实体对应的第一尾实体和第二头实体对应的第二尾实体对齐,能够有利于在多维度考量第一尾实体和第二尾实体是否能够组成尾实体对,从而能够有利于提高尾实体相似度的准确性。
[0138]
在一个具体的实施场景中,第二相似度是利用各个尾实体对的加权因子对对内相似度进行加权得到的,且第二头实体对应的第二关系在待对齐图谱中的出现概率与加权因子正相关,即第二头实体对应的第二关系在待对齐图谱中的出现概率越大,加权因子越大,反之,第二头实体对应的第二关系在待对齐图谱中的出现概率越低,加权因子越小。请结合参阅图10,图10是预设图谱对齐另一实施例的过程示意图。如图10所示,锚定图谱中粗选头实体h1通过关系r1连接有第一尾实体t1和第一尾实体t2,通过关系r3连接有第一尾实体t3和第一尾实体t4,而待对齐图谱中第二头实体h1通过关系连接有第二尾实体t1和第二尾实体t2,通过关系r3连接有第二尾实体t3和第二尾实体t4,且两个图谱中第一尾实体t1和第二尾实体t1满足预设条件,可组成尾实体对,第一尾实体t2和第二尾实体t2满足预设条件,也可组成尾实体对,第一尾实体t3和第二尾实体t3满足预设条件,也可组成尾实体对,第一尾实体t4和第二尾实体t4满足预设条件,也可组成尾实体对。在此基础上,可以分别计算上
述4个尾实体对的对内相似度,具体计算方式可以参阅第一相似度,在此不再赘述。进一步地,可以基于第二关系r1在待对齐图谱中的出现概率,确定第一尾实体t1和第二尾实体t1所组成的尾实体对,以及第一尾实体t2和第二尾实体t2所组成的尾实体对两者的加权因子,并基于第二关系r3在待对齐图谱中的出现概率,确定第一尾实体t3和第二尾实体t3所组成的尾实体对,以及第一尾实体t4和第二尾实体t4所组成的尾实体对两者的加权因子。其他情况可以以此类推,在此不再一一举例。上述方式,第二相似度是利用各个尾实体对的加权因子对对内相似度进行加权得到的,且第二头实体对应的第二关系在待对齐图谱中的出现频率与加权因子正相关,能够基于出现频率对不同尾实体对的对内相似度予以不同侧重,有利于提高尾实体相似度的准确性。
[0139]
在一个具体的实施场景中,在计算得到各个粗选头实体对应的第一相似度和第二相似度的基础上,可以将两者融合,得到各个粗选头实体的最终相似度。例如,对于每一粗选头实体,可以计算其对应的第一相似度和第二相似度的平均值,作为其最终相似度;或者,对于每一粗选头实体,也可以将其对应的第一相似度和第二相似度进行加权处理,得到其最终相似度,在此不做限定。在此基础上,可以选择其中最终相似度最高且高于预设阈值的粗选头实体,得到第一对齐结果。
[0140]
在一个具体的实施场景中,以aimind和omaha实体对齐为例,请参阅表6,表6是aimind和omaha实体对齐分布一实施例的示意表,表6描述的是aimind和omaha两者之间疾病类实体的对齐分布,其他情况可以以此类推,在此不再一一举例。
[0141]
表6 aimind和omaha实体对齐分布一实施例的示意表
[0142]
对齐的omaha疾病个数0123aimind疾病数(共7664)17484865793258
[0143]
在一个具体的实施场景中,请结合参阅图9,如前所述,第一对齐结果可以包括粗选头实体中是否存在与第二头实体的对齐头实体。在第一对齐结果包括不存在对齐头实体的情况下,可以认为锚定图谱中不存在能够与第二头实体对齐的第一头实体,即对于锚定图谱而言,该第二头实体是一个全新实体,故可以将第二头实体作为的第一头实体添加至锚定图谱;在第一对齐结果包括存在对齐头实体的情况下,可以认为锚定图谱中存在能够与第二头实体对齐的第一头实体,即对于锚定图谱而言,该第二头实体并非全新实体,则可以进一步检验第二头实体对应的第二关系和第二尾实体是否能够和锚定图谱中对齐头实体对应的第一关系和第一尾实体分别对齐,如若不能,则可以将不与该对齐头实体对齐的第二关系和第二尾实体分别作为该对齐头实体新的第一关系和新的第一尾实体,并添加至锚定图谱,而对于能够与对齐头实体对应的第二关系,一方面可以将能够对齐的第二关系合并至锚定图谱,另一方面可以检验该第二关系对应的尾实体对,若尾实体对的对内相似度高于预设阈值,则可以将尾实体对合并(如,合并为两者同义词),若尾实体对的对内相似度不高于预设阈值,则可以将尾实体对中的第二尾实体,作为对齐头实体新的第二尾实体,并添加至锚定图谱。上述方式,通过基于不同第一对齐结果来执行不同的对齐策略,有助于提高图谱对齐的准确性。
[0144]
上述方案,通过选择一个预设图谱作为锚定图谱,并将未选择的预设图谱作为待对齐图谱,以及分别提取锚定图谱中第一三元组和待对齐图谱中第二三元组,在此基础上,对于每一第二头实体,基于各个第一头实体分别与第二头实体的第一相似度以及各个第一
头实体对应的第一尾实体分别与第二头实体对应的第二尾实体的第二相似度,确定第二头实体的第一对齐结果,并采用与第一对齐结果匹配的融合策略将第二头实体及其对应的第二尾实体和第二关系融合至锚定图谱,能够共同参考头实体相似度和尾实体相似度两种维度,实现待对齐图谱中每一第二头实体及其第二尾实体和关系的逐一融合对齐,有利于提高图谱对齐的准确性。
[0145]
在一些公开实施例中,如前所述,多个预设图谱也可以基于神经网络来实现对齐,请结合参阅图11,图11是预设图谱对齐另一实施例的流程示意图,具体而言,可以包括如下步骤:
[0146]
步骤s111:选择一个预设图谱作为锚定图谱,并将未选择的预设图谱作为待对齐图谱。
[0147]
具体可以参阅前述公开实施例,在此不再赘述。
[0148]
步骤s112:对于每一神经网络,利用神经网络对齐锚定图谱和待对齐图谱,得到锚定图谱中各个第一实体的第二对齐结果。
[0149]
在一个实施场景中,对于每一个第一实体而言,其第二对齐结果可以包括待对齐图谱中各个第二实体分别与第一实体之间的距离,距离越近表示越有可能对齐,反之,距离越远,表示越没可能对齐。
[0150]
在一个实施场景中,对齐锚定图谱和待对齐图谱时,可以采用包括但不限于如下神经网络:gcn

align、rdgcn、alinet等等,在此不做限定。
[0151]
在一个具体的实施场景中,以gcn

align为例,在gcn

align的训练过程中,对于给定的样本锚定图谱kg1和样本待对齐图谱kg2以及两者之间的已对齐实体集合s(即前述公开实施例所述同义词列表),分别利用gcn将两者中的实体嵌入映射到同一向量空间,使得已对齐实体集合s中各对已对齐实体的嵌入表示尽可能接近,当已对齐实体的嵌入表示之间的距离满足预设条件(如,低于预设阈值)的情况下,可以认为模型训练收敛。在此基础上,再利用gcn映射锚定图谱(如,aimind)和待对齐图谱(如,omaha)中实体,得到各个实体的嵌入表示,并对于每一第一实体而言,可以利用诸如l1距离等方式计算第一实体的嵌入表示分别和各个第二实体的嵌入表示之间的距离。具体过程可以参阅gcn

align相关技术细节,在此不再赘述。
[0152]
在一个具体的实施场景中,以rdgcn为例,其主要流程包括:首先构建预设图谱的对偶关系图,其顶点表示原始的预设图谱中的关系,边表示原始的预设图谱中的节点,然后利用图注意力机制得到原始的预设图谱和对偶关系图之间的交互,接着原始的预设图谱和对偶关系图经过多轮交互之后,可以得到原始的预设图谱的顶点表示,将该表示输入带有highway gate的gcn层之后,可以捕获相邻的结构信息,最后可以得到两个预设图谱(即锚定图谱和待对齐图谱)中每一实体在同一向量空间的嵌入表示之后,可以通过该嵌入表示获取每一第一实体分别与各个第二实体之间的距离。需要说明的是,与gcn

align类似地,在rdgcn的训练过程中,也采用已对齐实体集合s监督其训练,具体过程可以参阅gcn

align相关技术细节,在此不再赘述。
[0153]
在一个具体的实施场景中,以alinet为例,首先将邻居节点和远距离邻居节点的信息进行聚合,每层alinet均包含多个函数来聚合多跳内的邻域信息。为了减少噪声信息,进一步使用注意力机制来聚合远距离邻居信息,以端到端的方式找到那些更为重要的远距
离邻居。最终使用门机制来组合多个聚合函数的输出表示,得到当前层的隐层表示。此外,alinet还包括关系损失以调整实体的表示,并使得alinet可以捕获到更特殊的结构信息。在此基础上,可以获取每一第一实体分别与各个第二实体之间的距离。需要说明的是,与gcn

align类似地,在alinet的训练过程中,也采用已对齐实体集合s监督其训练,具体过程可以参阅alinet相关技术细节,在此不再赘述。
[0154]
步骤s113:对于每一第一实体,基于各个神经网络得到的第二对齐结果,得到第一实体的第三对齐结果。
[0155]
本公开实施例中,第三对齐结果包括待对齐图谱中是否存在与第一头实体对齐的第二头实体。具体地,如前所述,对于每一个第一实体而言,其第二对齐结果可以包括待对齐图谱中各个第二实体分别与第一实体之间的距离。在此基础上,对于每一第一实体而言,可以将利用多个神经网络所获取的其与第二实体之间的距离进行加权处理,得到该第一实体与第二实体之间的加权距离,并按照距离由近至远的顺序,将各个第二实体进行排序,以及响应于存在满足预设条件的第二实体,确定第三对齐结果包括待对齐图谱中存在与第一实体对齐的第二实体,或者,响应于不存在满足预设条件的第二实体,确定第三对齐结果包括待对齐图谱中不存在与第一实体对齐的第二实体。此外,预设条件具体可以设置为包括最小的距离低于预设阈值。
[0156]
步骤s114:基于各个第一实体的第三对齐结果,得到知识图谱。
[0157]
具体地,基于第一实体的第三对齐结果得到知识图谱的步骤,可以参阅前述公开实施例中关于采用与第一对齐结果匹配的融合策略相关描述,在此不再赘述。
[0158]
上述方案,通过选择一个预设图谱作为锚定图谱,并将未选择的预设图谱作为待对齐图谱,对于每一神经网络,利用神经网络对齐锚定图谱和待对齐图谱,得到锚定图谱中各个第一实体的第二对齐结果,在此基础上,对于每一第一实体,基于各个神经网络得到的第二对齐结果,得到第一实体的第三对齐结果,且第三对齐结果包括待对齐图谱中是否存在与第一实体对齐的第二实体,在此基础上,再基于各个第一实体的第三对齐结果,得到知识图谱,故能够结合多个神经网络的对齐结果得到知识图谱,有利于提高知识图谱对齐的准确性。
[0159]
在一些公开实施例中,如前所述,多个预设图谱也可以同时基于预设规则和神经网络来实现对齐,请结合参阅图12,图12是预设图谱对齐又一实施例的流程示意图,具体而言,可以包括如下步骤:
[0160]
步骤s121:基于预设规则对齐多个预设图谱,得到第一对齐图谱,并基于神经网络对齐多个预设图谱,得到第二对齐图谱。
[0161]
具体地,基于预设规则对齐多个预设图谱的具体过程,以及基于神经网络对齐多个预设图谱的具体过程,可以参阅前述相关公开实施例,在此不再赘述。
[0162]
步骤s122:将第一对齐图谱和第二对齐谱图进行融合,得到知识图谱。
[0163]
具体地,在得到第一对齐图谱和第二对齐图谱之后,可以取两者的并集,以融合得到知识图谱,或者,也可以取两者的交集,以融合得到知识图谱,在此不做限定。
[0164]
上述方案,基于预设规则对齐多个预设图谱得到第一对齐图谱,并基于神经网络对齐多个预设图谱得到第二对齐图谱,在此基础上,再将第一对齐图谱和第二对齐图谱进行融合,得到知识图谱,能够同时参考预设规则和神经网络两个层面实现图谱对齐,有利于
提升知识图谱的准确性。
[0165]
请参阅图13,图13是本技术诊断推荐装置130一实施例的框架示意图。诊断推荐装置130包括:图文获取模块131、语义提取模块132和诊断预测模块133,图文获取模块131用于获取目标对象的病历文本,并获取医疗领域的知识图谱和文档文本;语义提取模块132用于提取病历文本的病历语义表示,并提取知识图谱的图谱语义表示,以及提取文档文本的文档语义表示;诊断预测模块133用于利用病历语义表示、图谱语义表示和文档语义表示进行预测,得到目标对象的诊断文本。
[0166]
在一些公开实施例中,诊断推荐装置130包括子图构建模块,用于基于图谱语义表示,分别获取若干子图谱的子图语义表示;其中,若干子图谱是从知识图谱中提取的,且均与病历文本相关;诊断预测模块133具体用于利用病历语义表示、若干子图谱的子图语义表示和文档语义表示进行预测,得到诊断文本。
[0167]
在一些公开实施例中,病历文本包括若干子文本,病历语义表示包括各个子文本的文本语义表示;诊断预测模块133包括文本融合子模块,用于对于每一子文本,基于各个文档语义表示与文本语义表示的相关程度,将各个文档语义表示与文本语义表示融合,得到融合文本表示;诊断预测模块133包括图文融合子模块,用于基于各个融合文本表示和各个子图语义表示进行语义融合,得到以文本主导融合的第一语义表示和以图谱主导融合的第二语义表示;诊断预测模块133包括文本预测子模块,用于基于第一语义表示和第二语义表示进行预测,得到诊断文本。
[0168]
在一些公开实施例中,图文融合子模块包括文本语义融合单元,用于融合各个子文本的融合文本表示,得到最终文本表示;图文融合子模块包括第一注意机制单元,用于获取各个子图语义表示分别与最终文本表示的第一融合表示,并基于各个第一融合表示,确定各个子图语义表示分别对最终文本表示的第一重要程度;图文融合子模块包括第一语义加权单元,用于利用各个子图语义表示对应的第一重要程度对各个第一融合表示进行加权,得到第一语义表示。
[0169]
在一些公开实施例中,图文融合子模块包括子图语义融合单元,用于融合各个子图谱的子图语义表示,得到最终图谱表示;图文融合子模块包括第二注意机制单元,用于获取各个融合文本表示分别与最终图谱表示的第二融合表示,并基于各个第二融合表示,确定各个融合文本表示分别对最终图谱表示的第二重要程度;图文融合子模块包括第二语义加权单元,用于利用各个融合文本表示对应的第二重要程度对各个第二融合表示进行加权,得到第二语义表示。
[0170]
在一些公开实施例中,子图构建模块包括实体抽取子模块,用于抽取病历文本的若干病历实体,并选择存在于知识图谱的病历实体作为候选实体;子图构建模块包括图谱构建子模块,用于对于每一候选实体,基于候选实体在知识图谱中的邻居节点,得到与候选实体对应的子图谱。
[0171]
在一些公开实施例中,文档文本与病历文本相关,文档文本是从若干预设文档中筛选得到的。
[0172]
在一些公开实施例中,图文获取模块131包括病历分词子模块,用于对病历文本进行分词,得到若干病历词组;图文获取模块131包括病历相关子模块,用于对于每一预设文档,获取预设文档分别与若干病历词组之间的相关子分值,并利用若干病历词组的重要度
分别对相关子分值进行加权处理,得到预设文档的相关总分值;图文获取模块131包括文档选择子模块,用于基于相关总分值,选择至少一个预设文档作为文档文本。
[0173]
在一些公开实施例中,图谱语义表示是基于知识图谱的多个初始图谱表示融合得到的,且多个初始图谱表示是利用多个图谱语义提取网络分别提取得到的。
[0174]
在一些公开实施例中,对齐是基于预设规则、神经网络中至少一者来实现的。
[0175]
在一些公开实施例中,诊断推荐装置130还包括第一对齐模块,用于基于预设规则来实现对齐,第一对齐模块包括第一准备子模块,用于选择一个预设图谱作为锚定图谱,并将未选择的预设图谱作为待对齐图谱,以及分别提取锚定图谱中的第一三元组和待对齐图谱中的第二三元组;其中,第一三元组包括两个第一实体以及连接第一实体的第一关系,两个第一实体包括第一头实体和第一尾实体,且第二三元组包括两个第二实体以及连接第二实体的第二关系,两个第二实体包括第二头实体和第二尾实体;第一对齐模块包括实体对齐子模块,用于对于每一第二头实体,基于各个第一头实体分别与第二头实体的第一相似度以及各个第一头实体对应的第一尾实体分别与第二头实体对应的第二尾实体的第二相似度,确定第二头实体的第一对齐结果,并采用与第一对齐结果匹配的融合策略将第二头实体及其对应的第二尾实体和第二关系融合至锚定图谱。
[0176]
在一些公开实施例中,实体对齐子模块包括实体粗选单元,用于基于各个第一头实体分别与第二头实体的第一相似度,选择至少一个第一头实体作为粗选头实体;实体对齐子模块包括相似计算单元,用于对于每一粗选头实体,响应于粗选头实体对应的第一尾实体和第二头实体对应的第二尾实体两者之间满足预设条件,将两者作为尾实体对,并基于各个尾实体对的对内相似度,得到粗选头实体对应的第二相似度;实体对齐子模块包括结果确定单元,用于基于粗选头实体对应的第一相似度和第二相似度,确定第二头实体的第一对齐结果。
[0177]
在一些公开实施例中,预设条件包括以下至少一者:粗选头实体对应的第一关系和第二头实体对应的第二关系对齐,粗选头实体对应的第一尾实体和第二头实体对应的第二尾实体对齐;和/或,第二相似度是利用各个尾实体对的加权因子对对内相似度进行加权得到的,第二头实体对应的第二关系在待对齐图谱中的出现频率与加权因子正相关。
[0178]
在一些公开实施例中,第一对齐结果包括粗选头实体中是否存在第二头实体的对齐头实体;实体对齐子模块包括第一融合单元,用于在第一对齐结果包括不存在对齐头实体的情况下,将第二头实体作为新的第一头实体添加至锚定图谱;实体对齐子模块包括第二融合单元,用于在第一对齐结果包含存在对齐头实体的情况下,将不与对齐头实体对齐的第二关系和第二尾实体分别作为对齐头实体新的第一关系和新的第一尾实体,并添加至锚定图谱;实体对齐子模块包括第三融合单元,用于在第一对齐结果包含存在对齐头实体的情况下,对于与对齐头实体对齐的第二关系,将对内相似度高于预设阈值的尾实体对合并,并将对内相似度不高于预设阈值的尾实体对中第二尾实体,作为对齐头实体新的第二尾实体,并添加至锚定图谱。
[0179]
在一些公开实施例中,诊断推荐装置130还包括第二对齐模块,用于基于神经网络来实现对齐,第二对齐模块包括第二准备子模块,用于选择一个预设图谱作为锚定图谱,并将未选择的预设图谱作为待对齐图谱;第二对齐模块包括结果获取子模块,用于对于每一神经网络,利用神经网络对齐锚定图谱和待对齐图谱,得到锚定图谱中各个第一实体的第
二对齐结果;第二对齐模块包括结果融合子模块,用于对于每一第一实体,基于各个神经网络得到的第二对齐结果,得到第一实体的第三对齐结果;其中,第三对齐结果包括待对齐图谱中是否存在与第一实体对齐的第二实体;第二对齐模块包括图谱获取子模块,用于基于各个第一实体的第三对齐结果,得到知识图谱。
[0180]
在一些公开实施例中,第一对齐模块具体用于基于预设规则对齐多个预设图谱,得到第一对齐图谱,第二对齐模块具体用于基于神经网络对齐多个预设图谱,得到第二对齐图谱,诊断推荐装置130还包括对齐融合模块,用于将第一对齐图谱和第二对齐谱图进行融合,得到知识图谱。
[0181]
请参阅图14,图14是本技术电子设备140一实施例的框架示意图。电子设备140包括相互耦接的存储器141和处理器142,存储器141中存储有程序指令,处理器142用于执行程序指令以实现上述任一诊断推荐方法实施例中的步骤。具体地,电子设备140可以包括但不限于:台式计算机、笔记本电脑、服务器、手机、平板电脑等等,在此不做限定。
[0182]
具体而言,处理器142用于控制其自身以及存储器141以实现上述任一诊断推荐方法实施例中的步骤。处理器142还可以称为cpu(central processing unit,中央处理单元)。处理器142可能是一种集成电路芯片,具有信号的处理能力。处理器142还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器142可以由集成电路芯片共同实现。
[0183]
上述方案,一方面通过进一步参考医疗领域的文档文本,从而结合病历文本、知识图谱和文档文本三者共同进行诊断推荐,能够大大扩展诊断推荐过程中的信息参考范围,有利于提升诊断推荐的全面性,另一方面通过提取深层语义表示,并基于语义表示进行诊断推荐,能够挖掘图谱以及文本蕴含的语义信息而非仅停留于表层结构化数据,有利于提高诊断推荐的鲁棒性和准确性,故此能够全面、准确且稳定地进行诊断推荐。
[0184]
请参阅图15,图15是本技术计算机可读存储介质150一实施例的框架示意图。计算机可读存储介质150存储有能够被处理器运行的程序指令151,程序指令151用于实现上述任一诊断推荐方法实施例中的步骤。
[0185]
上述方案,一方面通过进一步参考医疗领域的文档文本,从而结合病历文本、知识图谱和文档文本三者共同进行诊断推荐,能够大大扩展诊断推荐过程中的信息参考范围,有利于提升诊断推荐的全面性,另一方面通过提取深层语义表示,并基于语义表示进行诊断推荐,能够挖掘图谱以及文本蕴含的语义信息而非仅停留于表层结构化数据,有利于提高诊断推荐的鲁棒性和准确性,故此能够全面、准确且稳定地进行诊断推荐。
[0186]
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0187]
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0188]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其
它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0189]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0190]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0191]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜