基于图注意力网络和字词融合的医疗命名实体识别方法

未命名 09-16 阅读:72 评论:0


1.本发明属于自然语言处理领域,具体涉及一种基于图注意力网络和字词融合的医疗命名实体识别方法。


背景技术:

2.医疗文本中记录了患者的诊疗信息,包含了大量医疗文本记录,这是非常重要的医学资源。在这个信息化的时代,积累了大量的电子病历文本数据。但这些信息大多以非结构化的形式被记录在电子病例中,为了高效利用这些文本信息,需要对其进行结构化,自然语言处理(nlp)领域的命名实体识别(ner)技术能够起到重要的作用。通过命名实体识别,可以快速提取出电子病例中的有效信息,例如识别出疾病和诊断、影像检查、实验室检验、手术、药物、解剖部位等实体,为医生阅读各种不同记录风格的电子病历节省时间,提高医生的工作效率。因此,医学命名实体识别有着极其重要的意义。
3.目前,命名实体识别技术主要有基于规则和字典的方法、基于统计学习的方法和基于深度学习的方法。其中基于深度学习的方法由于不需要太多的专业领域知识且具有较好的效果在命名实体识别方面越来越受欢迎。随着图神经网络的发展,将图神经网络运用到命名实体识别也有着非常重要的研究价值。现有的引入图神经网络进行命名实体识别的方法大致有以下几种:
4.基于词典且具有全局语义的图神经网络方法。该方法将句子转化为一个有向图,句子中的每一个字符作为节点,每一个词语做为边。节点的状态表示字的特征,边的状态表示词语的特征,并且再维护一个全局中继节点从节点和边收集信息。之后将与节点相邻的边的信息聚合到节点上,将与边相邻的节点信息聚合到边上,将每个节点和边信息聚合到全局中继节点上。再为节点、边、全局中继节点分别设计更新模块,对信息进行更新。循环聚合和更新这个过程,最后将节点送入条件随机场层进行解码。
5.基于图注意力网络的协作图网络方法。该方法将字符和词语都作为结点,构建了3个字符-词语交互网络,第一个是包含图,它模拟字符和词汇之间的包含关系,若某个字符包含于一个自匹配词里,则这个字符和自匹配词相连。第二个图是过渡图,用于表示字符与字符之间、字符与词语之间、词语与词语之间的邻接关系,将相邻的结点连接起来。第三个图是格图,使用格结构来整合词汇知识。再通过一个融合层将3个图捕获的不同知识融合起来。
6.然而,这些方法没有充分利用词汇信息,不能解决字符向量表达能力不足的问题。


技术实现要素:

7.针对现有技术存在的问题,本发明提供一种基于图注意力网络和字词融合的医疗命名实体识别方法,构建实体识别网络,该网络包括嵌入层、图注意力层、上下文编码层以及条件随机场层,进行实体识别的过程包括以下步骤:
8.在嵌入层中,将待识别的文本序列输入bert模型,得到文本序列中每一个文字的
特征向量,即得到字特征;通过softlexicon方法将与文本序列中字符匹配的词汇表示层特征向量,即得到词汇特征;
9.在图注意力层,令字特征指向与之对应的词汇特征构建有向图,并利用邻接矩阵保存有向图的信息,将字特征、词汇特征及其对应的邻接矩阵利用图注意力网络进行融合,得到字词特征向量;
10.在上下文编码层,利用bilstm网络对字词特征向量进行上下文语义提取,得到上下文语义向量;
11.将上下文语义向量输入条件随机场层,预测得到文本序列对应的标签。
12.本发明将字信息和字的匹配词信息通过图注意力网络以交互的方式进行了融合,可以充分利用词汇信息提高字符向量的表达能力。此外,单一的图注意力网络不足以提取出理想的特征,本发明在图注意力网络的基础上增加了前馈神经网络,为了使信息传递得更深,在图注意力网络和前馈神经网络之间加入了残差连接,并进行层归一化的操作,可以进一步提高网络的能力。
附图说明
13.图1为本发明基于图注意力网络和字词融合的医疗命名实体识别方法中实体识别网络训练流程图;
14.图2为本发明基于图注意力网络和字词融合的医疗命名实体识别方法中实体识别网络结构示意图;
15.图3为本发明用于图注意力网络训练时构造的有向图。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.本发明提供一种基于图注意力网络和字词融合的医疗命名实体识别方法,构建实体识别网络,该网络包括嵌入层、图注意力层、上下文编码层以及条件随机场层,进行实体识别的过程包括以下步骤:
18.在嵌入层中,将待识别的文本序列输入bert模型,得到文本序列中每一个文字的特征向量,即得到字特征;通过softlexicon方法将与文本序列中字符匹配的词汇表示层特征向量,即得到词汇特征;
19.在图注意力层,令字特征指向与之对应的词汇特征构建有向图,并利用邻接矩阵保存有向图的信息,将字特征、词汇特征及其对应的邻接矩阵利用图注意力网络进行融合,得到字词特征向量;
20.在上下文编码层,利用bilstm网络对字词特征向量进行上下文语义提取,得到上下文语义向量;
21.将上下文语义向量输入条件随机场层,预测得到文本序列对应的标签。
22.在本实施例中,医疗命名实体识别模型的训练过程如图1所示,本实施例进行训练
的过程具体包括以下步骤:
23.获取未标记的中文电子病历数据进行人工标记,并按4:1的比例分为训练数据和验证数据两部分。
24.具体地,对于句子“患者3年前无明显诱因反复出现反酸、中下腹不适,伴有恶心、嗳气,无呕吐、吞咽困难,无烧心,无腹痛、腹泻,曾行胃镜检查提示“慢性胃窦炎”(具体不详)。”与之相对应的实体标注为:
[0025]“ooooooooooooooooo b-pos i-pos i-pos ooooooooooooooooooooooooo b-pos oo b-pos ooooooooooo b-dis i-dis i-dis i-dis i-dis oooooooo”;
[0026]
在本实施例中实体类别包含了疾病和诊断、影像检查、实验室检验、手术、药物、解剖部位六个类别,其中用ope表示手术实体、lab表示实验室检验实体、dis表示疾病和诊断实体、pos表示解剖部位实体、scr表示影像检查实体、med表示药物实体,标签采用bio格式的标签,在bio格式的标签中b表示实体的开始、i表示除了实体开始的其他部分、o表示非实体的标签,例如上述句子中实体包括“中下腹”、“腹”、“慢性胃窦炎”,上述句子出现两种类型的实体,即解剖部位实体、疾病和诊断实体,以解剖部位实体“中下腹”为例,该词汇表示为“b-pos i-pos i-pos”,b-pos表示解剖部位实体“中下腹”的开始,i-pos表示解剖部位实体“中下腹”的其他部分,其他词汇以此类推,本实施例不再赘述。
[0027]
实体识别网络结构如图2所示,包括嵌入层、图注意力层(也称为图注意力网络层)、上下文编码层以及条件随机场层(也称为解码层),进行实体识别的过程包括:
[0028]
将文本序列中的字符映射成字符向量,假设病历原始文本为x={x1,...,xn},其中xi表示序列中的第i个字符,n表示序列中有n个字符;通过bert模型将字符映射成向量,表示为:
[0029]
bci=bert(xi),bci∈rd[0030]
bc=[bc1,...,bcn]∈r
n*d
[0031]
因为bert模型最多只能接收512个字符,所以统一将文本截取为256个字符的长度,若不足256个字符则采用padding方式补齐;
[0032]
其中,bci表示第i个字符的字特征向量,bc表示文本的字特征向量,d表示字符的字特征向量的维度。
[0033]
本实施例利用softlexicon算法将字符匹配到的词汇分类到词集b、词集m、词集e以及词集s这四个集合中,若字符处于匹配词的开头,则将该匹配词放入词集b中;若字符处于匹配词的中间,则将该匹配词放入词集m中;若字符处于匹配词的结尾,则将该匹配词放入词集e中;若字符本身就是一个词,则将该匹配词放入词集s中。获取了每一个字符的词集b、词集m、词集e以及词集s后,需要将每个词集压缩成一个固定维度的向量。采取以下方式将词集压缩成向量,压缩过程表示为:
[0034][0035]
其中,ew获取词汇的词向量,z(w)表示词典中词w在统计数据中的出现频率。z表示四个词集中所有词的z(w)之和。
[0036]
将字符的词汇特征向量表示为:
[0037]
li=[v(b(xi));v(m(xi));v(e(xi));v(s(xi))],li∈r
4d
[0038]
l=linear[l1,...,ln]∈r
n*d
[0039]
其中,linear[]表示线性映射,在本实施例中将字符的词汇特征向量li∈r
4d
经过线性映射就变成li∈rd,即利用线性映射进行降维操作。
[0040]
将以上方式获得的bc和l拼接起来,作为构建有向图的节点输入,则有向图的节点表示为:
[0041]
node=[bc1,...,bcn,l1,...,ln]
[0042]
构造有向图时,将第i个词的词特征bci和第j个词的词汇特征lj都做为节点,构造的有向图如图3所示,对于构造的有向图,若第i个词特征bci有指向第j个词的词汇特征lj的有向边,或者第j个词的词汇特征lj有指向第i个词特征bci的有向边,则将邻接矩阵对应位置的值置为1,若节点之间无边相连,则在邻接矩阵中对应的行列位置写0,邻接矩阵记为a,邻接矩阵为一个n
×
n的矩阵,n=2n,第1~n对应每个词的字特征的节点,第n+1~2n对应每个词的词汇特征的节点。
[0043]
利用图注意网络对每一个节点进行处理,对于n个进行处理,对于n个及诶单,若利用h={h1,h2,...,hn}表示输入数据,hi表示维度为d的输入向量,h

={h1′
,h2′
,...,h
′n}表示维度为d

的输出数据,对于某一个节点i需要考虑节点i的邻居节点对她的影响力,即与其存在边关系的节点对该节点的影响,为此本实施例中提出注意力系数α
ij
表示节点j对节点i的影响。获取注意力系数系数的过程包括以下步骤:
[0044]
计算一个节点与其相邻节点之间的相似性系数,表示为:
[0045]eij
=a
t
[whi||whj],j∈ni[0046]
其中,a和w为可训练的参数,||表示拼接操作;ni表示所有与节点i相邻的节点,即所有与节点i存在边关系的节点;
[0047]
求得相似系数后再通过softmax操作计算出注意力系数,表示为:
[0048][0049]
将e
ij
的计算公式代入上式得得到:
[0050][0051]
根据计算好的注意力系数,对特征向量进行加权求和,得到图注意力网络的输出向量:
[0052][0053]
为了得到更好的泛化能力,训练过程中采用多头注意力,即使用k组注意力层,最后将各自的输出拼接起来。公式如下:
[0054][0055]
图注意力网络层中,图注意力网络的输出hi′
将通过前馈神经网络提高网络的能
力,并采用残差连接和层归一化做进一步处理,具体包括:
[0056]
ffn(hi′
)=max(0;hi′
w1+b1)w2+b2[0057]
g=layernorm(ffn(hi′
)+hi′
)
[0058]
其中,g∈rd′
*(2n)
,将拆分为两个d
′×
n的矩阵,然后进行融合,即将矩阵g中前n个向量和后n个拆分后进行融合,融合过程表示为:
[0059]
g'=m1g[:,1:n]+m2g[:,n+1:]
[0060]
其中,g'为融合得到的字词特征向量;g[:,1:n]表示从矩阵g中截取第一列到第n列得到的特征矩阵,该矩特征矩阵作为词特征的待融合特征矩阵;g[:,n+1:]表示从矩阵g中截取第n+1列到第2n列得到的特征矩阵,该矩特征矩阵作为词汇特征的待融合特征矩阵;m1∈rd′
*d

和m2∈rd′
*d

是可训练的参数。
[0061]
获取了字词特征向量g'后,将其输入到一个bilstm网络进行分类识别。bilstm是对lstm进行改进后的网络,进行分类识别的过程表示为:
[0062]
通过bilstm网络获得字词特征向量的上下文特征;
[0063]
再将bilstm的输出向量输入到条件随机场层中;bilstm层输出的向量可以认为是句子中的字符属于每一类实体的得分,这个得分将作为crf层的发射得分,输入到crf层中;
[0064]
crf层将深度学习得到的结果与统计学习模型相结合,根据输入的特征向量计算文本中所有字符的预测标签得分,再和真实的标签求损失,反向传播,更新网络参数。
[0065]
bilstm的输出得分矩阵p的规模为n
×
m,n为字符的个数,m为标签个数,具体地,对于预测序列而言,其得分函数表示为:
[0066][0067]
其中,x={x1,...,xn}是包括n个词的文本序列,y={y1,...,yn}是每个词对应的预测标签,表示标签yi转移为标签y
i+1
的分数,比如说yi表示b-pos标签,y
i+1
表示i-pos标签,表示在b-pos下一个标签是i-pos的概率,该值在训练时初始化为一个随机分数,在训练过程中自动更新;p
i,y
表示第i个词的第j个标签的分数,该分数是bilstm网络的输出参数,是bilstm网络的crf层的发射得分,具体地,相当于n个字的文本中,将每个字用一个m维度的向量表示,即一个字分别属于每个标签的概率。
[0068]
在给出文本序列x={x1,...,xn}的情况下生成标签序列y={y1,...,yn}的概率表示为:
[0069][0070]
其中,表示预测的标签序列,y表示人工标注的标签序列,y
x
表示所有可能的标注序列;针对上式两头取对数得到预测序列的似然函数,表示为:
[0071]
[0072]
本实施例在训练过程中的损失函数表示为:
[0073][0074]
本发明在训练过程,基于梯度的方法来训练模型,迭代次数达到预设次数时,停止训练,保存f1值最高的网络参数。
[0075]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:
1.基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,构建实体识别网络,该网络包括嵌入层、图注意力层、上下文编码层以及条件随机场层,进行实体识别的过程包括以下步骤:在嵌入层中,将待识别的文本序列输入bert模型,得到文本序列中每一个文字的特征向量,即得到字特征;通过softlexicon方法将与文本序列中字符匹配的词汇表示层特征向量,即得到词汇特征;在图注意力层,令字特征指向与之对应的词汇特征构建有向图,并利用邻接矩阵保存有向图的信息,将字特征、词汇特征及其对应的邻接矩阵利用图注意力网络进行融合,得到字词特征向量;在上下文编码层,利用bilstm网络对字词特征向量进行上下文语义提取,得到上下文语义向量;将上下文语义向量输入条件随机场层,预测得到文本序列对应的标签。2.根据权利要求1所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,对实体识别网络进行训练的过程中,对未标注的中文电子病例数据进行人工标注后,得到中文电子病例原始文本及其实体标签,并将标注的数据分为训练数据和验证数据,在每一轮训练过程中利用训练数据对实体识别网络进行训练,完成训练后利用验证数据计算实体识别网络的f1分数,并将f1分数最高的一轮训练时的网络参数作为实体识别网络的最终网络参数,完成训练。3.根据权利要求2所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,将中文电子病例原始文本表示为x={x1,...,x
n
},x
i
表示中文电子病例原始文本中第i个中文字符,i∈{1,2,

,n},n为中文电子病例原始文本中中文字符的长度;标签表示为y={y1,...,y
n
},y
i
表示中文电子病例原始文本中第i个中文字符对应的标签,标签采用bio格式的标签,在bio格式的标签中b表示实体的开始、i表示除了实体开始的其他部分、o表示非实体的标签。4.根据权利要求2所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,在训练过程中,利用实体识别网络预测的标签和人工标注的标签计算损失函数,利用损失函数采用基于梯度的训练方法对实体识别网络进行参数更新,损失函数表示为:利用损失函数采用基于梯度的训练方法对实体识别网络进行参数更新,损失函数表示为:其中,ln(p(y|x))为预测序列的似然函数;a
yi,yi+1
表示标签y
i
转移为标签y
i+1
的分数;p
i,y
表示第i个词的第j个标签的分数;表示预测的标签序列,y表示人工标注的标签序列,y
x
表示所有可能的标注序列;n表示待识别的文本序列中字符的数量。5.根据权利要求1所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,对中文电子病例原始文本进行分类,即:若该文本中的字符处于匹配词的开头,则将该匹配词放入词集b中;若该文本中的字符处于匹配词的中间,则将该匹配词放入词集
m中;若该文本中的字符处于匹配词的结尾,则将该匹配词放入词集e中;若该文本中的字符本身就是一个匹配词,则将该匹配词放入词集s中;获取每个字符的词集b、词集m、词集e以及词集s,将每个词集压缩成一个固定维度的向量,然后将四个词集拼接起来得到该字符对应的词汇特征向量,表示为:l
i
=[v(b(x
i
));v(m(x
i
));v(e(x
i
));v(s(x
i
))],l
i
∈r
4d
其中,l
i
表示中文电子病例原始文本中第i个中文字符对应的词汇特征向量;v(m(x
i
))、v(m(x
i
))、v(e(x
i
))、v(s(x
i
))分别为词集b、词集m、词集e、词集s压缩成的一个固定维度的向量;d表示一个词集压缩后的向量维度;e
w
(w)为匹配词w的词向量表示,z(w)表示词典中匹配词w在统计数据中的出现频率,z表示词集b、词集m、词集e、词集s这四个词集所有词的z(w)之和;s表示词集b、词集m、词集e、词集s这四个词集中的一个集合,即s∈{词集b、词集m、词集e、词集s},w表示属于某一个词集中的一个词。6.根据权利要求1所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,构有向图时,将每个词特征和词汇特征作为有向图中的节点,第i个字特征指向与它对应的第i个词汇特征,同时第i个词汇特征指向与它对应的第i个字特征,存在指向关系的两个节点之间存在边关系,两个节点之间若不存在任何一种指向关系则不存在边关系。7.根据权利要求1所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,在图注意力层中,融合得到字词特征向量的过程包括以下步骤:根据邻接矩阵中节点的连接关系,计算一个节点的相邻节点对其的注意力系数,并根据该注意力系数对该节点向量表示进行加权;将加权后的向量表示输入一个前馈神经网络,并采用残差连接和层归一化,得到一个节点的图注意力向量表示;将字特征对应节点、词汇特征对应节点的图注意力向量表示进行融合,得到字词特征向量。8.根据权利要求1所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,根据该注意力系数对该节点向量表示进行加权的过程包括:将一个字特征作为一个节点、一个词特征作为一个节点,若总共存在n个节点,将每个节点的维度统一为d,则第i个节点表示为h
i
,将所有节点的向量表示为:h={h1,h2,...,h
n
};计算一个节点与其相邻节点之间的相似性系数,求得的相似系数后通过softmax操作计算出注意力系数,一个节点与其相邻节点之间的相似性系数表示为:e
ij
=a
t
[wh
i
||wh
j
],j∈n
i
;其中,a和w为可训练的参数,||表示拼接操作;n
i
表示所有与节点i相邻的节点,即所有与节点i存在边关系的节点;根据注意力系数,对特征向量进行加权求和,加权后的节点i的特征表示为:
其中,h
i
'为经过图注意力网络处理后第i个节点的向量表示;α
ij
表示第j个节点对第i个节点的注意力系数;σ()表示sigmoid函数。9.根据权利要求7所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,利用注意力系数对特征向量进行加权求和处理的过程中,采用多头注意力,即使用k组注意力层分别获取注意力系数,将k组注意力系数分别对输入特征进行加权后拼接起来作为图注意力网络的输出,表示为:其中,表示第k个注意力层获得的注意力系数,w
k
表示第k个注意力层的可训练参数。10.根据权利要求7或8所述的基于图注意力网络和字词融合的医疗命名实体识别方法,其特征在于,图注意力网络的输出h
i
'将通过前馈神经网络提高网络的能力,并采用残差连接和层归一化进行处理,得到待融合的图特征,表示为:ffn(h
i

)=max(0;h
i

w1+b1)w2+b2g=layernorm(ffn(h
i

)+h
i

)将矩阵g的第1~n列拆分出来作为待融合的字特征,其他列作为待融合的词汇特征,将两个矩阵重新进行融合,表示为:g

=m1*g[:,0:n]+m2*g[:,n:]其中,ffn()表示前馈神经网络,w1、w2、b1、b2、m1∈r
d

*d

和m2∈r
d

*d

均是可训练的参数,layernorm()表示层归一化操作;g

∈r
d

*n
是图注意力网络层最终的输出。

技术总结
本发明属于自然语言处理领域,具体涉及一种基于图注意力网络和字词融合的医疗命名实体识别方法,包括将待识别的文本序列输入Bert模型,得到文本序列中每一个文字的特征向量,即得到字特征;通过SoftLexicon方法将与文本序列中字符匹配的词汇表示层特征向量,即得到词汇特征;令字特征指向与之对应的词汇特征构建有向图,并利用邻接矩阵保存有向图的信息,将字特征、词汇特征及其对应的邻接矩阵利用图注意力网络进行融合,得到字词特征向量;利用BiLSTM网络对字词特征向量进行上下文语义提取,得到上下文语义向量;将上下文语义向量输入条件随机场层,预测得到文本序列对应的标签;本发明有效提高医疗命名实体识别的准确率。率。率。


技术研发人员:雷大江 王正 王烨 姜同远 田宏志 明振洋 韦宏永 耿宇 张丁野 李雨珈 杨雪
受保护的技术使用者:重庆邮电大学
技术研发日:2023.01.12
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐