1.一种基于多源词典的交叉Transformer中文医疗命名实体识别方法,其特征在于包括以下步骤:S1:多源词典匹配模块(MLM):
1).将原始文本复制2份,分别与通用词典、医疗词典进行匹配;将匹配的词汇拼接在文本的后面,分别得到包含通用词典词汇的新文本序列Sg和包含医疗词典词汇的新文本序列Sm;后续和文本序列Sg相关的变量会添加上标g,和文本序列Sm相关的变量会添加上标m;
2).将文本中的字符和词汇统称为片段,通过检索预训练的词典向量表,得到文本序列Sg的向量序列为Hg,文本序列Sm的向量序列为Hm;
3).为每个片段分配两个位置索引:片段第一个字符所在的位置索引head,片段最后一个字符所在的位置索引tail;通过计算两个片段head、tail的差值来得到片段i和片段j之间的相对位置大小hij,tij,公式如下:hij=head[i]‑head[j]#(1)
tij=tai[i]‑tail[j]#(2)
其中head[i]表示片段i的head索引,head[j]表示片段j的head索引,tail[i]表示片段i的tail索引,tail[i]表示片段i的tail索引;然后,计算相对位置大小的向量表示Pd,公式如下:其中d表示相对位置大小,k表示位置索引,dmodel表示模型的维度; 表示向量Pd维度索引为奇数时的值, 表示向量Pd维度索引为偶数时的值;通过公式(3)、(4),得到相对位置大小为时的向量表示Ph,相对位置大小为tij时的向量表示Pt;之后,计算片段i和片段j的相对位置向量Rij;公式如下:其中Wr是随机初始化的参数;ReLU表示ReLU激活函数,表示向量拼接;参数Wr会随着模型多轮训练自动更新,模型训练轮数的取值范围在50到100之间,最终保存多轮训练结果中验证集F1值最高的参数;后续参数的确定方法相同;
通过公式(5),可以得到向量序列Hg中片段i和片段j的相对位置向量 向量序列Hm中片段i和片段j的相对位置向量S2:特征提取模块(FE)
特征提取模块FE采用Flat Lattice Transformer模型(FLAT);FLAT接收上一步得到的文本向量序列Hg、Hm以及对应的相对位置向量 然后通过嵌入相对位置的多头注意力机制提取片段向量序列Hg的语义特征Fg,提取片段向量序列Hm的语义特征Fm;Fg、Fm包含了文本的上下文语义特征和文本匹配词汇的词汇语义特征;计算公式如下:g g
Fg=softmax(A)V#(9)
m m
Fm=softmax(A)V#(10)
g
V=WgHg#(12)
m
V=WmHm#(13)
g m
其中,V 、V分别表示Hg、Hm经过线性变化后的向量,Hi表示片段i的向量,Hj表示片段j的m向量,Aij表示片段i和片段j的注意力权重;A通过公式(11)得到,表示向量序列Hm中所有片g段之间的注意力权重矩阵;A通过公式(11)得到,表示向量序列Hg中所有片段之间的注意力权重矩阵;Wg、Wm、Wq、Wk,R、Wk,H、u、v都是随机初始化的参数,会随着模型多轮训练自动更新,模型训练轮数的取值范围在50到100之间;
S3:交叉Transformer模块(CT)
交叉Transformer模块(Cross Transformer,简写为CT)接收上一步得到的词汇增强后的文本特征Fg、Fm;在CT模块中,首先通过交叉注意力机制,来交互Fg、Fm之间的信息,得到交inter‑gc inter‑mc互增强后的文本特征F 、F ;计算公式如下:
inter‑gc
F =CrossAttg→m(Fg,Fm)Fm#(14)inter‑mc
F =CrossAttm→g(Fm,Fg)Fg#(15)g
其中CrossAtt表示计算交叉注意力权重;g→m表示以F作为CrossAtt的查询条件,以Fm作为CrossAtt的查询字段;m→g表示以Fm作为CrossAtt的查询条件,以Fg作为CrossAtt的查询字段;然后,将交互增强后的信息和输入之前的信息拼接起来,并通过线性变换Linear来保持维度不变,得到最终的交互增强特征Fgc、Fmc;公式如下:inter‑gc
Fgc=Linear[Fg;F ]#(16)
inter‑mc
Fmc=Linear[Fm;F ]#(17)
S4:特征动态融合模块(FGF)
不同的特征在不同的句子中有不同程度的影响,因此采用特征动态融合模块FGF来动态的选择对特征Fgc、Fmc融合后保留的比重;FGF采用门控机制,使用门控向量Vgate对上一步得到的词汇增强后的文本特征Fg、Fm进行加权求和,得到融合后的特征Ff;公式如下:hgc=tanh(FgcWgc+bgc)#(18)hmc=tanh(FmcWmc+bmc)#(19)Vgate=σ(([hgc;hmc])Wgate)#(20)Ff=VgateFgc+(1‑Vgate)Fmc#(21)其中,hgc、hmc分别表示Fgc、Fmc经过非线性变换后的向量,Wgc,Wmc,Wgate,bgc,bmc是是随机初始化的参数,会随着模型多轮训练自动更新,模型训练轮数的取值范围在50到100之间;σ表示sigmod激活函数,tanh表示tanh激活函数;
S5:标签预测模块(LP)
标签预测模块采用全连接网络和CRF层对上一步得到的特征Ff进行标签预测;全连接网络将文本特征映射到标签分布空间,输出标签预测概率;CRF层接收全连接网络输出的标签预测概率,输出最优的序列标注结果。