公开/公告号CN113836321A
专利类型发明专利
公开/公告日2021-12-24
原文格式PDF
申请/专利权人 北京富通东方科技有限公司;
申请/专利号CN202111437609.1
申请日2021-11-30
分类号G06F16/36(20190101);G06K9/62(20060101);G06N3/08(20060101);
代理机构
代理人
地址 100086 北京市海淀区知春路128号泛亚大厦七层793室
入库时间 2023-06-19 13:49:36
法律状态公告日
法律状态信息
法律状态
2022-05-10
授权
发明专利权授予
技术领域
本公开涉及医学知识表示技术领域,尤其涉及一种医学知识表示的生成方法和装置。
背景技术
通常,针对稳定性冠心病、心力衰竭、高血压等心血管慢病的诊断,涉及医学知识面广泛、推理链比较程长,需要融合患者高维的基线信息,如性别、年龄、病史、职业、生活习惯等,以及体格检查、影像学检查、实验室检验等诊断指标结果知识。此外,临床疾病推理环节通常也是错综复杂,往往需要多角度多步长的反复验证和疾病鉴别。
可以理解的是,知识表示学习是通过机器学习将研究对象的语义信息表示为稠密低维实值向量,在许多下游自然语言处理任务中起着不可或缺的作用,典型应用主要包括知识相似度计算、知识图谱补全、知识语义搜索等。
目前的医学知识表示通常是基于单步长或者单实体节点的向量表示,无法考虑足够的医学语义信息,并且遇见未在词表中的医学实体名词则无法进行向量嵌入表示。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种医学知识表示的生成方法和装置。
本公开提供了医学知识表示的生成方法,包括:
获取医学知识图谱数据集;
基于所述医学知识图谱数据集,获取单步路径三元组集和实体的描述文本数据;其中,所述实体包括头实体和尾实体;
基于所述实体的描述文本数据和所述单步路径三元组集,获取实体的初始描述信息存储在所述单步路径三元组集;
获取所述单步路径三元组集中每个单步路径三元组对应的多跳路径三元组集合;
所有所述单步路径三元组和对应的多跳路径三元组进行合并为正样本集合,并对所述正样本集合进行处理得到负样本集合;
通过预设损失函数将所述正样本集合和所述负样本集合输入神经网络进行训练,获取医学知识表示学习模型,以获取待处理实体和待处理尾实体输入所述医学知识表示学习模型,生成医学知识表示。
本公开提供了医学知识表示的生成装置,包括:
获取图谱模块,用于获取医学知识图谱数据集;
第一获取模块,用于基于所述医学知识图谱数据集,获取单步路径三元组集;
第二获取模块,用于基于所述医学知识图谱数据集,获取实体的描述文本数据;其中,所述实体包括头实体和尾实体;
第三获取模块,用于基于所述实体的描述文本数据和所述单步路径三元组集,获取实体的初始描述信息存储在所述单步路径三元组集;
第四获取模块,用于获取所述单步路径三元组集中每个单步路径三元组对应的多跳路径三元组集合;
合并处理模块,用于所有所述单步路径三元组和对应的多跳路径三元组进行合并为正样本集合,并对所述正样本集合进行处理得到负样本集合;
生成处理模块,用于通过预设损失函数将所述正样本集合和所述负样本集合输入神经网络进行训练,获取医学知识表示学习模型,以获取待处理实体和待处理尾实体输入所述医学知识表示学习模型,生成医学知识表示。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过获取医学知识图谱数据集,基于医学知识图谱数据集,获取单步路径三元组集和实体的描述文本数据;其中,实体包括头实体和尾实体,基于实体的描述文本数据和单步路径三元组集,获取实体的初始描述信息存储在单步路径三元组集,获取单步路径三元组集中每个单步路径三元组对应的多跳路径三元组集合,所有单步路径三元组和对应的多跳路径三元组进行合并为正样本集合,并对正样本集合进行处理得到负样本集合,通过预设损失函数将正样本集合和负样本集合输入神经网络进行训练,获取医学知识表示学习模型,以获取待处理实体和待处理尾实体输入医学知识表示学习模型,生成医学知识表示。由此,在融合实体描述文本信息的基础上添加多步关系路径信息,增加知识表示的语义信息。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种医学知识表示的生成方法的流程示例图。
图2为本公开实施例提供的一种医学知识表示的生成方法的流程示例图。
图3为本公开实施例提供的医学知识表示的示例图。
图4为本公开实施例提供的实体关系的示例图。
图5为本公开实施例提供的一种医学知识表示模型的训练示例图。
图6为本公开实施例提供的一种医学知识表示的生成装置的结构示例图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
具体地,心血管慢病知识错综复杂,一个疾病的诊断往往需要融合症状、体征、影像检查结果、实验室检验结果等多维度信息,并在此基础上,还需要从病因、诱因、病史等多步长因果关系上进行疾病推理和鉴别,面向心血管慢病领域的知识图谱,多源信息融合能够有效提升对结构化的三元组知识的表示性能,特别是可以有效处理新实体的表示问题。
因此,本公开实施例引入实体描述内容及多步关系路径,训练涵盖实体概念和关系路径信息的知识表示学习模型逐步成为复杂知识嵌入表示的重要方法。
图1为本公开实施例提供的一种医学知识表示的生成方法的流程示例图,包括:
步骤101,获取医学知识图谱数据集。
步骤102,基于医学知识图谱数据集,获取单步路径三元组集和实体的描述文本数据;其中,实体包括头实体和尾实体。
具体地,医学知识图谱的应用场景,如体检报告解读、疾病辅助诊断、检查检验项目推荐、药物管理等,往往需要精确且医学语义丰富的实体向量表示。
在医学知识图谱中,两个关联实体之间除了直接关联关系,还有多跳路径关系,例如头实体“肘关节CT”与尾实体“桡骨头骨折”在医学知识图谱中除了(肘关节CT,检查项目为诊断疾病所需,桡骨头骨折)这样的直接关系,还有(肘关节CT,检查结果,可见桡骨头骨折),(可见桡骨头骨折,诊断疾病,桡骨头骨折)拼接而成的多跳路径。因此,为了融合精确推理信息的嵌入表示,本公开实施例将两个实体间多跳路径关系之间的语义信息也纳入考虑;此外在构造三元组的直接关系中,为了解决图谱稀疏性问题,在原有图三元结构的基础上,添加了实体的语义描述信息。
在本公开实施例中,获取医学知识图谱数据集的方式有很多种,比如获取心血管慢病知识症状、体征、影像检查结果、实验室检验结果等多维度信息进行处理,获取对应的医学知识图谱数据集。
可以理解的是,医学知识图谱数据集中包括各个实体,头实体指的是开始实体,尾实体指的是结束实体,比如医学知识图谱为(肘关节CT,检查项目为诊断疾病所需,桡骨头骨折),头实体“肘关节CT”与尾实体“桡骨头骨折”。另外,医学知识图谱数据集中还包括实体之前的路径关系。
在一个具体实施例中,基于知识图谱数据集获取单步路径三元组集,包括:针对知识图谱数据集中的每个头实体,遍历所有单步关系获取对应的尾实体,组成直接关系三元组实体对,存储直接关系三元组实体对、头尾实体和路径概率信息。
在一个具体实施例中,获取每一个实体的描述文本,对描述文本进行关键词抽取,获取目标数值关键词作为实体的描述文本数据。
步骤103,基于实体的描述文本数据和单步路径三元组集,获取实体的初始描述信息存储在单步路径三元组集。
具体地,针对直接关系的单步路径三元组中的每个头、尾实体,基于实体的描述文本(知识库获取、外部互联网等途径获取)进行关键词抽取,比如对排序前十的关键词进行拼接表示,形成实体的初始描述信息,存储在单步路径三元组的文件里。
步骤104,获取单步路径三元组集中每个单步路径三元组对应的多跳路径三元组集合。
在本公开一个具体实施例中,基于单步路径三元组集,针对每个第一单步路径三元组,遍历检索所有头实体与所述第一单步路径三元组的尾实体相同的第二单步路径三元组进行组合,生成二步路径三元组集,针对二步路径三元组集中的每个第一两步路径三元组,遍历所有头实体与第一两步路径三元组尾实体相同的第二两步路径三元组进行组合,生成三步路径三元组集,根据单步路径三元组集,针对每个单步路径三元组,遍历检索二步路径三元组集、三步路径三元组集中头实体和尾实体都对应与单步路径三元组头、尾实体相同的多跳路径,生成对应的多跳路径三元组集合进行存储。
步骤105,所有单步路径三元组和对应的多跳路径三元组进行合并为正样本集合,并对正样本集合进行处理得到负样本集合。
在本公开一个具体实施例中,对正样本集合的单步路径三元组中所含的头实体、尾实体或者直接关系路径进行随机替换,替换后的单步路径三元组为负样本,对正样本集合的多跳路径三元组中所含的多跳关系路径进行随机替换,替换后的多跳路径三元组为负样本。
步骤106,通过预设损失函数将正样本集合和负样本集合输入神经网络进行训练,获取医学知识表示学习模型,以获取待处理实体和待处理尾实体输入医学知识表示学习模型,生成医学知识表示。
在本公开实施例中,预设损失函数包括融合描述信息的直接三元组得分和多跳路径三元组得分两部分,具体参见后续实施例的描述。
在本公开实施例中,正样本集合和负样本集合训练的医学知识表示学习模型,还可以根据验证样本进行验证后存储医学知识表示学习模型,测试样本对医学知识表示学习模型进行测试,以进一步提高模型的准确性。
需要说明的是,医学知识表示学习模型通过预设损失函数训练,但通常没有明确的标注结果,用来判断医学知识表示学习模型的处理结果的正确与否,医学知识图谱中的多跳路径三元组样本只是都往正确的方向训练,需要人为创建负样本,使得正样本的损失最小,负样本的损失最大,从而大大提高学习的质量;同时扩充训练样本的多样性,提高模型的泛化性。
综上所述,本公开实施例的医学知识表示的生成方法,通过获取医学知识图谱数据集,基于医学知识图谱数据集,获取单步路径三元组集和实体的描述文本数据;其中,实体包括头实体和尾实体,基于实体的描述文本数据和单步路径三元组集,获取实体的初始描述信息存储在单步路径三元组集,获取单步路径三元组集中每个单步路径三元组对应的多跳路径三元组集合,所有单步路径三元组和对应的多跳路径三元组进行合并为正样本集合,并对正样本集合进行处理得到负样本集合,通过预设损失函数将正样本集合和负样本集合输入神经网络进行训练,获取医学知识表示学习模型,以获取待处理实体和待处理尾实体输入医学知识表示学习模型,生成医学知识表示。由此,在融合实体描述文本信息的基础上添加多步关系路径信息,增加知识表示的语义信息。
为了更加清楚描述上述实施例,下面结合图2针对如何获取直接关系三元组进行详细描述。
具体地,图2为本公开实施例提供的另一种医学知识表示的生成方法的流程示例图,包括:
步骤201,获取医学知识中的头实体和尾实体。
步骤202,获取头实体的第一头向量和尾实体的第一尾向量。
步骤203,基于头实体的描述文本获取头实体的第二头向量,以及基于尾实体的描述文本获取尾实体的第二尾向量。
步骤204,基于头实体和尾实体的直接关系路径向量、第一头向量、第二头向量、第一尾向量和第二尾向量,得到直接关系三元组的直接关系得分。
具体地,本公开实施例提出了融合实体描述信息和多步关系信息的实体表示学习方法,对每个三元组,设置能量函数为:
其中,
其中,
其中,h表示头实体,r表示直接关系路径,t表示尾实体,
在直接关系三元组中,考虑基于结构的表示和基于描述的表示,基于结构的表示,头实体和尾实体对应的编码向量分别表示为
在本公开一个具体地实施例中,将第一头向量与直接关系路径向量相加后减去第一尾向量的差值的绝对值,得到第一数值,将第二头向量与直接关系路径向量相加后减去第二尾向量的差值的绝对值,得到第二数值,将第二头向量与直接关系路径向量相加后减去第一尾向量的差值的绝对值,得到第三数值,将第一头向量与直接关系路径向量相加后减去第二尾向量的差值的绝对值,得到第四数值,将第一数值、第二数值、第三数值和第四数值进行相加处理,得到直接关系三元组。
具体地,如图4所示,头实体(Head entity)和尾实体(Tail entity),通过头实体的关键词(Keywords of head)和尾实体关键词(Keywords of tail)分别组成头实体和尾实体的描述信息,
其中,
在多跳路径三元组中,
其中,
为针对一个多步关系路径三元组
其中,
其中,对于路径信度的度量,使用PCRA(path-constraint resource allocation,路径约束资源分配)的算法,在医学知识图谱中,某种资源从头实体,通过路径
其中,对于一个多步关系路径三元组
在本公开实施例中,基于直接关系三元组的直接关系得分和多跳路径三元组的所有多跳路径得分确定预设损失函数。
具体地,预设损失函数包括直接三元组的直接关系得分和多跳路径三元组的所有多跳路径得分两部分:
由此,对直接三元组能量函数的计算添加了实体描述信息,可以有效解决零次学习的问题,并且可以发掘实体间的语义相关性,精确的语义表述能够提升三元组的可区分性。
具体地,对于一个多跳关系路径
其中,
Z是归一化因子,
具体地,创建的三元组的负样本,对直接关系中所含的正确头实体、尾实体或者直接关系
由此,基于融合描述文本的实体,增加了多步长关系路径信息,解决了复杂医学知识难以准确表示的问题。
作为一种场景举例,如图5所示,步骤1、对知识图谱数据集进行拆分为训练集、验证集和测试集,以及一些信息存储文档,如所有实体和对应标识的文件、所有关系和对应标识的文件等;步骤2、获取实体的描述关键词:针对每一个实体,对描述的文本进行关键词抽取,按照权重逆序选取前k(正整数,比如k=10)个,作为实体的描述信息;步骤3、获取单步路径三元组集:针对图谱每个头实体,遍历所有单步关系找到对应的尾实体,组成直接关系的三元组实体对,存储实体对信息、头尾实体和路径概率信息;步骤4、针对直接关系的三元组实体中的每个头、尾实体,基于实体的描述文本(知识库获取、外部互联网等途径获取)进行关键词抽取,比如对top10的关键词进行拼接表示,形成实体的初始描述信息,存储在直接关系三元组的文件里;步骤5、获取多步路径三元组集:根据单步三元组集合(triple_1step_set),针对每个单步三元组triple1,遍历检索所有头实体与triple1尾实体相同的三元组triple2进行组合,生成2步路径的三元组集合(定义为triple_2step_set),再针对2步路径三元组集合中的每个两步三元组,遍历所有头实体与2步三元组尾实体相同的三元组triple3进行组合,生成所有3步三元组集合(定义为triple_3step_set),头尾实体描述信息和路径概率信息,注意上述提到的triple1、triple2、triple3都是单步三元组;步骤6、获取每个直接三元组对应的多跳路径三元组集合:根据triple_1step_set,针对每个单步三元组,遍历检索triple_2step_set、triple_3step_set中头实体、尾实体都对应与单步三元组头、尾实体相同的多跳路径,生成对应的多跳路径集合,进行存储;步骤7、获取正负样本集合:所有单步三元组和对应的多步三元组进行合并,合并为正样本集合,并针对每个正样本,随机对某个实体、关系进行替换,生成负样本集合;步骤8、模型训练与预测:训练样本(正样本和负样本)输入模型,根据验证样本进行存储模型,测试样本进行测试。
由此,引入实体描述内容及多步关系路径,训练涵盖实体概念和关系路径信息的知识表示学习模型,以满足医学知识表示需求。
图6为本公开实施例提供的一种医学知识表示的生成装置的结构示例图,包括:获取图谱模块601、第一获取模块602、第二获取模块603、第三获取模块604、第四获取模块605、合并处理模块606和生成处理模块607。
获取图谱模块601,用于获取医学知识图谱数据集。
第一获取模块602,用于基于所述医学知识图谱数据集,获取单步路径三元组集。
第二获取模块603,用于基于所述医学知识图谱数据集,获取实体的描述文本数据;其中,所述实体包括头实体和尾实体。
第三获取模块604,用于基于所述实体的描述文本数据和所述单步路径三元组集,获取实体的初始描述信息存储在所述单步路径三元组集;
第四获取模块605,用于获取所述单步路径三元组集中每个单步路径三元组对应的多跳路径三元组集合。
合并处理模块606,用于所有所述单步路径三元组和对应的多跳路径三元组进行合并为正样本集合,并对所述正样本集合进行处理得到负样本集合。
生成处理模块607,用于通过预设损失函数将所述正样本集合和所述负样本集合输入神经网络进行训练,获取医学知识表示学习模型,以获取待处理实体和待处理尾实体输入所述医学知识表示学习模型,生成医学知识表示。
在一些实施例中,所述第一获取模块602,具体用于:
针对所述知识图谱数据集中的每个头实体,遍历所有单步关系获取对应的尾实体,组成直接关系三元组实体对;
存储所述直接关系三元组实体对、头尾实体和路径概率信息。
在一些实施例中,所述第二获取模块603,具体用于:
获取每一个实体的描述文本;
对所述描述文本进行关键词抽取,获取目标数值关键词作为实体的描述文本数据。
在一些实施例中,所述第四获取模块605,具体用于:
基于所述单步路径三元组集,针对每个第一单步路径三元组,遍历检索所有头实体与所述第一单步路径三元组的尾实体相同的第二单步路径三元组进行组合,生成二步路径三元组集;
针对所述二步路径三元组集中的每个第一两步路径三元组,遍历所有头实体与所述第一两步路径三元组尾实体相同的第二两步路径三元组进行组合,生成三步路径三元组集;
根据所述单步路径三元组集,针对每个单步路径三元组,遍历检索所述二步路径三元组集、所述三步路径三元组集中头实体和尾实体都对应与单步路径三元组头、尾实体相同的多跳路径,生成对应的多跳路径三元组集合进行存储。
在一些实施例中,所述的医学知识表示的生成装置还包括:
第五获取模块,用于获取医学知识中的头实体和尾实体;
第六获取模块,用于获取所述头实体的第一头向量和所述尾实体的第一尾向量;
第七获取模块,用于基于所述头实体的描述文本获取所述头实体的第二头向量,以及基于所述尾实体的描述文本获取所述尾实体的第二尾向量;
第八获取模块,用于基于所述头实体和所述尾实体的直接关系路径向量、所述第一头向量、所述第二头向量、所述第一尾向量和所述第二尾向量,得到直接关系三元组的直接关系得分。
在一些实施例中,所述第八获取模块,具体用于:
将所述第一头向量与所述直接关系路径向量相加后减去所述第一尾向量的差值的绝对值,得到第一数值;
将所述第二头向量与所述直接关系路径向量相加后减去所述第二尾向量的差值的绝对值,得到第二数值;
将所述第二头向量与所述直接关系路径向量相加后减去所述第一尾向量的差值的绝对值,得到第三数值;
将所述第一头向量与所述直接关系路径向量相加后减去所述第二尾向量的差值的绝对值,得到第四数值;
将所述第一数值、所述第二数值、所述第三数值和所述第四数值进行相加处理,得到所述直接关系三元组的直接关系得分。
在一些实施例中,所述的医学知识表示的生成装置还包括:
第九获取模块,用于获取所述头实体和所述尾实体的多跳关系路径向量,基于所述多跳关系路径向量、所述直接关系路径向量和多跳关系路径可信度,得到多跳路径三元组的所有多跳路径得分。
在一些实施例中,所述对所述正样本集合进行处理得到负样本集合,包括:对所述正样本集合的单步路径三元组中所含的头实体、尾实体或者直接关系路径进行随机替换,替换后的单步路径三元组为负样本;对所述正样本集合的多跳路径三元组中所含的多跳关系路径进行随机替换,替换后的多跳路径三元组为负样本。
在一些实施例中,所述的医学知识表示的生成装置还包括:
确定模块,用于基于所述直接关系三元组的直接关系得分和所述多跳路径三元组的所有多跳路径得分确定所述预设损失函数。
综上所述,本公开实施例的医学知识表示的生成装置,通过获取医学知识图谱数据集,基于医学知识图谱数据集,获取单步路径三元组集和实体的描述文本数据;其中,实体包括头实体和尾实体,基于实体的描述文本数据和单步路径三元组集,获取实体的初始描述信息存储在单步路径三元组集,获取单步路径三元组集中每个单步路径三元组对应的多跳路径三元组集合,所有单步路径三元组和对应的多跳路径三元组进行合并为正样本集合,并对正样本集合进行处理得到负样本集合,通过预设损失函数将正样本集合和负样本集合输入神经网络进行训练,获取医学知识表示学习模型,以获取待处理实体和待处理尾实体输入医学知识表示学习模型,生成医学知识表示。由此,在融合实体描述文本信息的基础上添加多步关系路径信息,增加知识表示的语义信息。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
机译: 医学报告生成装置,医学报告生成装置的控制方法,医学图像浏览装置,医学图像浏览装置的控制方法,医学报告生成系统以及非暂时性计算机可读介质
机译: 医学图像计算机断层扫描图像,一种在手术期间使用的生成方法,涉及基于重建体积生成体积图像数据集,并针对图像数据集的截面平面生成医学图像
机译: 医学图像生成装置,医学图像生成程序的控制方法以及医学图像生成装置