一种基于多源词典的交叉Transformer中文医疗命名实体识别方法

allin2023-03-14  140


一种基于多源词典的交叉transformer中文医疗命名实体识别方法
技术领域
1.本发明提出一种基于多源词典的交叉transformer中文医疗命名实体识别方法,其涉及的技术领域为命名实体识别。


背景技术:

2.随着电子病历的广泛应用,自然语言处理技术在医学领域的研究和应用受到了广泛关注。目前,临床医学信息大多存储在非结构化(或半结构化)文本中,医学命名实体识别(ner)可以从这些文本中提取关键患者信息,以支持医学研究和治疗决策。与英语的ner不同,中文的ner没有明显的单词边界,不同的分词可能有不同的含义,这导致任务更加困难。
3.最近有很多与中文医疗ner任务相关的工作。ner任务可以视为一种序列标注任务。一种直观的方法是先进行分词,然后处理词级的序列标注任务,但是这种方法引入了错误传播的问题,如果第一步分词出现错误,那么将会导致第二步实体识别也出现错误。另一种是直接处理字级的序列标注任务,通常比基于词的方法更好。这种方法的缺点是它没有利用词信息,而词边界通常对中文实体识别起着至关重要的作用。一些新的研究借鉴了基于字符模型的优点,将词典中的单词信息纳入基于字的模型中,可以显着提高中文医疗ner的有效性。然而,这些研究只利用了单个词典的信息进行中文医疗ner,难以融合多源词典的信息来增强中文医疗ner。一方面,由于中文医疗文本中存在大量医学术语实体和非医疗词汇的实体,单个通用词典,只能涵盖其中部分实体,限制了对中文医疗ner的性能提升。另一方面,由于不同语料上预训练的词向量分布不同,多源词典难以直接使用,需要对向量分布空间不同的多源词典信息进行有效的融合。
4.因此,为了让词典可以覆盖更多的中文医疗文本中的实体,并有效的融合向量分布空间不同的词典信息,本专利提出了基于多源词典的交叉transformer中文医疗命名实体识别方法。该方法可以同时使用通用词典信息和医疗领域词典信息,来提升词典和实体之间的匹配率。此外,还可以利用交叉注意力机制,来有效的融合不同分布空间的多源词典信息,提升中文医疗ner的性能。进而,帮助医生获得更优质的医疗文本结构化信息。


技术实现要素:

5.针对现有研究的不足,本专利提出基于多源词典的交叉transformer中文医疗命名实体识别方法,可以同时使用通用词典信息和医疗领域词典信息。为了实现该方法本发明采取如下技术方案:
6.加入多源词典信息,通过特征提取模块,分别提取通用词汇增强的文本特征和医疗词汇增强的文本特征。然后,通过交叉transformer模块,将上一步得到的2种特征进行交互增强,并动态的进行融合。最终,使用融合后的文本特征来一起预测中文医疗文本中的实体。
7.上述方案的具体实现和训练方法包括:
8.s1:将原始文本输入到多源词典匹配模块(mlm),得到包含通用词典匹配词汇的片段向量序列hg和包含医疗词典匹配词汇的片段向量序列hm,以及片段之间的相对位置向量r。
9.s2:将hg、hm、r输入到特征提取模块(fe),分别得到通用词汇增强的文本特征fg和医疗词汇增强的文本特征fm。
10.s3:将fg、fm输入到交叉transformer模块(ct),分别得到交互增强的文本特征f
gc
、f
mc

11.s4:将f
gc
、f
mc
输入到特征动态融合模块(fgf),得到包含多源词典信息的文本特征ff。
12.s5::将ff输入到标签预测模块(lp),得到预测的文本序列标注结果。
13.本发明提出一种基于多源词典的交叉transformer中文医疗实体识别方法,可以同时使用通用词典信息和医疗领域词典信息。通过加入多源词典信息,提高了词典和实体的匹配率。同时,通过设计交叉transformer结构,来将多源词典中不同分布的词向量可以动态的进行融合。最终,使用融合后的多源词典特征来一起预测中文医疗文本中的实体。通过该方法的实践和应用,可以有效的利用多源词典信息来提升中文医疗实体识别的性能。同时,多源词典信息也可以看作为一种先验知识,通过引入外部丰富的知识信息,还可以缓解实际应用中中文医疗实体识别语料标注难、样本少的问题。
附图说明
14.结合附图和实施例对本发明进一步说明。
15.图1为本发明提供的实施例主体流程图。
16.图2为本发明提供的实施例词典匹配示意图。
17.图3为本发明提供的实施例主体框架示意图。
具体实施方式
18.现在结合附图1、图2和图3,对本发明作进一步详细的说明,包括如下几个步骤:
19.s1:多源词典匹配模块(mlm):
20.1.将原始文本复制2份,分别与通用词典、医疗词典进行匹配。将匹配的词汇拼接在文本的后面,分别得到包含通用词典词汇的新文本序列sg和包含医疗词典词汇的新文本序列sm。后续和文本序列sg相关的变量会添加上标g,和文本序列sm相关的变量会添加上标m。
21.2.将文本中的字符和词汇统称为片段,通过检索预训练的词典向量表,可以得到文本序列sg的向量序列为hg,文本序列sm的向量序列为hm。
22.3.为每个片段分配两个位置索引:片段第一个字符所在的位置索引h,片段最后一个字符所在的位置索引tail。通过计算两个片段h、tail的差值来得到片段i和片段j之间的相对位置大小h
ij
,t
ij
,公式如下:
23.h
ij
=head[i]-head[j]#(1)
[0024]
t
ij
=tai[i]-tail[j]#(2)
[0025]
其中head[i]表示片段i的head索引,head[j]表示片段j的head索引,tail[i]表示
片段i的tail索引,tail[i]表示片段i的tail索引。然后,计算相对位置大小的向量表示pd,公式如下:
[0026][0027][0028]
其中d表示相对位置大小,k表示位置索引,d
model
表示模型的维度。表示向量pd维度索引为奇数时的值,表示向量pd维度索引为偶数时的值。通过公式(3)、(4),可以得到相对位置大小为时的向量表示ph,相对位置大小为t
ij
时的向量表示p
t
。之后,计算片段i和片段j的相对位置向量r
ij
。公式如下:
[0029][0030]
其中wr是随机初始化的参数。relu表示relu激活函数,表示向量拼接。参数wr会随着模型多轮训练自动更新,通常模型训练轮数的取值范围在50到100之间,最终保存多轮训练结果中验证集f1值最高的参数。后续参数的确定方法相同。f1值的计算方式如下:
[0031][0032][0033][0034]
其中,gold
num
表示金标准数量,predict
num
表示预测数量,correct
num
表示预测正确的数量,precision表示准确率,recall表示召回率。
[0035]
通过公式(5),可以得到向量序列hg中片段i和片段j的相对位置向量向量序列hm中片段i和片段j的相对位置向量
[0036]
s2:特征提取模块(fe)
[0037]
特征提取模块fe采用flat lattice transformer模型(flat)。flat接收上一步得到的文本向量序列hg、hm以及对应的相对位置向量然后通过嵌入相对位置的多头注意力机制提取片段向量序列hg的语义特征fg,提取片段向量序列hm的语义特征fm。fg、fm包含了文本的上下文语义特征和文本匹配词汇的词汇语义特征。计算公式如下:
[0038]fg
=softmax(ag)vg#(9)
[0039]mm
=softmax(am)vm#(10)
[0040][0041]vg
=wghg#(12)
[0042]
ym=w
mhm
#(13)
[0043]
其中,vg、vm分别表示hg、hm经过线性变化后的向量,hi表示片段i的向量,hj表示片段j的向量,a
ij
表示片段i和片段j的注意力权重。am通过公式(11)得到,表示向量序列hm中所有片段之间的注意力权重矩阵。ag通过公式(11)得到,表示向量序列hg中所有片段之间的注意力权重矩阵。wg、wm、wq、w
k,r
、w
k,h
、u、v都是随机初始化的参数,会随着模型多轮训练自动
更新,通常模型训练轮数的取值范围在50到100之间。
[0044]
s3:交叉transformer模块(ct)
[0045]
交叉transformer模块(cross transformer,简写为ct)接收上一步得到的词汇增强后的文本特征fg、fm。在ct模块中,首先通过交叉注意力机制,来交互fg、fm之间的信息,得到交互增强后的文本特征f
inter-gc
、f
inter-mc
。计算公式如下:
[0046]finter-gc
=crossattg→m(fg,fm)fm#(14)
[0047]finter-mc
=crossattm→g(fm,fg)fg#(15)
[0048]
其中crossatt表示计算交叉注意力权重。g

m表示以fg作为crossatt的查询条件,以fm作为crossatt的查询字段。m

g表示以fm作为crossatt的查询条件,以fg作为crossatt的查询字段。然后,将交互增强后的信息和输入之前的信息拼接起来,并通过线性变换linear来保持维度不变,得到最终的交互增强特征f
gc
、f
mc
。公式如下:
[0049]fgc
=linear[fg;f
inter-gc
]#(16)
[0050]fmc
=linear[fm;f
inter-mc
]#(17)
[0051]
s4:特征动态融合模块(fgf)
[0052]
不同的特征在不同的句子中有不同程度的影响,因此采用特征动态融合模块fgf来动态的选择对特征f
gc
、f
mc
融合后保留的比重。fgf采用门控机制,使用门控向量v
gate
对上一步得到的词汇增强后的文本特征fg、fm进行加权求和,得到融合后的特征ff。公式如下:
[0053]hgc
=tanh(f
gcwgc
+b
gc
)#(18)
[0054]hmc
=tanh(f
mcwmc
+b
mc
)#(19)
[0055]vgate
=σ(([([h
gc
;h
mc
])w
gate
)#(20)
[0056]ff
=v
gatefgc
+(1-v
gate
)f
mc
#(21)
[0057]
其中,h
gc
、h
mc
分别表示f
gc
、f
mc
经过非线性变换后的向量,w
gc
,w
mc
,w
gate
,b
gc
,b
mc
是是随机初始化的参数,会随着模型多轮训练自动更新,通常模型训练轮数的取值范围在50到100之间。σ表示sigmod激活函数,tanh表示tanh激活函数。
[0058]
s5:标签预测模块(lp)
[0059]
标签预测模块采用全连接网络和crf层对上一步得到的特征ff进行标签预测。全连接网络将文本特征映射到标签分布空间,输出标签预测概率。crf层接收全连接网络输出的标签预测概率,输出最优的序列标注结果。

技术特征:
1.一种基于多源词典的交叉transformer中文医疗命名实体识别方法,其特征在于包括以下步骤:s1:多源词典匹配模块(mlm):1).将原始文本复制2份,分别与通用词典、医疗词典进行匹配;将匹配的词汇拼接在文本的后面,分别得到包含通用词典词汇的新文本序列s
g
和包含医疗词典词汇的新文本序列s
m
;后续和文本序列s
g
相关的变量会添加上标g,和文本序列s
m
相关的变量会添加上标m;2).将文本中的字符和词汇统称为片段,通过检索预训练的词典向量表,得到文本序列s
g
的向量序列为h
g
,文本序列s
m
的向量序列为h
m
;3).为每个片段分配两个位置索引:片段第一个字符所在的位置索引head,片段最后一个字符所在的位置索引tail;通过计算两个片段head、tail的差值来得到片段i和片段j之间的相对位置大小h
ij
,t
ij
,公式如下:h
ij
=head[i]-head[j]#(1)t
ij
=tai[i]-tail[j]#(2)其中head[i]表示片段i的head索引,head[j]表示片段j的head索引,tail[i]表示片段i的tail索引,tail[i]表示片段i的tail索引;然后,计算相对位置大小的向量表示p
d
,公式如下:如下:其中d表示相对位置大小,k表示位置索引,d
model
表示模型的维度;表示向量p
d
维度索引为奇数时的值,表示向量p
d
维度索引为偶数时的值;通过公式(3)、(4),得到相对位置大小为时的向量表示p
h
,相对位置大小为t
ij
时的向量表示p
t
;之后,计算片段i和片段j的相对位置向量r
ij
;公式如下:其中w
r
是随机初始化的参数;relu表示relu激活函数,表示向量拼接;参数w
r
会随着模型多轮训练自动更新,模型训练轮数的取值范围在50到100之间,最终保存多轮训练结果中验证集f1值最高的参数;后续参数的确定方法相同;通过公式(5),可以得到向量序列h
g
中片段i和片段j的相对位置向量向量序列h
m
中片段i和片段j的相对位置向量s2:特征提取模块(fe)特征提取模块fe采用flat lattice transformer模型(flat);flat接收上一步得到的文本向量序列h
g
、h
m
以及对应的相对位置向量然后通过嵌入相对位置的多头注意力机制提取片段向量序列h
g
的语义特征f
g
,提取片段向量序列h
m
的语义特征f
m
;f
g
、f
m
包含了文本的上下文语义特征和文本匹配词汇的词汇语义特征;计算公式如下:f
g
=softmax(a
g
)v
g
#(9)f
m
=softmax(a
m
)v
m
#(10)v
g
=w
g
h
g
#(12)
v
m
=w
m
h
m
#(13)其中,v
g
、v
m
分别表示h
g
、h
m
经过线性变化后的向量,h
i
表示片段i的向量,h
j
表示片段j的向量,a
ij
表示片段i和片段j的注意力权重;a
m
通过公式(11)得到,表示向量序列h
m
中所有片段之间的注意力权重矩阵;a
g
通过公式(11)得到,表示向量序列h
g
中所有片段之间的注意力权重矩阵;w
g
、w
m
、w
q
、w
k,r
、w
k,h
、u、v都是随机初始化的参数,会随着模型多轮训练自动更新,模型训练轮数的取值范围在50到100之间;s3:交叉transformer模块(ct)交叉transformer模块(cross transformer,简写为ct)接收上一步得到的词汇增强后的文本特征f
g
、f
m
;在ct模块中,首先通过交叉注意力机制,来交互f
g
、f
m
之间的信息,得到交互增强后的文本特征f
inter-gc
、f
inter-mc
;计算公式如下:f
inter-gc
=crossatt
g

m
(f
g
,f
m
)f
m
#(14)f
inter-mc
=crossatt
m

g
(f
m
,f
g
)f
g
#(15)其中crossatt表示计算交叉注意力权重;g

m表示以f
g
作为crossatt的查询条件,以f
m
作为crossatt的查询字段;m

g表示以f
m
作为crossatt的查询条件,以f
g
作为crossatt的查询字段;然后,将交互增强后的信息和输入之前的信息拼接起来,并通过线性变换linear来保持维度不变,得到最终的交互增强特征f
gc
、f
mc
;公式如下:f
gc
=linear[f
g
;f
inter-gc
]#(16)f
mc
=linear[f
m
;f
inter-mc
]#(17)s4:特征动态融合模块(fgf)不同的特征在不同的句子中有不同程度的影响,因此采用特征动态融合模块fgf来动态的选择对特征f
gc
、f
mc
融合后保留的比重;fgf采用门控机制,使用门控向量v
gate
对上一步得到的词汇增强后的文本特征f
g
、f
m
进行加权求和,得到融合后的特征f
f
;公式如下:h
gc
=tanh(f
gc
w
gc
+b
gc
)#(18)h
mc
=tanh(f
mc
w
mc
+b
mc
)#(19)v
gate
=σ(([h
gc
;h
mc
])w
gate
)#(20)f
f
=v
gate
f
gc
+(1-v
gate
)f
mc
#(21)其中,h
gc
、h
mc
分别表示f
gc
、f
mc
经过非线性变换后的向量,w
gc
,w
mc
,w
gate
,b
gc
,b
mc
是是随机初始化的参数,会随着模型多轮训练自动更新,模型训练轮数的取值范围在50到100之间;σ表示sigmod激活函数,tanh表示tanh激活函数;s5:标签预测模块(lp)标签预测模块采用全连接网络和crf层对上一步得到的特征f
f
进行标签预测;全连接网络将文本特征映射到标签分布空间,输出标签预测概率;crf层接收全连接网络输出的标签预测概率,输出最优的序列标注结果。

技术总结
本发明涉及一种基于多源词典的交叉Transformer中文医疗命名实体识别方法。本发明加入多源词典信息,通过特征提取模块,分别提取通用词汇增强的文本特征和医疗词汇增强的文本特征。然后,通过交叉Transformer模块,将上一步得到的2种特征进行交互增强,并动态的进行融合。最终,使用融合后的文本特征来一起预测中文医疗文本中的实体。该方法可以同时使用通用词典信息和医疗领域词典信息,来提升词典和实体之间的匹配率。词典和实体之间的匹配率。词典和实体之间的匹配率。


技术研发人员:李建强 肖银龙 徐曦
受保护的技术使用者:北京工业大学
技术研发日:2022.03.30
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-6020.html

最新回复(0)