基于BERT-BiLSTM-MHA-CRF 的中文命名实体识别方法*

2023-12-09 08:50夏成魁李少波
计算机与数字工程 2023年9期
关键词:集上命名语料

夏成魁 李少波

(1.贵州大学计算机科学与技术学院 贵阳 550025)

(2.贵州大学公共大数据国家重点实验室 贵阳 550025)

1 引言

命名实体识别(Named Entity Recognition,NER)是自然语言处理(Nature Language Process,NLP)领域中的一个重要研究方向,是信息抽取、智能问答、机器翻译等工作中的基础任务。命名实体识别的主要目的是识别出文本中如日期、人名、地名、组织名称等一些具有特殊意义的实体,并将其划分到对应的实体类别中[1]。命名实体识别技术早期主要是基于字典和规则匹配来实现,这种方法需要由人手动去构建规则模版,再从文本中查询并通过规则模版筛选出命名实体,如NLP 框架GATE[2]就是基于模式匹配方法来开发实现的。这种方法可以在特定的语料上取得较好表现,但是存在工程量大,移植性较差等问题。随着机器学习技术的发展,命名实体识别任务开始考虑基于统计机器学习方法如采用隐马尔科夫(Hidden Markov Model,HMM)模型[3~4]、最大熵(Maximum Entropy,ME)模型[5]、条件随机场(Conditional Random Fields,CRF)模型[6]来实现。此类方法主要根据概率学假设通过序列标注的方式为文本中的字词分配一个标签,从而完成命名实体识别。近年来,基于神经网络的深度学习技术获得了自然语言处理领域学者的广泛关注,各种神经网络模型成为了解决命名实体识别问题的重要手段,并在识别效果上取得了较大的进展。

而相较于英文,中文文本中没有明显的分隔符号,字词的边界模糊,同时其表述中常常会存在实体嵌套、中英文混写等问题,这导致中文命名实体识别技术的实现难度要高于英文命名实体识别。

2 相关工作

随着深度学习技术不断发展,目前中文命名实体识别方法主要是采用深度学习结合统计机器学习的方式来实现。Collobert等[7]首先将卷积神经网络(Convolutional Neural Network,CNN)应用到命名实体识别任务中。但CNN 难以捕捉到文本的全局信息。对此,可以提取时间序列特征信息的循环神经网络(Recurrent Neural Network,RNN)被应用于提取文本的语义关系,而在RNN 的基础上,双向长短期记忆网络(BiLSTM)和双向门控循环单元神经网络(BGRU)由于可以进一步考虑文本前后的上下文关系而得到了广泛使用,如Lample 等[8]将BiLSTM 和CRF 模型结合起来使用并在多个数据集上取得较大提升。李纲等[9]提出一种基于BiLSTM-CRF 并结合外部字典的中文电子病历命名实体识别模型,在CCKS-2017 测评任务中取得了90.41%的F1值。石春丹等[10]提出了一种结合注意力机制的BGRU-CRF 模型,可以有效利用词之间的序列关系,并在MSRA数据集上取得了94.26%的F1值。Ayifu等[11]采用BiGRU-CNN-CRF模型在多语种文本命名实体识别上取得较好成绩。但RNN模型由于无法进行并行计算,存在效率低的问题。对此,谷歌公司的Vaswani 等[12]提出了Transformer模型,并在机器翻译等NLP 任务中有一定的提升,Transformer 模型完全依赖注意力机制实现从而可以进行并行化计算,同时较好地解决了梯度爆炸,梯度消失等问题。如李韧等[13]提出的Transformer-BiLSTM-CRF 模型利用Transformer 模型作为词嵌入层在桥梁检测领域命名实体识别中获得了较好的提升。

2018 年,Google 的Devlin[14]等提出的BERT 预训练语言模型通过采用Transformer 编码和多头注意力机制对大规模语料进行训练,从而得到了表征力更强的预训练字向量,并使得预训练模型在NLP领域的应用获得人们的广泛关注。BERT模型具有很好的表义能力,可以很好解决一词多义问题,因此常被用于生成文本的初始嵌入矩阵。王传涛等[15]使用BERT-BiLSTM-CRF 模型在中文简历实体识别上取得了最高94.82%的F1 值。Li 等[16]利用BERT-BiLSTM-CRF 模型在CCKS-2017 和CCKS-2018 临床命名实体识别数据集上取得较好效果。李妮等[17]使用BERT-IDCNN-CRF 模型在MSRA 数据集上取得了F1值94.41%的识别效果。袁健等[18]利用BERT和CNN 模型提取文本的字符、字形特征向量并融合词向量从多个维度提取文本特征,在人民日报数据集上的测试表现优于其他模型。

为了解决一词多义问题,本文利用BERT 模型较强的语义表达能力来提取文本的动态字符向量,由BiLSTM 模型获取文本长距离的语义信息,并引入多头注意力机制进一步获取文本局部特征来解决传统深度学习方法容易忽视文本部分特征的问题,最后使用CRF模型来获得最佳标签序列。实验表明,所提方法在MSRA 和人民日报数据集上的识别效果要优于其它对比模型。

3 模型框架

本文提出的中文命名实体识别模型主要由4个模块组成,分别是BERT 层、BiLSTM 层、多头意力层和CRF 层,整体结构如图1 所示。BERT 层根据输入语料序列以字符为单位训练出对应的低维字向量表示,得到的结果由BiLSTM 层和多头注意力层来学习文本序列的上下文特征以及局部特征的权重信息,最后通过CRF层来获得全局最优的标签序列。

图1 模型框架图

3.1 BERT嵌入层

BERT(Bidirectional Encoder Representation from Transformers)模型是一种预训练模型,一经推出就在11 种自然语言处理任务中取得了最佳成绩。组成结构上BERT 模型采用双向Transformer模型作为其主要框架,使得模型对每个字的预测可以同时参考前后两个方向的文字信息,从而具有良好的特征提取能力。从模型训练上来看,BERT 是一个多任务模型,包含MLM(Masked Language Model)和NSP(Next Sentence Prediction)两个自监督任务:MLM 任务是采用类似完形填空的形式随机将15%的token 使用[MASK]标记代替并让模型去猜测对应的单词;NSP 任务则是将两个句子拼接起来作为上下句来预测两个句子是否是相邻关系。相比传统语言模型,BERT 模型可以更充分地表征出字的多义性以及更准确地判断句子间关系。

如图2 中所示,BERT 模型的输入矩阵E 包含三个向量,分别记录了输入的字符、上下句以及字符位置信息。通过多个维度的特征信息可以使BERT模型更准确地识别出语义关系。

图2 BERT模型架构图

3.2 BiLSTM层

LSTM(Long Short-term Memory)长短期记忆网络[19]是循环神经网络(Recurrent Neural Network RNN)的一种变体,对于训练长文本序列时出现的梯度爆炸和梯度消失等问题,LSTM 相对RNN 可以取得更好的表现。LSTM 在RNN 模型的基础上加入遗忘门、输入门和输出门三个控制单元来解决长文本序列遗忘问题。具体的计算公式如下:

其中,it,ft,ot分别代表t时刻的输入门,遗忘门和输出门,σ代表sigmoid函数,xt代表编码后的字向量,ℎt代表t时刻隐藏层状态,ct代表t时刻的记忆单元状态,b代表偏置向量。而BiLSTM 模型由前向和后向两个的LSTM 组成,可以学习到当前语料的上下文信息,从而获得更全面的语义特征。它的最终当前时刻t的隐藏状态ℎt可以被表示为

3.3 多头注意力层

BiLSTM 模型对于语料的局部特征存在难以提取,易丢失的问题。对此本文引入多头注意力(Multi-head-attention,MHA)机制来从多个层次提取文本字符间的关联关系获取对应的权重,从而进一步提取出文本的局部特征信息。多头注意力层对BiLSTM 层输出的特征向量进行h次并行相似度计算进而得到特征向量的权重分配。计算公式如下:

其中,attention(Q,K,V) 代表自注意力函数,Q,K,V代表输入特征向量,除以可以防止Q和K相乘结果过大,保证梯度的稳定。MHA 代表通过多头注意力机制计算得到的权重矩阵。

3.4 CRF层

条件随机场(CRF)可以充分考虑到相邻字符之间的依赖关系和约束条件。因此,我们在模型的最后一层采用条件随机场(CRF)对多头注意力层输出的特征信息进行约束,确保最终得到的标签之间关系的准确性。

当给定输入序列X={x1,x2,x3,…,xn}时,假定输出序列为y={y1,y2,y3,…,yn}。则输出序列的得分可以用以下公式表示:

式中,W为转移矩阵,Wyi,yi+1为标签从yi转移到yi+1的得分数,Pi+1,yi+1为输入序列的第i+1 个字对应的标签yi+1的得分数。对输出序列y的概率进行计算,条件概率最大时的标签序列将作为结果序列输出。公式可以表示为

其中,YX表示输入序列的全部标签序列。

4 实验结果和分析

本节将采用本文方法和几种最新的中文命名实体识别方法在两个公开中文语料数据集上进行实验来评估本文方法的实际效果并进行分析。

4.1 实验数据和标注方法

本文分别采用由微软亚洲研究院公开的MSRA 中文语料数据集和1998 年《人民日报》语料数据集来对模型效果进行评估。同时对两个数据集采用BIO 的标注方式进行标注,即用B 标签标记命名实体的首字,而非首字则用I标签标记,剩下的非命名实体用O 标签标记。经过数据预处理后,MSRA 数据集包含人名(PRE)、地点(LOC)、机构名(ORG)三种类别共5 万条语料。而《人民日报》数据集包含时间(DATE)、人名(PRE)、地点(LOC)、机构名(ORG)这四种实体共计7.2万条语料。两个数据集均按8∶1∶1 的语料比例分成对应的训练集、验证集和测试集进行实验。

4.2 实验环境

本实验所采用的实验环境如表1 所示,主要基于Linux 平台并使用Pytorch 框架来对算法进行开发调试。

表1 环境配置

主要的实验参数设置如表2 所示。实验采用AdamW 优化器进行参数优化,对Bert 层和其他层模型采用不同的学习率实现,同时取Dropout 值为0.5来防止模型过拟合。

表2 参数配置

4.3 评价指标

本文采用准确率(Precision,P),召回率(Recall,R)以及综合评价指标F1值这三个指标作为模型识别效果的评价标准[20],其中准确率代表识别正确的实体占识别出的所有实体的比例,而召回率代表识别正确的实体占所有实体的比例。其数值越高,代表模型的精准率、召回率和综合性能越好。

4.4 实验结论

为验证文中提出的BERT-BiLSTM-MHA-CRF模型的有效性,本文将该模型与BiLSTM-CRF、BERT、BERT-CRF 以及BERT-BiLSTM-CRF 这四个命名实体识别模型在MSRA 和《人民日报》数据集上分别进行实验,对比其精准率、召回率以及F1值。

由表3 和表4 可以看出,本文模型通过结合多头注意力机制从多个层次提取文本局部特征,有效提升了中文命名实体识别的准确率和F1 值。在两个数据集上相比BERT 模型F1 值提高了1.64%和1.33%,对比实验中其它模型,BERT-BiLSTMMHA-CRF 模型的准确率、召回率以及F1 值均最高。

表3 MSRA数据集模型对比结果

表4 《人民日报》数据集模型对比结果

BERT-BiLSTM-MHA-CRF 模型对MSRA 数据集中各实体类别的识别结果如表5所示。

表5 不同类别识别结果

由表5 可知,本文模型对人名实体的识别效果最好,其原因主要是因为中文人名的样式相对较为固定,从而更容易被模型判断出来。而机构名实体识别的效果最差,其主要是因为机构名实体的格式不固定,常常出现实体嵌套等情况,导致模型难以准确识别其边界,导致模型对机构名实体的识别效果较差。

5 结语

针对当前中文命名实体识别任务中存在的准确率较低、语义提取不充分、一词多义等问题,本文提出了一种在基于BERT-BiLSTM-MHA-CRF 模型的中文命名实体识别方法,通过结合预训练模型、多头注意力机制以及传统神经网络的不同优势,可以从多个维度来更有效地捕捉中文文本中存在的语义信息,从而更好地完成中文命名实体识别任务。最后,为了验证其效果将该方法和其它模型在MSRA 以及人民日报数据集上进行对比试验以证明本文提出的方法的有效性。在之后的工作中,将进一步研究复杂语义下如何更有效地进行实体的识别。

猜你喜欢
集上命名语料
命名——助力有机化学的学习
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
有一种男人以“暖”命名
为一条河命名——在白河源
复扇形指标集上的分布混沌
基于语料调查的“连……都(也)……”出现的语义背景分析
华语电影作为真实语料在翻译教学中的应用
《苗防备览》中的湘西语料
国内外语用学实证研究比较:语料类型与收集方法