一种融合交叉知识注意力的电子病历相似检索方法与流程

文档序号:30233117发布日期:2022-06-01 06:41阅读:141来源:国知局

1.本发明涉及医疗信息化技术领域,具体涉及一种融合交叉知识注意力的电子病历相似检索方法。


背景技术:

2.现实世界中,相对于图像、语音格式,自然语言文本由于其易读性与便捷性,越发成为信息传递载体的主要形式。信息时代积累下庞大的文本数据,例如博客文章、网络留言对话、医院电子病历、在线阅读理解文本等,如何准确高效的衡量电子病历文本间相似度是当前面临的一大难题。当前文本相似度量方法如下:传统机器学习方法。基于统计信息的tf-idf方法,通过统计文本中单字的词频信息,构建出词频向量矩阵,进而利用余弦相似度进行判断;基于最长公共子序列的lcs方法,通过字符匹配的数量进行相似判断;潜在语义分析(lsa)利用单词频数或者tf-idf作为权值,将文本表示为单词(话题)向量空间中的向量,通过內积运算进行相似判断;概率潜在语义分析(plsa)与lsa类似,不同在于plsa中话题是不可观测的;潜在狄利克雷分配(lda)拓展了plsa,不同在于lda假设先验分布是服从狄利克雷分布,通过吉布斯抽样方法进行模型学习,进而生成文本的话题分布。上述传统机器学习方法,只是进行统计意义上的相似度量,没有考虑文本中词语的位置信息,缺乏词语的语义信息度量。
3.神经网络模型方法。自2016年以来,神经网络在自然语言文本度量领域得到长足应用。在辅助诊疗领域,2018年清华大学学者通过多层卷积神经网络抽取多维文本特征,建立camse模型,尝试在语义方面预测出当前诊断的疾病编码。在对话领域,2019年微软研究人员预先生成段落、语句、实体多层次的网络结构,通过图神经网络,建立多跳对话模型,衡量当前对话与链接文本的相似性。但是,上述模型并没有考虑文本间知识传递的相互作用,在文本相似评估中融入先验知识信息,仍然是亟待解决的问题。
4.交叉注意力机制可以应用在自然语言处理、图像识别等多个领域,也有一些研究成果,例如交叉注意力在语义分割、自然场景文字识别、知识图谱问答和情感分析的应用,但是,融合知识注意力的交叉模式,增强文本间知识信息传递方面,目前研究成果较少。


技术实现要素:

5.本发明为了克服以上技术的不足,提供了一种电子病历文本间相似检索精度高的融合交叉知识注意力的电子病历相似检索方法。
6.本发明克服其技术问题所采用的技术方案是:
7.一种融合交叉知识注意力的电子病历相似检索方法,包括如下步骤:
8.a)数据处理:将输入电子病历文本s0和n个电子病历判断文本{s1,s2,...,sn},设定最大字符长度为l,将输入电子病历文本中文本长度超过l的部分截掉,不足的部分进行特定字符补全,其中l及n均为正整数;
9.b)实体标记获取:利用现有实体库或利用神经网络模型抽取实体信息的方式进行
实体标记;
10.c)将电子病历文本s0及n个电子病历判断文本{s1,s2,...,sn}的构成的电子病历文本集合{s0,s1,s2,...,sn}经步骤b)中实体标记后得到文本实体标签信息;
11.d)知识模型构建:将实体标记与电子病历文本s0、n个电子病历判断文本{s1,s2,...,sn}中原始字符进行拼接,拼接后一同输入到知识模型,输出文本集合{s1,s2,...,sn}中每一个文本相较于s0的相似度概率值;
12.e)设定最大返回数量m,从n个电子病历判断文本{s1,s2,...,sn}内输出m条s0的相似文本序列,相似程度依次递减,其中m≤n。
13.进一步的,步骤a)中通过padding填充法对不足的部分进行补全。
14.a)中l的取值为250。
15.进一步的,b)中现有的实体库为cmekg实体库、中文症状库。
16.进一步的,c)包括如下步骤:
17.d-1)将电子病历文本s0与一电子病历判断文本si,(i=1,...,n)输入到预训练语言模型,分别生成文本嵌入表示v0∈r
l
×e及vi∈r
l
×e,其中e为预训练语言模型的输出维度,r为实数空间;
18.d-2)通过公式利用步骤c)中获得的文本实体标签信息的实体集合表示为en={ent0,ent1,...,entk},k为文本集合{s0,s1,s2,...,sn}中最大实体数量,通过公式计算得到文本si中的第j个单字w
i,j
与实体entk之间的距离distance(w
i,j
,entk),得到文本si中每个字的实体位置,其中j≤l,如w
i,j
∈entk,w
i,j
与entk之间距离为0,根据实体位置的最大数量entity_size初始化词嵌入权重矩阵,初始化权重矩阵维度为r
entity_size
×e的实体位置嵌入层entity_embedding,根据公式bi=entity_embedding(si)得到文本si的实体位置嵌入bi,根据公式b0=entity_embedding(s0)得到文本s0的实体位置嵌入b0,bi∈r
l
×e,b0∈r
l
×e;
19.d-3)实体entj中包含nj个单字符,其在文本si中的位置为(l,l+n
j-1),l为实体entj在文本si中的起始位置,在vi中截取经meanpooling层,通过公式ent
i,j
=meanpooling(vi[l:l+n
j-1])∈re计算得到文本实体嵌入ent
i,j
,通过公式pi={ent
i,1
;ent
i,2
;...;ent
i,k
}∈rk×e将k个实体嵌入进行拼接,得到整体文本的实体嵌入pi,通过公式ent
0,j
=meanpooling(v0[l:l+n
j-1])∈re计算得到实体嵌入ent
0,j
,通过公式p0={ent
0,1
;ent
0,2
;...;ent
0,k
}∈rk×e将k个实体嵌入进行拼接,得到整体实体嵌入p0;
[0020]
d-4)通过公式将文本嵌入v0、文本嵌入vi、实体位置嵌入b0、实体位置嵌入bi、实体嵌入p0及实体嵌入pi进行拼接,输出维度v0∈r
(2l+k)
×e,vi∈r
(2l+k)
×e;
[0021]
d-5)将步骤d-4)中得到的v0与vi经过一层mlp网络进行维度变换后输出向量维度为v0∈r
(2l+k)
×
3e
,vi∈r
(2l+k)
×
3e

[0022]
d-6)构建交叉知识注意力网络,将v0∈r
(2l+k)
×
3e
,vi∈r
(2l+k)
×
3e
通过多头注意力机制处理后分别得到v0的交叉注意力表示crossattention(v0)∈r
(2l+k)
×e以及vi的交叉注意力表示crossattention(vi)∈r
(2l+k)
×e,crossattention(v0)∈r
(2l+k)
×e表示为a0,
crossattention(vi)∈r
(2l+k)
×e表示为ai;
[0023]
d-7)将交叉注意力表示a0及ai导入transformer层;
[0024]
d-8)将步骤d-7)的输出在句长length维度分别进行maxpooling和meanpooling操作,得到将将四个张量进行拼接,输出维度outputi∈r
(2l+k)
×
4e

[0025]
d-9)对步骤d-6)中交叉知识注意力网络采用随机梯度下降法,利用交叉熵损失函数进行逐步训练。
[0026]
进一步的,步骤d-9)中训练时,通过两层mlp网络层,中间层激活函数使用relu激活函数,最后一层网络使用softmax激活函数,通过公式交叉熵函数l,yi为文本的真实标签,为模型预测出的标签数值,。n为全部样本的数量。
[0027]
本发明的有益效果是:利用知识注意力的相互交叉的方式,提供了电子病历文本间知识信息传递的一种有效模式。知识信息来源两部分,一是文本内的实体信息,二是实体位置信息。电子病历中的实体是作为整体发挥作用的,传统方法只考虑实体内单字的作用,缺乏实体的整体交互作用,知识注意力机制可以很好的刻画实体间的相互关系,交互模式为文本间知识信息传递提供了通道,能够在多文本相似度量方面给出有效评估。在给定原始电子病历文本、若干个判断文本及相似文本标签的情况下,提高了电子病历文本间相似检索精度。
具体实施方式
[0028]
下面对本发明做进一步说明。
[0029]
一种融合交叉知识注意力的电子病历相似检索方法,包括如下步骤:
[0030]
a)数据处理:将输入电子病历文本s0和n个电子病历判断文本{s1,s2,...,sn},设定最大字符长度为l,将输入电子病历文本中文本长度超过l的部分截掉,不足的部分进行特定字符补全,其中l及n均为正整数;
[0031]
b)实体标记获取:利用现有实体库或利用神经网络模型抽取实体信息的方式进行实体标记;
[0032]
c)将电子病历文本s0及n个电子病历判断文本{s1,s2,...,sn}的构成的电子病历文本集合{s0,s1,s2,...,sn}经步骤b)中实体标记后得到文本实体标签信息;
[0033]
d)知识模型构建:将实体标记与电子病历文本s0、n个电子病历判断文本{s1,s2,...,sn}中原始字符进行拼接,拼接后一同输入到知识模型,输出文本集合{s1,s2,...,sn}中每一个文本相较于s0的相似度概率值;
[0034]
e)设定最大返回数量m,从n个电子病历判断文本{s1,s2,...,sn}内输出m条s0的相似文本序列,相似程度依次递减,其中m≤n。
[0035]
利用知识注意力的相互交叉的方式,提供了电子病历文本间知识信息传递的一种有效模式。知识信息来源两部分,一是文本内的实体信息,二是实体位置信息。电子病历中的实体是作为整体发挥作用的,传统方法只考虑实体内单字的作用,缺乏实体的整体交互
作用,知识注意力机制可以很好的刻画实体间的相互关系,交互模式为文本间知识信息传递提供了通道,能够在多文本相似度量方面给出有效评估。在给定原始电子病历文本、若干个判断文本及相似文本标签的情况下,提高了电子病历文本间相似检索精度。
[0036]
进一步的,d)包括如下步骤:
[0037]
d-1)将电子病历文本s0与一电子病历判断文本si,(i=1,...,n)输入到预训练语言模型,分别生成文本嵌入表示v0∈r
l
×e及vi∈r
l
×e,其中e为预训练语言模型的输出维度,r为实数空间;
[0038]
d-2)通过公式利用步骤c)中获得的文本实体标签信息的实体集合表示为en={ent0,ent1,...,entk},k为文本集合{s0,s1,s2,...,sn}中最大实体数量,通过公式计算得到文本si中的第j个单字w
i,j
与实体entk之间的距离distance(w
i,j
,entk),得到文本si中每个字的实体位置,其中j≤l,如w
i,j
∈entk,w
i,j
与entk之间距离为0,根据实体位置的最大数量entity_size初始化词嵌入权重矩阵,初始化权重矩阵维度为r
entity_size
×e的实体位置嵌入层entity_embedding,根据公式bi=entity_embedding(si)得到文本si的实体位置嵌入bi,根据公式b0=entity_embedding(s0)得到文本s0的实体位置嵌入b0,bi∈r
l
×e,b0∈r
l
×e;
[0039]
d-3)实体entj中包含nj个单字符,其在文本si中的位置为(l,l+n
j-1),l为实体entj在文本si中的起始位置,在vi中截取经meanpooling层,通过公式ent
i,j
=meanpooling(vi[l:l+n
j-1])∈re计算得到文本实体嵌入ent
i,j
,通过公式pi={ent
i,1
;ent
i,2
;...;ent
i,k
}∈rk×e将k个实体嵌入进行拼接,得到整体文本的实体嵌入pi,通过公式ent
0,j
=meanpooling(v0[l:l+n
j-1])∈re计算得到实体嵌入ent
0,j
,通过公式p0={ent
0,1
;ent
0,2
;...;ent
0,k
}∈rk×e将k个实体嵌入进行拼接,得到整体实体嵌入p0;
[0040]
d-4)通过公式将文本嵌入v0、文本嵌入vi、实体位置嵌入b0、实体位置嵌入bi、实体嵌入p0及实体嵌入pi进行拼接,输出维度v0∈r
(2l+k)
×e,vi∈r
(2l+k)
×e;
[0041]
d-5)将步骤d-4)中得到的v0与vi经过一层mlp网络进行维度变换后输出向量维度为v0∈r
(2l+k)
×
3e
,vi∈r
(2l+k)
×
3e

[0042]
d-6)构建交叉知识注意力网络,将v0∈r
(2l+k)
×
3e
,vi∈r
(2l+k)
×
3e
通过多头注意力机制处理后分别得到v0的交叉注意力表示crossattention(v0)∈r
(2l+k)
×e以及vi的交叉注意力表示crossattention(vi)∈r
(2l+k)
×e,crossattention(v0)∈r
(2l+k)
×e表示为a0,crossattention(vi)∈r
(2l+k)
×e表示为ai;
[0043]
d-7)将交叉注意力表示a0及ai导入transformer层;
[0044]
d-8)将步骤d-7)的输出在句长length维度分别进行maxpooling和meanpooling操作,得到将将四个张量进行拼接,输出维度outputi∈r
(2l+k)
×
4e

[0045]
d-9)对步骤d-6)中交叉知识注意力网络采用随机梯度下降法,利用交叉熵损失函数进行逐步训练。
[0046]
步骤d-9)中训练时,通过两层mlp网络层,中间层激活函数使用relu激活函数,最后一层网络使用softmax激活函数,通过公式交叉熵函数l,yi为文本的真实标签,为模型预测出的标签数值,。n为全部样本的数量。
[0047]
下面通过一个具体的实施例对本发明进行进一步说明:现有医学电子病历文本共790899条,设定每个病历文本对应的判断样本最大数量为15,文本集合中所含实体的最大数量为30,实体位置的最大数量为250,相似文本的返回数量为5。步骤a)中输入电子病历文本s0和15个电子病历判断文本{s1,s2,...,s
15
},经统计,设定最大字符长度为250,将文本长度超过250的部分截掉,不足的部分用“padding填充法”补全。步骤b)中利用cmekg、中文症状库等现有实体知识库进行实体标记。步骤c)中将文本集合{s1,s2,...,s
15
}经步骤b)得到文本实体标记,即对于一端文本,标记处文本中的实体所在。步骤d)中,将实体标记与原始字符进行拼接,一同输入到知识模型,输出文本{s1,s2,...,s
15
}相较于s0的相似度概率值。
[0048]
步骤d)的具体步骤为:
[0049]
d-1)将电子病历文本s0与一电子病历判断文本si,(i=1,...,n)输入到预训练语言模型,分别生成文本嵌入表示v0∈r
l
×e及vi∈r
l
×e,其中e为预训练语言模型的输出维度,r为实数空间。选取文本嵌入维度e为384,预训练语言模型为bert模型,将文本输入bert模型,可以得到每个文本的嵌入表示,输出张量维度为r
250
×
384

[0050]
d-2)通过公式利用步骤c)中获得的文本实体标签信息的实体集合表示为en={ent0,ent1,...,entk},k为文本集合{s0,s1,s2,...,sn}中最大实体数量,通过公式计算得到文本si中的第j个单字w
i,j
与实体entk之间的距离distance(w
i,j
,ent),得到文本si中每个字的实体位置,其中j≤l,如w
i,j
∈entk,w
i,j
与entk之间距离为0,根据实体位置的最大数量entity_size初始化词嵌入权重矩阵,初始化权重矩阵维度为r
entity_size
×e的实体位置嵌入层entity_embedding,根据公式bi=entity_embedding(si)得到文本si的实体位置嵌入bi,根据公式b0=entity_embedding(s0)得到文本s0的实体位置嵌入b0,bi∈r
l
×e,b0∈r
l
×e,此时每个文本输出维度为r
250
×
384

[0051]
d-3)实体entj中包含nj个单字符,其在文本si中的位置为(l,l+n
j-1),l为实体entj在文本si中的起始位置,在vi中截取经meanpooling层,通过公式ent
i,j
=meanpooling(vi[l:l+n
j-1])∈re计算得到文本实体嵌入ent
i,j
,通过公式pi={ent
i,1
;ent
i,2
;...;ent
i,k
}∈rk×e将k个实体嵌入进行拼接,得到整体文本的实体嵌入pi,通过公式ent
0,j
=meanpooling(v0[l:l+n
j-1])∈re计算得到实体嵌入ent
0,j
,通过公式p0={ent
0,1
;ent
0,2
;...;ent
0,k
}∈rk×e将k个实体嵌入进行拼接,得到整体实体嵌入p0,输出维度为r
30
×
384

[0052]
d-4)通过公式将文本嵌入v0、文本嵌入vi、实体位置嵌入b0、实体位
置嵌入bi、实体嵌入p0及实体嵌入pi进行拼接,输出维度v0∈r
(2l+k)
×e,vi∈r
(2l+k)
×e;,输出维度为r
530
×
384

[0053]
d-5)将步骤d-4)中得到的v0与vi经过一层mlp网络进行维度变换后输出向量维度为v0∈r
(2l+k)
×
3e
,vi∈r
(2l+k)
×
3e
,输出维度为r
530
×
1152

[0054]
d-6)构建交叉知识注意力网络,将v0∈r
(2l+k)
×
3e
,vi∈r
(2l+k)
×
3e
通过多头注意力机制处理后分别得到v0的交叉注意力表示crossattention(v0)∈r
(2l+k)
×e以及vi的交叉注意力表示crossattention(vi)∈r
(2l+k)
×e,crossattention(v0)∈r
(2l+k)
×e表示为a0,crossattention(vi)∈r
(2l+k)
×e表示为a1;
[0055]
d-7)将交叉注意力表示a0及a1导入transformer层;
[0056]
d-8)将步骤d-7)的输出在句长length维度分别进行maxpooling和meanpooling操作,得到将将四个张量进行拼接,输出维度outputi∈r
(2l+k)
×
4e
,输出维度为r
1536

[0057]
d-9)对步骤d-6)中交叉知识注意力网络采用随机梯度下降法,利用交叉熵损失函数进行逐步训练。
[0058]
步骤d-9)中训练时,通过两层mlp网络层,中间层激活函数使用relu激活函数,输出维度为r
15
×
512
,最后一层网络使用softmax激活函数,通过公式交叉熵函数l,yi为文本的真实标签,为模型预测出的标签数值,。n为全部样本的数量,最后输出层的output输出维度为r
15

[0059]
e)在实际使用的预测过程中,设定相似文本的最大返回数量为5,从判断文本中输出5条相似文本序列,相似程度依次递减。
[0060]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1