融合多种嵌入表示的中文命名实体识别
2022-06-25郑肇谦庞海婷
彭 雪, 赵 辉, 郑肇谦, 庞海婷
(长春工业大学 计算机科学与工程学院,吉林 长春 130012)
0 引 言
近年来,自然语言处理(Natural Language Processing,NLP)技术蓬勃发展,而NER作为其重要分支,也发展正盛。NER是NLP领域的一项基础性关键技术,目的是从文本中识别出具有特定意义或指代性强的实体,通常包括人名、地名、组织机构名、日期、时间、货币和百分比等,其识别结果直接影响到关系抽取、问答系统、机器翻译等下游NLP任务的性能。
NER通常被看作序列标注任务。近年来,随着各种词嵌入方法、预训练语言模型的出现和以神经网络为核心的深度学习在各个领域快速发展,利用深度学习方法解决序列标注问题,尤其是NER问题成为一种趋势。
由于汉字结构繁杂,文本中词与词之间没有明显的边界,存在一字多音且在不同语境下表达的意思也不相同的现象,现有的NER方法通常基于字或词进行建模,没有考虑句子的全局语义信息,利用预训练语言模型获得嵌入表示,虽然一定程度上增强了语义特征,但是没有充分利用到汉字本身的字音、字形特征,所以NER效果不理想。针对上述问题,文中基于深度学习方法,在融合字、句级语义特征的基础上,充分结合汉字的字音、字形特征,提出融合多种嵌入表示的中文命名实体识别(Chinese Named Entity Recognition Fusing Multiple Embedding Representations,FMER-CNER)模型。主要贡献如下:
1)为了得到更适用于中文的嵌入表示,文中将百度自研的ERNIE预训练语言模型训练得到的字嵌入和句子嵌入进行拼接、融合得到字句融合嵌入表示,从而达到同时融合字级和句子级语义特征的目的。
2)为了充分利用汉字本身的特征来增强语义表示,文中在字句融合嵌入的基础上充分结合了汉字的五笔、四角码和拼音特征信息,从而达到融合汉字的字音、字形特征的目的。
3)为了减小拼接后向量的维数,融合并获取对识别来说更重要的特征,文中在输入表示层中添加向量融合层。每次向量拼接后用全连接层融合各自的特征,减小矩阵维度,然后送入BiLSTM网络提取特征,最后,利用多头注意力机制进一步聚焦局部关键信息,减小无关、冗余特征的影响。
1 相关工作
早期NER大都使用基于规则和词典的方法,后来统计机器学习兴起,开始被用于解决NER问题。其中,CRF是最受NER研究者青睐的机器学习模型。
近些年,基于神经网络的深度学习得到快速发展,对NER的研究也转向了深度学习。常用于NER的神经网络包括卷积神经网络[1]、循环神经网络等及其变体。目前,NER领域最常用的是将深度学习与机器学习相结合的方法,Huang Z等[2]将以word embedding为输入的BiLSTM-CRF模型用于解决序列标注问题。也有研究者把多个神经网络同时应用于NER任务,Ma X等[3]提出BiLSTM-CNNs-CRF模型。张晗等[4]将生成式对抗网络与BiLSTM-Attention-CRF模型相结合用于信息安全领域的实体识别。
在以往的中文NER任务中,研究者大都采用基于词嵌入的方法,但由于中文文本没有明显的词边界且极易产生分词错误,会对实体识别结果产生很大影响,所以,不少研究者采用基于字嵌入的方法,Liu Z X等[5]证明了字嵌入比词嵌入更适用于中文NER任务。但是,基于字符的方法又不能利用词级信息,于是有研究者通过在基于字嵌入的模型中引入词典信息来提高识别效果。Zhang Y等[6]提出Lattice-LSTM模型,通过加入词典信息将链式结构转换成图结构,避免了由于分词错误造成的识别误差。除了引入词典信息之外,研究者还通过引入额外特征来丰富模型的语义表示。赵浩新等[7]直接利用中文笔画序列生成字向量来增强汉字的特征表示。Xu C W等[8]在字、词嵌入的基础上融入了汉字的部首特征,提升了NER的效果,并验证了部首信息的有效性。
预训练语言模型的出现大大提升了NER的性能。Word2Vec[9]和Glove[10]将单词表示为向量且相似的单词有相似的向量表示。ELMo[11]、GPT[12]则能够获得上下文相关的词向量。谷歌在2018年发布了BERT[13],是目前最常用的预训练语言模型之一。很多研究者在获取BERT的隐藏层表征后经过微调用于自己模型。王子牛等[14]利用BERT获取上下文抽象特征提出BERT-BiLSTM-CRF模型。但是BERT在预训练时仅对单个字进行掩码,分割了语义表示,没有充分学习到中文的语义特征。百度基于BERT进行改进发布了ERNIE预训练语言模型,能够建模海量文本中的语义关系,增强下游模型的语义理解能力。朱海东等[15]将百度ERNIE应用于中文情感分类领域,显著提升了模型性能。
中文中普遍存在一字多音不同义和一音多字不同义的现象,而拼音刻画了汉字的字音特征,能够增强对语义的理解。汉字结构繁杂,通常具有相同组成结构的汉字表达的意思也相近,这对医学等专业领域的实体识别尤为重要。五笔和四角码依据笔画或字形特征对汉字进行编码,具有相似笔画结构的汉字其编码也相似,比如“胳”“膊”两个字都有“月”且都与人体相关,所以对应的五笔码“etk”和“egef”也有相同的部分;“桂”“林”都有“木”又都与树相关,所以对应的四角码“44914”和“44990” 也相似。由此可见,融入字音、字形特征对增强中文语义表示是有意义的。
综上所述,以往的NER方法仅对文本中的字或词进行建模,忽略了句子包含的全局语义特征和汉字本身的字音、字形特征;传统预训练语言模型对中文语义特征的提取能力不足,对汉字潜在的字形特征表示不充分。为解决上述问题,文中利用具有更强中文语义特征表示能力的百度ERNIE预训练语言模型得到字句嵌入表示,再融入字音、字形特征得到融合嵌入表示;把它送入BiLSTM-CRF模型中进行特征提取和标签解码得到最优标签序列。在MSRA数据集上进行实验,结果表明,提出的方法提升了中文NER结果。
2 FMER-CNER模型
2.1 模型概述
文中提出的FMER-CNER模型以当前主流的BiLSTM-CRF模型为基础,融合了字句级别的语义特征以及包括拼音、五笔和四角码在内的字音、字形特征,以增强模型对汉字潜在特征的表示能力,从而达到提升NER效果的目的。
模型整体结构如图1所示。
图1 模型整体结构
由图1可以看出,自下而上分为输入表示层、BiLSTM特征提取层和CRF标签解码层。
对于文本序列X,首先在输入表示层得到包含字句级特征和字音、字形特征的融合嵌入T;然后在BiLSTM特征提取层把T作为输入,通过BiLSTM神经网络前向和后向训练进行特征提取,得到输出嵌入H经过全连接层分类和降维后得到包含上下文信息的全局隐含特征G;最后把特征矩阵G送入CRF标签解码层学习标签间的约束关系,解码得到最优的标签序列,完成NER任务。
2.2 输入表示层
输入表示层的目的是对输入文本进行编码,表示成机器能读懂的向量形式。文中在输入表示层融合了字、句、拼音、五笔和四角码五种嵌入表示。
输入表示层结构如图2所示。
图2 输入表示层结构
输入文本序列X=(x1,x2,…,xi,…,xn)是一个有n个字的句子,xi表示句子中第i个字。对两两拼接的矩阵进行融合和降维,通过向量融合层完成,最终得到融合嵌入T=(t1,t2,…,ti,…,tn)是一个维度为n×768的矩阵,它是整个输入表示层的输出,同时也是BiLSTM特征提取层的输入。
2.2.1 向量融合层
为了更好地将两两拼接的矩阵进行融合和降维,文中设计了向量融合层。将两个矩阵拼接后,通过全连接层融合特征并减小矩阵维度,然后送入BiLSTM提取全局特征,但这些特征并不都对识别有作用,所以再用能刻画句子中每个信息重要性的多头注意力机制(Multi-head Attention Mechanism)来聚焦局部关键信息,使得到的融合嵌入集成了全局特征和局部特征。
注意力机制[16]类似于人的认知机制,能够从众多信息中选择出对当前任务目标更重要的信息,为其赋予更大的权值,然后对这些信息投入更多的注意力,减少对非重要信息的关注。多头注意力机制能够让模型关注到不同位置、不同表示空间的信息,可抽象表示为
(1)
式中:Q——查询矩阵;
K——键矩阵;
V——值矩阵。
首先做一次线性映射,将维度为d的Q,K,V映射到Q∈Rm×dk,K∈Rm×dk,V∈Rm×dv,然后计算出权重。
(2)
式中:headi——单头注意力单元,头数为12;
Q,K,V——训练好的权重参数。
MultiHead(Q,K,V)=
Concat(head1,head2,…,headn)WO,
(3)
式中:WO——线性变化参数。
多次并行进行以上操作,式(3)将所有结果拼接起来,得到一个融合所有注意力头信息的矩阵。
2.2.2 字句嵌入
利用ERNIE[17]预训练语言模型,将包含n个字的输入文本序列X经过预训练分别得到一个n×768维的字嵌入矩阵和一个768维的句子向量,将n个这样的句子向量组合成一个n×768维的句子矩阵,与字嵌入矩阵进行拼接,再经过向量融合层进行融合和降维,得到维度为n×768的字句融合嵌入K,以增强模型在字和句子层面的语义表示。
2.2.3 ERNIE预训练语言型
ERNIE是百度自研的基于知识增强的预训练语言模型,通过对大规模语料中的词、实体和实体间关系等先验知识进行建模,让模型学习到海量文本中所蕴含的潜在语义关系,以增强语义表示能力。ERNIE将多层双向Transformer的Encoder作为编码器,每一层都由一个Encoder单元构成,共6层。Encoder单元结构如图3所示。
图3 Encoder单元结构
输入Embedding与对应的位置信息相加作为Encoder的输入,首先经过Multi-head Attention学习词与词之间的相关性;接着进入Add & Norm层,Add用残差的方式对不同的输出相加,Norm用Layer Normalization对Embedding做归一化;然后进行Feed Forward的前向计算;最后再接一层Add & Norm防止梯度消失。
2.2.4 拼音、五笔、四角码的融合
将输入文本序列X分别转化成拼音、五笔和四角码序列,然后进行向量化,得到维度均为n×768的拼音嵌入L、五笔嵌入M和四角码嵌入Q,接下来进行矩阵融合。
把字句融合嵌入K与拼音嵌入L进行拼接,在向量融合层进行融合和降维之后得到融合嵌入T1。同理,T1与五笔嵌入M进行融合降维得到融合嵌入T2,然后T2再与四角码嵌入Q进行融合降维得到最终的融合嵌入表示T。
2.3 特征提取和标签解码
“神经网络+条件随机场”是目前NER任务的常用方法,文中使用“BiLSTM-CRF”组合模型,充分发挥了各模型的优势。将BiLSTM作为特征提取器,用于提取上下文中蕴含的全局语义特征,然后经过全连接层得到每个字到每个类别标签的得分,最后送入CRF中学习标签之间的约束关系,解码得到最优的标签序列。BiLSTM-CRF模型结构如图4所示。
图4 BiLSTM-CRF模型结构
T=(t1,t2,…,ti,…,tn)是输入表示层得到的融合矩阵,ti表示序列中每个字的融合嵌入,经过BiLSTM-CRF模型后输出的是每个字的类别标签。
2.3.1 BiLSTM特征提取层
对输入表示层得到的融合嵌入表示T进行特征提取,通过双向的长短时记忆网络(Bidirectional Long and Short Term Memory,BiLSTM)完成。长短时记忆网络(Long and Short Term Memory,LSTM)是一种特殊的RNN,独特之处在于引入了门控机制,可以有选择地保存上文信息,并且能够有效利用长距离信息,实现长期记忆,克服了RNN的梯度消失和长期依赖等问题。
LSTM单元结构如图5所示。
图5 LSTM单元结构
每个LSTM单元都包含细胞状态(Cell State)和遗忘门、输入门、输出门三个不同的门结构。其计算过程可抽象表示为:
ft=σ(Wf·[ht-1,xt]+bf),
(4)
it=σ(Wi·[ht-1,xt]+bi),
(5)
(6)
(7)
ot=σ(Wo·[ht-1,xt]+bo),
(8)
ht=ot·tanh(Ct),
(9)
BiLSTM网络结构如图6所示。
图6 BiLSTM网络结构
接下来,输出嵌入H经过全连接层分类、降维后得到特征矩阵
G=(g1,g2,…,gi,…,gn)∈Rn×d,
它是BiLSTM特征提取层的输出,随后送入CRF层进行标签解码。其中,H的维度是n×768,G的维度是n×d,n是输入序列的最大长度,d是标签种类数,文中是7。
2.3.2 CRF标签解码层
条件随机场(Conditional Random Fields,CRF)是一种概率无向图模型,常用于序列标注任务,尤其是NER任务。它能够考虑到序列的全局信息,学习到标签之间的约束关系,再根据约束规则选择最优标签序列。
文中使用线性链CRF:对于任意输入文本序列
X=(x1,x2,…,xi,…,xn),
若在给定X的条件下,输出的预测标签序列
Y=(y1,y2,…,yi,…,yn)
的条件概率P(Y|X)构成CRF,即满足马尔科夫性
P(yi|X,y1,…,yi-1,yi+1,…,yn)=
P(yi|X,yi-1,yi+1),
(10)
则称P(Y|X)为线性链CRF。
BiLSTM特征提取层的输出矩阵G,其矩阵元素Gi,j表示句子中第i个字第j个标签的得分;CRF的转移矩阵为A,矩阵元素Ai,j代表标签i转移到标签j的得分。则在给定输入序列X的条件下,输出的预测标签序列Y的总得分为
(11)
式中:y0——输出序列开始标签;
yn+1——输出序列结束标签。
因此A是维度为(k+2)的方阵。产生预测标签序列Y的概率分布为
(12)
两边同时取对数,得到正确预测序列的对数似然函数,
(13)
YX——所有可能的标注序列。
训练时最大化似然函数,解码后,得分最高的输出序列为
(14)
预测时,用Viterbi动态规划算法求解出最优标签序列。
3 实验与分析
3.1 数据集及标签标注规则
3.1.1 数据集
实验所用的MSRA数据集是由微软亚洲研究院发布的专门用于NER任务的中文数据集。其中训练集有46 364条语句,测试集有4 365条语句,共计5万余条,包含人名、地名和组织机构名三种实体类型。
数据集中各类实体统计见表1。
表1 各类实体统计表
3.1.2 标签标注规则
文中数据集采用BIO标记法,B表示实体最开始部分,I表示实体内部,O表示不是实体;PER、LOC和ORG分别代表人名、地名和组织机构名。所以,三种实体类型共有6种标签,加上O标签,总共有7种标签。
具体标签种类见表2。
表2 标签种类表
3.2 实验参数设置
实验环境见表3。
表3 实验环境表
模型训练时,使用Adam优化算法加快收敛速度,通过Dropout防止过拟合。
具体模型参数设置见表4。
表4 模型参数表
3.3 评价指标
模型采用准确率P、召回率R和F1值作为评价指标,对模型性能进行全面评估。各指标计算公式如下:
(15)
(16)
(17)
式中:TP——正确识别出的命名实体数量;
FP——识别错误的命名实体数量;
FN——未识别出的命名实体数量;
F1——综合了准确率和召回率,体现出模型的均衡性。
3.4 实验结果及分析
为验证FMER-CNER模型的有效性和优越性,文中进行了四组实验。
3.4.1 模型效果验证
为探究模型对每类实体的识别效果,实验中取得最大F1值时,各类实体的准确率P、召回率R和F1值见表5。
表5 各类实体识别结果 %
由此可见,模型对人名的识别效果相对较好,F1值最高,准确率也达到97.08%;对组织机构名的识别效果最差,准确率、召回率和F1值均最低。分析原因,可能是中文人名相对较短且结构明确,一般为2到3个字,少数为4个字以上,由“姓+名”的格式组成,所以相对容易识别;而组织机构名一般字数较多且结构相对复杂,大部分还与地名嵌套出现,所以识别起来相对困难。
3.4.2 融合嵌入表示的有效性验证
在其他条件保持不变的情况下,仅改变输入表示层的嵌入表示进行对比实验,见表6。
表6 模型对比结果 %
由实验结果可知,文中提出的FMER-CNER模型F1值最高,达到了96.06%,综合效果最好,说明同时融合字、句、拼音、五笔和四角码这些特征是有意义的,增强了语义表示,提升了命名实体识别效果。
3.4.3 预训练模型的优越性验证
在NER任务中,由众多前人的工作可知,BiLSTM-CRF组合模型的效果要明显优于BiLSTM、CRF这样单一模型的效果,而加入了预训练模型后的识别效果更优。所以,为验证百度ERNIE预训练模型的优越性,文中在其他条件保持不变的情况下,仅把百度ERNIE换成BERT的两个改进模型ALBERT和RoBERTa进行对比实验,结果见表7。
表7 ALBERT,RoBERTa与ERNIE实验对比 %
由表7可以看出,加入百度ERNIE的BiLSTM-CRF模型F1值达到95.34%,识别效果明显优于加ALBERT和RoBERTa的模型。而同时获取ERNIE的字、句嵌入模型F1值达到95.66%,高于只获取ERNIE字嵌入的模型0.32个百分点。充分说明在中文NER方面,百度ERNIE对中文语义的理解能力要好于ALBERT和RoBERTa,验证了其优越性,也说明同时获取ERNIE的字、句嵌入是有意义的,丰富了模型句子级别的语义表示。
3.4.4 模型对比实验
为验证本模型的优越性,与同样使用MSRA数据集的其他模型进行对比,结果见表8。
表8 与其他模型的对比结果 %
1)CAN-NER[18]模型虽然用具有局部注意力的CNN对字词信息进行编码,用具有全局注意力的BiGRU-CRF捕获全局特征和预测最终标签,但它没有关注到汉字的字音、字形特征,F1值只有92.97%。
2)Lattice-LSTM-CRF[6]模型在基于字符模型的基础上,利用注意力机制融合词典信息,将LSTM的线性结构转化成图结构,F1值达到93.18%。
3)LR-CNN[19]模型是一种含有Rethinking机制的多层CNN网络,在不同层融合字词向量,实现了并行化;添加反馈层反馈高级特征来细化word embedding的权重,解决了Lattice-LSTM模型存在的词典冲突问题。模型的F1值达到93.71%,较Lattice-LSTM模型提高0.53个百分点。
4)BERT-BiLSTM-CRF[20]模型利用BERT预训练生成词向量,相比前面模型的F1值有所提升,达到94.65%,说明预训练模型在词表示方面具有优势,语义理解能力更强。
5)BSTTC[21]模型利用BERT预训练生成动态字向量,然后用星型Transformer-TextCNN联合模型提取特征,最后经过CRF解码得到最终标签序列,模型F1值达到95.69%。
6)文中FMER-CNER模型既考虑了预训练模型在语义理解方面的优势,又考虑了句子的全局特征和汉字本身的字音、字形特点,准确率和F1值均优于前面的模型,证明了模型在中文NER任务中的有效性和优越性。
4 结 语
针对以往的中文NER模型只对字或词进行建模,很少关注句子的全局信息和汉字本身特有的字音、字形信息,以及预训练模型对中文语义表示不足等问题,提出了融合多种嵌入表示的中文NER模型FMER-CNER。在利用百度ERNIE预训练语言模型对字和句子进行建模,得到字句嵌入表示的基础上,充分考虑汉字本身的字音、字形特征,将拼音、五笔和四角码作为额外特征融入字句嵌入表示中,以增强模型的语义表示能力。在MSRA数据集上进行实验验证,F1值达到96.06%,超越了文中其他对比实验结果,证明了模型的有效性和优越性。未来,将会在现有工作的基础上继续进行探索优化,尝试解决复杂命名实体嵌套和领域命名实体迁移等问题。