结合实体关联标注器的中文命名实体识别模型

2021-05-10 11:19刘建华
西安邮电大学学报 2021年6期
关键词:关联语义向量

刘建华,吴 超

(1.西安邮电大学 信息中心,陕西 西安 710121;2.西安邮电大学 计算机学院,陕西 西安 710121)

命名实体识别(Named Entity Recognition,NER)是指在一段自然语言文本中标注实体词的位置和类型,其支撑着关系抽取、事件抽取以及知识图谱构建[1]等任务。基于统计机器学习的方法,如隐马尔可夫模型(Hidden Markov Model,HMM),条件随机场[2](Conditional Random Field,CRF)和支持向量机(Support Vector Machine,SVM)等,这些方法对人工制作特征的依赖性较强。随着深度神经网络的发展,利用监督学习将命名实体识别任务转为序列标注任务。特征提取采用卷积神经网络[3](Convolutional Neural Networks,CNN)或者循环神经网络[4](Recurrent Neural Network,RNN),求解最优标注序列运用CRF,这些模型泛化能力大幅度增强。但是,中文字向量[5]和英文词向量[6]的本质不同,造成中文命名实体识别任务在字嵌入层编码时会出现未登录词(Out of Vocabulary,OoV)以及分词错误等诸多问题,因而影响命名实体识别的任务表现。

早期将深度神经网络应用在命名实体识别领域的是Hammerton等人[7],他们提出了单向长短期记忆神经网络(Long Short-Term Memory,LSTM)。Lample 等[8]对传统的Bi-LSTM-CRF模型进行了改造,使用了结合词汇特征的字符级LSTM对句子进行编码。Strubell等[9]提出了一种基于IDCNN的命名实体识别方法,使用CNN代替RNN,很大程度上提升了训练的速度。Lin等[10]提出了一种触发词机制,用少量样本训练达到大量样本训练的效果。文献[11]加入了Dropout机制,减少训练时的过拟合现象。Zhang等[12]提出结合了词汇信息的网格网络。文献[13]提出结合特征的网络安全领域实体识别方法。文献[14]利用迁移学习思想将分词和命名实体识别融合在一个模型中训练。但是,上述方法存在的问题主要是对字向量信息的提取较单一。

针对中文命名实体识别任务中字向量信息提取单一的问题,在传统NER任务模型的基础上,增加了一个预处理阶段,拟提出结合实体关联标注器(Entity-Related Annotator,ERA)的命名实体识别模型。该模型在阶段一使用实体关联标注器,其通过对所有训练样本用对比损失函数进行训练,得到一个实体词信息的注意力模型,再利用这个模型得出每句话中所有字相对于该句中实体词的注意力等级标注。将这部分的等级标注信息编码到字向量中,就是在字向量中补充了该字与实体词的语义密切程度信息,以此作为语义级别信息的补充。再在阶段二进行标注命名实体识别序列标注任务。

1 实体关联标注器NER的模型结构

为了提升命名实体识别算法的识别效果,提出一种结合ERA的中文命名实体识别模型。模型分为训练实体关联标注器和融合实体关联信息的序列标注任务模型两个阶段。

命名实体识别的标准流程包括输入和输出。对于输入的一段文字S=(s1,s2,…,sn),其中si为这句话的第i个字,经过一系列的运算,最终的输出为O=(o1,o2,…,on),oi为这句话第i个字对应的命名实体标签。模型整体结构如图1所示。

图1 模型整体结构

1.1 实体关联标注器

ERA由两部分组成,分别是实体编码模块和基于语义的实体匹配模块。

1.1.1 实体编码模块

对于一段文字S=(s1,s2,…,sn),把这句话中所有的实体词及其位置标注出来。通过将每句话与该句中的实体配对创建一个训练实例{Entity,Position}。模型第一层是字向量嵌入层,使用100维度的字向量作为字的输入,字向量提前由word2vec[15]训练好。模型的第二层是Bi-LSTM,输入为第一层获取的100维字向量,字向量经过这层神经网络,得到LSTM的前向隐藏层序列和后向隐藏层序列。将对应位置的前向、后向隐藏层输出拼接,得到双向隐藏层的输出序列(h1,h2,…,hn),将双向隐藏层对应位置的输出作拼接处理,得到该位置的字向量输出,表示为hi,其表达式为

(1)

注意力机制早期应用在图像处理领域,后来在语音处理领域、自然语言处理领域得到了发展。自然语言的注意力机制最初来源于机器翻译的seq2seq模型[16],其原理是按某一种参照目标,提取与目标关联程度最大化的句子级别的语义信息,突破了经典Bi-LSTM在编码阶段依赖序列固定顺序的限制。先用经典编码器得到输入序列的隐藏状态,然后训练一种权重选择机制,对输出的隐藏状态进行加权,并最终得到加权后的完整序列输出,是对Bi-LSTM的各个时刻的隐藏状态进行加权求和。

为了学习基于注意力的实体词和句子的表示,采用Lin等[17]在ICLR 2017中提出的注意机制。将矩阵H应用于句级注意力机制的双向长短期记忆网络(Attention Bi-LSTM),得到一个向量vs,其是一句话在注意力的加权作用下得到的语义信息。As为注意力分数矩阵,注意力分数矩阵是矩阵H与两个参数矩阵W1和W2进行矩阵乘法运算后,再经过softmax函数得到。然后,对表示实体的矩阵E取字级别的平均值得到向量ve,表示这个句子中所有实体的语义信息总和。vs和ve就是句子语义的向量表示和该句中实体词语义的向量表示。为了将基于注意力的句子语义向量与该句中的实体词语义向量联系起来,用表示实体词语义的向量ve作为监督训练的样本,则注意力分数矩阵和句子语义向量的表达式分别为

As=softmax[W2tanh(W1H)]

(2)

vs=AsH

(3)

1.1.2 基于语义的实体匹配模块

为了匹配注意力机制加权后的句子语义向量与实体词语义向量,利用对比损失函数contrastive loss[18]作为阶段一训练的损失函数。该函数最初用在降维算法中,即本来相似的样本经过特征提取后,在特征空间中仍旧相似,而原本不相似的样本在特征提取后仍旧不相似。同样,该损失函数能很好地表达对样本的匹配程度。contrastive loss的表达式为

(4)

d=‖vs-ve‖2

式中:d表示两个样本特征vs和ve的欧氏距离;U为两个样本是否匹配的标签,U=1表示实体词在当前句子中,U=0表示实体词不是当前句子中的实体;r为设定的阈值。当U=1时,如果两个样本特征的欧式距离较大,则说明此时的模型不好,损失函数值较大。而当U=0时,如果两个样本特征的欧式距离较大,则损失值函数值较小。考虑到实体匹配模块需要用正负样本一起训练,通过随机打乱句子和该句对应的实体词的方式,构造训练所需要的正负样本。训练完成后提取出所有语料的注意力分数矩阵As,再按这个分数将语料中的每个字划分等级,最终得到的这个等级标注就是实体关联标注器的标注结果。将标注结果映射到维度为20的向量空间,一句话的标记结果可记为

T=(t1,t2,…,tn)

1.2 融合实体关联信息

模型第一层是字向量嵌入层,使用提前训练好的100维度的字向量作为字的输入,字向量记为序列X=(x1,x2,…,xn)。接着拼接上一阶段实体关联标注器提供的信息T,融合后的字向量表示为

Z=(z1,z2,…,zn)

其中,zi为xi与ti作拼接,zi的表达式为

zi=[xi⊗ti]

(5)

模型的第二层是双向长短期记忆神经网络,该层的处理流程与实体编码模块的Bi-LSTM处理流程相同。模型的第三层是CRF层,Bi-LSTM的输出是按序列的先后顺序排列的,CRF算法是序列建模算法,其实是一种概率化无向图模型,通过用一组随机变量获取另一组随机变量的条件概率分布。CRF没有HMM严格的独立性假设条件,可以容纳任意的上下文信息计算全局最优输出节点的条件概率。同时,CRF改善了最大熵马尔科夫模型标记偏执缺点。在计算整个标记序列的联合概率分布时,CRF结合输出序列前后的标签信息对标签进行优化,考虑到输出结果的合理性,评分S与Y的概率P的表达式分别为

(6)

(7)

式中:e是自然对数;矩阵N表示Bi-LSTM的输出,n为输出序列长度;Ni,j表示矩阵中第i行第j列的概率;M是概率转移矩阵;Mi,j表示标签i到j的概率。给定已知序列X和预测序列Y,可计算此次预测的得分,然后通过softmax层得到标签序列Y的概率P(Y|S)。

训练目标是使正确标注序列的概率最大化,Y′表示真实标记值,则概率最大的一组序列输出为

Y*=argmaxs(X,Y′)

(8)

2 实验及结果分析

2.1 数据集

为了分析ERA模型的性能表现,在Resume数据集和人民日报数据集上进行了实验。Resume数据集是采集自新浪财经的1 027份简历资料,总共标注5种命名实体,分别为教育机构名、人名、组织机构名、专业名和职位名。人民日报数据集采集自1998年人民日报语料,由北京大学语言研究所和富士通研究开发中心有限公司共同研发的自然语言处理任务数据集,使用的数据集共标注了3种命名实体,分别为地名、人名和组织机构名。表1是两个数据集的具体信息,统计训练集、验证集和测试集中字符和句子的数量。

表1 数据集信息

2.2 实验环境与实验参数配置

实验环境为操作系统Windows 10,CPU Intel i5 9600,显卡RTX 2070 S,内存32 G,Pytorch 版本1.5.0 cuda 10.1。

实验代码基于 Pytorch 框架实现,训练使用Adam优化方法[19],学习速率取值为0.02,LSTM 的hidden size为100,Batch size 为10。为了防止过拟合,在神经网络输出时选取0.5的Dropout,这些参数设置具体如表2所示。

表2 参数设置

2.3 数据集标注及评价指标

命名实体识别任务常用的标注方式有BIO(B-begin,I-inside,O-outside),BIOE(B-begin,I-inside,O-outside,E-end),BMES(B-begin,M-middle,E-end,S-single)等不同体系,选用BMES体系标注数据集中的实体,采用MUC评测会议上所提出的NER任务评价指标准确率(P),召回率(R)和F1值,计算表达式分别为

(9)

(10)

(11)

式中:PT表示真正例,真实值为正,预测值也为正;PF表示假正例,真实值为负,但预测值为正;NF表示假反例,真实值为正,但预测值为负;NT表示真反例,真实值为负,预测值也为负。

2.4 训练过程

ERA模型实验代码采用Pytorch框架,对于每个epoch,模型训练时会把整个训练数据分批处理,每一批数据的大小由参数Batch size决定。当模型开始训练,首先对参数进行初始化,再按步骤分两个阶段完成训练的过程。

阶段一实体关联标注器的训练。一是利用Bi-LSTM模型前向传播,对句子进行编码;二是利用一个注意力层提取Bi-LSTM编码后句子的特征;三是利用这个特征匹配该句中的实体词向量,再用对比损失函数计算其loss值;四是误差反向传播,更新参数。阶段一训练结束后提取出模型中的注意力层的参数,按等级分层作为实体关联标注信息。

阶段二实体关联信息增强的序列标注模型的训练。首先,将word2vec字向量与阶段一的实体关联标记信息融合;其次,将Bi-LSTM 模型前向传播,CRF 前向和后向传播,计算序列的似然概率;最后,将Bi-LSTM 模型后向传播,更新参数。

2.5 参照对比模型

选取LSTM、Bi-LSTM、融合分词信息的Bi-LSTM(Bi-LSTM-seg)、Lattice-LSTM和改进的ERA模型进行对比。使用LSTM、Bi-LSTM和Bi-LSTM-seg主要是为了对比基准模型LSTM和使用了双向输入的BiLSTM以及在Bi-LSTM基础上融入分词信息后的效果。Lattice-LSTM和ERA都添加了语义信息,前者是结合了词汇信息的网格网络;后者是结合了实体关联标注器,将每个字向量添加该字与实体词关联程度的信息。这两个模型都是在Bi-LSTM基础上添加了语义信息,通过两个模型的对比,可以体现出添加不同的语义信息的实验效果。

2.6 实验结果及分析

为了对ERA模型进行客观的评测,在Resume数据集和人民日报数据集上进行了多组对比实验。Resume数据集和人民日报数据集的实验结果分别如表3和表4所示。

表3 Resume数据集的对比结果

表4 人民日报数据集的对比结果

在Resume数据集中,先比较LSTM和Bi-LSTM的实验结果,可以看出双向LSTM的F1值比单向LSTM高出0.84%。再看人民日报数据集的表现,双向LSTM的F1值比单向LSTM高出3.92%。由此表明,Bi-LSTM采用前向和后向获取编码信息,可以获得更多信息,效果要优于单向的方式。在嵌入层加入分词信息的Bi-LSTM-CRF-seg的实验结果中,在Resume数据集中,该模型的F1值比单向LSTM和双向LSTM分别高出1.08%和0.24%。而在人民日报数据集上,该模型的表现更好,F1值比单向LSTM和双向LSTM分别高出5.44%和1.52%,说明分词这种语义信息的加入能够更好地在嵌入层提出特征信息。Lattice-LSTM模型使用了创新的网格LSTM,更合理地利用了词与词之间的序列信息,实验数据引用自原论文,在Resume数据集中F1值达到了94.46%。ERA模型在Bi-LSTM-CRF的基础上加入实体关联标注信息,从实验的各项指标来看,效果理想,在Resume数据集中,准确率、召回率和F1值分别达到了95.18%,94.62%和94.81%,比Bi-LSTM模型F1值提高了1.47%,比Lattice-LSTM的F1值高出了0.35%。在人民日报数据集中的准确率、召回率和F1值分别达到了91.47%,89.95%和90.19%,比Bi-LSTM模型的F1值提高了2.07%。这表明在加入了实体关联标注信后,该模型在嵌入层可以充分的提取字符级、词级和实体词相关的特征,从而使LSTM层能接收到更全面的句子信息,进而增强模型泛化能力,提高命名实体识别的性能。

在特定领域命名实体识别任务中,更关注某一些实体类型的识别,需要突出其特定实体的识别效果,提出了一种新的训练模式。以单个实体类型作为实体匹配模块的监督训练样本,训练出一个针对某一特定实体类别的实体关联标注网络,进而再展开标准NER任务训练。实验结果显示,这种训练方式的模型在单个实体类别的识别中达到了非常好的效果。

表5和表6分别展示了在Resume数据集和人民日报数据集中识别单个实体类别的实验结果。先看Resume数据集的情况,教育机构名、人名、组织机构名、专业名和职位名这5个实体类别的F1值比经典模型Bi-LSTM-CRF分别高出1.82%,3.2%,0.99%,3.36%和0.83%。其余3个实体类别由于两个模型的F1值都为100%,无法比较。在人民日报数据集中,地名,人名和组织机构名这3个实体类别比Bi-LSTM的F1值分别高2.76%,1.74%和1.16%。从对比数据还可以看出,经典模型Bi-LSTM-CRF的单个实体分类的准确率和召回率差值较大,而ERA模型在每个实体的准确率和召回率都非常接近,模型表现相对平衡和稳定。

表5 Resume数据集单个实体类别对比结果

表6 人民日报数据集单个实体类别对比结果

为了展现模型的训练情况,分别对比了两个数据集前40轮的F1值的对比变化情况,具体实验结果分别如图2和图3所示。

图2 Resume数据集训练时F1值的变化

图3 人民日报数据集训练时F1值的变化

由图2和图3可以看出,在模型训练初期,ERA模型的F1值分别达到了82.66%和89.91%,明显高于其他模型。接着持续上升,在训练到20轮左右达到峰值,最后保持在较高水平。而传统的神经网络模型,在初期F1值处于非常低的位置,只有经过多轮次迭代训练,F1值才会缓慢提高。

2.7 消融实验结果及分析

为了对改进模型的实验结果做出更客观的评价,将模型设置为以下情况进行了消融实验,具体内容包括初始模型LSTM,在LSTM基础上增加双向输入的Bi-LSTM,LSTM结合实体关联标注器的NER模型,Bi-LSTM结合实体关联标注器的NER模型等4个方面,消融实验结果分别如表7和表8所示。

表7 Resume数据集的消融实验结果

表8 人民日报数据集的消融实验结果

由表7和表8可以看出,在模型去掉实体关联标注器后,整体评测结果大幅下降。当初始模型LSTM加入实体关联标注器后,准确率、召回率和F1值都有一定的提升,当使用Bi-LSTM结合实体关联标注器后,实验结果得到了进一步的提升。由此可以看出,实体关联标注器有助于提升语义信息,进而提升各项评测指标。

3 结语

针对中文命名实体识别任务的字向量信息单一的问题,增加了一个预处理阶段,提出了结合ERA命名实体识别模型。先训练出每句话中与实体词关联程度的标记,再将标记信息融入字向量层,增加与实体词相关的语义特征,避免了常规分词方法会产生误差的影响,该模型适用于训练数据充足的命名实体识别任务。实验结果表明,ERA模型比经典的Bi-LSTM-CRF模型和基于分词的NER模型在准确率、召回率和F1值的评价指标都有所提升。该模型应用于中文命名实体识别任务时的准确率更高。

后续研究将在该模型中融入更多的语义信息,结合预训练语义模型,应用到更多训练资源匮乏的领域,从而进一步提高中文命名实体模型的性能。

猜你喜欢
关联语义向量
真实场景水下语义分割方法及数据集
向量的分解
聚焦“向量与三角”创新题
“一带一路”递进,关联民生更紧
奇趣搭配
智趣
向量垂直在解析几何中的应用
“吃+NP”的语义生成机制研究
向量五种“变身” 玩转圆锥曲线
汉语依凭介词的语义范畴