APP下载

Bert-BLSTM-CRF模型的中文命名实体识别

2021-03-14王远志曹子莹

关键词:命名向量实体

王远志,曹子莹

(安庆师范大学计算机与信息学院,安徽安庆246133)

命名实体识别(Named Entity Recognition,NER)是自然语言文本数据处理工作中的一项基础且至关重要的环节[1],其在信息的查询和抽取、智能问答以及机器翻译等领域均有广泛应用。

随着计算机硬件的迅速发展,神经网络能够有效地处理命名实体识别任务。与统计机器学习方法相比,基于神经网络的深度学习方法拥有较低的人工依赖性和较强的泛化性[2],得到了NLP(Natural Language Processing)领域研究者的广泛关注。Collobert等[3]提出采用CNN(Convolutional Neural Networks)与CRF(Conditional Random Field)相结合的方法进行命名实体识别研究,获得了较好的实体识别结果。马建红等[4]采用基于Attention的双向长短期记忆网络BLSTM(Bidirectional Long Short-Term Memory)与CRF相结合实现了新能源汽车专利文本实体的识别。Huang等[5]将BLSTM和CRF应用于NLP的基准标注数据集,减少了对字词嵌入的依赖并提高了准确率。Li等[6]在生物学文本研究中采用了基于条件随机场的BLSTM神经网络模型,识别出了不规则的实体,准确率达81.09%。

采用BLSTM模型能够解决当前机器学习中存在的人工标注特征和领域知识依赖性较强的问题。但是,在BLSTM模型输出的结果中,会存在词的标注结果分散的情况,这导致识别结果无法形成合理的标注序列,因此添加CRF层作为BLSTM输出的解码层。CRF可以更好地关注预测结果,优化标注序列。采用BLSTM模型和CRF模型相结合的方法能够有效提高命名实体识别的准确率。

中文与英文最大的不同点是中文有字和词的区别,因此在中文NER中有3种识别方案,分别为关于字的、关于词的、关于字和词结合的命名实体识别。He等[7]通过对命名实体识别中的基于字级别和基于词级别的研究和对比,得到了基于词的NER方法没有基于字的NER方法的识别效果好。因此,一些研究人员,如Chen等[8]在基于神经网络的中文NER模型中使用了基于字的NER方法,Xu等[9]为了融合分词信息把分词和命名实体识别结合训练,Peng等[10]通过将分词信息作为soft feature来增强识别效果。

难以表达字的多义性是目前中文命名实体识别方法中存在的最大问题,为此,研究者提出了采用预训练语言模型的新方法,此方法中的词表示既可以包含多样化的句法和语义,又可以对多义词进行建模。Bert预训练语言模型具有强健的表义能力。因此,本文在命名实体识别研究中采用Bert预训练语言模型,并在此基础上提出Bert-BLSTM-CRF网络结构。

1 Bert-BLSTM-CRF模型

本文提出的模型由Bert、BLSTM和CRF三个模块构成,模型框架如图1所示。待识别句子首先输入到Bert模块层进行预训练,然后将输出的字向量序列输入到BLSTM模块中做语义编码处理,最后将BLSTM层的输出结果送入CRF层,计算出最优化的标签序列。与其他传统的深度学习命名实体识别方法相比,引入Bert预训练语言模型是最主要的不同之处。Bert-BLSTM-CRF模型是在大量语料上学习研究得到的,它能够根据字的上下文信息计算出字的向量表示,可以表征字的多义性,增强句子的语义表示。

图1 基于Bert-BLSTM-CRF的NER模型

1.1 Bert预训练语言模型

Bert模型于2018年由Devlin等[11]提出。图2是Bert模型的结构图,模型使用双向Transformer作为编码器预训练深度双向表示,这一点与其他语言表示模型不同。该模型还提出了两种新的无监督预测任务,即“Masked语言模型”和“下一句预测”任务,并对两个任务的结果进行结合,前者是用来获取词级别的表示,后者是用来获取句子级别的表示。

图2 Bert预训练语言模型

为了能够训练深度双向表征,“Masked语言模型”使用一个比较直白的方法,即随机盖住输入token的部分词语,然后让编码器预测被盖住的token的原始词。实验的训练样本由随机遮盖句子中15%的词组成,其中:(1)采用masked token标记来替换的概率为80%;(2)采用随机采样的一个词来替换的概率为10%;(3)不做替换的概率为10%。

“下一句预测”使Bert预训练语言模型具有学习待识别句子之间关系的能力,采用预训练一个二值化的模型来实现。自然语言推断和问答等NLP任务都需要对句子之间的关系进行理解,“下一句预测”利用上一个句子对随机替换的句子进行IsNext/NotNext的预测来学习句子之间的关系。

双向Transformer是基于注意力机制来对一段文本进行建模,摒弃了RNN(Recurrent Neural Network)的循环式网络结构,是Bert最关键的部分,其编码单元如图3所示。

图3 Transformer编码单元

自注意力部分是Transformer编码单元最重要的模块,其基本原理是算出一句话中所有词与这句话中每个词彼此之间的关联性及重要程度。每个词新的表示就可以根据这些关联性和重要程度来获得,如下式所示:

其中Q、K、V均是输入字向量矩阵,dk为输入向量维度。

Transformer模型中的自注意力机制增加了传统自注意力机制没有的多头自注意力机制来扩大注意力单元的“表示子空间”,提高模型专注于不同位置的能力,如下式:

此外,Transformer编码单元中还加入了残差网络和层归一化来处理深度学习中的退化问题,如下式:

时序特征在自然语言处理中是一个很关键的特征,Transformer添加时序信息解决自注意力机制不能抽取时序特征的问题,通过使用位置嵌入的方法完成,如下式所示:

Bert的输入表示为每个词对应的词向量、segment向量、位置向量相加。与其他语言模型相比较,Bert预训练语言模型可以对词前后两侧的信息进行充分利用,得到更佳的词分布式表征。

1.2 双向长短期记忆网络BLSTM

(a)LSTM单元

LSTM是一种改进的RNN,由Hochreiter和Schmidhuber[12]于2014年提出,LSTM模型有效地解决了传统RNN存在的梯度消失问题,并实现了对长距离信息的有效利用。LSTM网络结构由三个称之为“门”的控制单元和一个记忆单元构成。输入门(input gate)、输出门(output gate)和遗忘门(forget gate)是LSTM网络结构中的三个门。输入门决定什么样的信息会被保留,遗忘门则决定什么样的信息会被遗弃,输出门决定有多少信息可以输出。LSTM能够记忆长期依赖的关键是输入门和遗忘门。记忆单元的功能是对信息进行管理和保存,其核心思想是学习LSTM单元中三个门的参数来管理记忆单元中的信息,使有用的信息经过较长的序列也能保存在记忆单元中。图4是LSTM的单元结构图。

图4 LSTM单元结构图

从图4可以看到,在t时刻LSTM单元的输入由三个部分组成,分别为:记忆单元ct-1,上一个单元的隐含层ht-1和输入层xt。隐含层ht和记忆单元ct构成了t时刻该单元的输出。

t时刻隐含层的计算流程:先算出输入门、输出门和遗忘门的信息,再计算出记忆单元内的信息,最后由输出门和记忆单元的值计算得到该时刻隐含层的值。具体计算如下:

式(8)中的σ是激活函数sigmod,tanh是双曲正切激活函数,it是输入门,ft是遗忘门,ot是输出门,xt是当前的单元输入,W和b分别代表三个门的权重矩阵和偏置向量,ct表示记忆单元的状态,c~t表示t时刻的状态,是由当前输入取得的中间状态,主要作用是更新当前时刻的状态,ht为t时刻的输出。

(b)BLSTM模型

LSTM只获得了待识别文本中的上文信息,而下文信息对于NER任务也有非常重要的参考意义。BLSTM是在LSTM的基础上优化而来,其在NLP领域的序列标记任务上具有非常突出的表现[13]。因此,为了同时获取上下文信息,本文使用双向LSTM进行模型训练,其结构如图5所示。

图5 BLSTM结构

图5中,xt表示模型在t时刻的输入数据;矩形框中的LSTM为式(8)所描述的模型;和正向的LSTM与反向的LSTM在t时刻的输出,直接组合与得到为BLSTM在t时刻的输出表示。BLSTM最终的输出由过去的隐藏信息和将来的隐藏信息两部分共同构成。

1.3 条件随机场

条件随机场是2001年由Lafferty等[14]提出的一种典型的判别式模型。鉴于BLSTM层输出的结果会存在一些没有意义的字符,不会考虑到标签之间存在的依赖关系,而CRF模型能够合理地考虑到上下文信息之间存在的依赖关系,所以采用BLSTM与CRF相结合的模型不仅能够融合上下文信息,而且能够合理地考虑到相邻标签之间存在的依赖关系,保证最终的识别结果是正理的。

CRF模块的输入是经过Bert和BLSTM层训练后的词向量,由CRF的输入求出句子级的序列标记。每个词向量特征fj相应的权重值λj通过前两个模块的训练已经获得了,使用score(l|s)=算出每个标记序列l的值来标记整个句子s,并获得该标记序列的分数。其中,s是待标记的句子,i为词在句子中的位置,li是当前词的标签,li-1是上一个词的标签,m是相应的特征数,n是相应的句子长度。将分数归一化转化为0~1的概率值,如下所示:

表1 实验环境

计算出每个标记序列l的p(l|s),概率值最大的l就是最终的标记序列。

2 实验结果与分析

2.1 实验条件

实验使用《人民日报》预料库对中文人名、地名、机构名进行命名实体识别。语料库随机分成训练集、评估集和测试集,其中测试集包含4 636个句子、1 405 788个字,训练集包含20 864个句子、6 277 429个字,评估集包含2 318个句子、702 455个字。所有实验采用的环境如表1所示。

2.2 标注与评价

目前,序列标注的方法有BIO、BIOSE、IOB、BILOU、BMEWO,其中前三种最为常见。本文的命名实体识别序列标注使用BIO标注方法,在实体预测时预测实体边界和类型,待预测的标记有“B-PER”,“I-PER”,“B-LOC”,“I-LOC”,“B-ORG”,“I-ORG”和“O”7种,其中实体开始部分用B(Begin)表示、实体非开始部分用I(Inside)表示、非实体部分用O(Outside)表示。在预测过程中,实体预测正确的条件是实体的边界和类型全都预测正确。

本文采用准确率P、召回率R和F1值作为命名实体识别的评价指标,定义如下:

2.3 实验参数设置

实验采用Bert参数:BERT-Base版本,网络层数为12,隐藏层为768,头为12,总参数量为110 M。模型训练参数如表2所示。

表2 模型训练参数

2.4 实验结果

Bert-BLSTM-CRF模型训练的F1值如图6所示,该模型训练的F1最高值95.12%是在第12个epoch得到的,BLSTM-CRF模型的F1最高值87.56%是在第17个epoch得到的,E-CNN-BLSTM-CR模型的F1值在第39个epoch才达到最优。

图6 F1值变化图

经过上述实验后,三类实体(人名、地名、机构名)的准确率P、召回率R、F1值如表3所示。

表3 不同类型命名实体识别结果

从表3中可以看出,人名和地名两种类型实体预测的准确率比机构类实体高,主要原因在于人名和地名两种类型的实体中不存在大量的缩略词、地名嵌套、歧义等干扰信息;而机构名则相反。因此,在没有足够的上下文信息时预测正确的概率较低。

为了证明Bert-BLSTM-CRF模型的有效性,将其和下述5种方法进行实验对比。

(1)CRF模型采用CRF开源工具CRF++0.58工具包创建模型,对连续的数据信息进行标记,从而识别出中文命名实体。

(2)BLSTM模型采用正向和反向的LSTM单元在语料库上完成对中文机构名命名实体的识别。

(3)BLSTM-CRF模型利用事先预训练好的字向量进行字级别的标注,然后输入BLSTM-CRF模型中进行训练,此模型是一个经典的序列标注模型。

(4)CNN-BLSTM-CRF模型[15],该模型首先利用卷积神经网络(CNN)训练出单词的具有形态特征的字符级向量,并从语料训练中获得具有语义特征信息的词向量,然后将二者结合作为输入,再构造适合生物医学命名实体识别的BLSTM-CR模型。

(5)E-CNN-BLSTM-CRF模型[16],为了能够得到多个词之间更加丰富的边界特征信息,对CNN中的卷积层采用设定不同卷积窗口大小的方法,然后把集成的特征信息传送到BLSTM模型进行训练,最后由CRF模型取得最后的序列标注。

多种不同模型命名实体识别实验结果如表4所示。

从表4可以看出,方法1和方法2分别采用了CRF模型、BLSTM模型,实体识别的F1值分别为68.87%和79.02%。这两个方法可以识别出部分实体,但整体识别结果不理想,而且方法1没有方法2的识别效果好,这是由于CRF模型需要提供人工标记语料信息量较大,而BLSTM是可以融合上下文语义信息进行训练。

方法3采用了BLSTM和CRF相结合的模型进行实体识别,识别结果的F1值为87.56%,通过方法3和前两种方法的比较可以看出,BLSTM-CRF模型能够有效地提高中文命名实体识别的准确率,其F1值相对于只采用CRF模型和只采用BLSTM模型的F1值分别提高了18.69%和8.54%。这是由于BLSTM-CRF模型不仅可以结合上下文的信息,而且还可以考虑到句子前后标签间的依赖关系,所以方法3能够取得比较不错的实体识别效果。方法4采用CNN-BLSTM-CRF模型的识别效果比较好,其召回率为88.88%,高于方法5,但是在正确率上略低于方法5。

表4 不同模型命名实体识别结果

方法6在方法3的基础上引入了Bert,其识别结果的F1值比方法3提高了7.56%。引入Bert可以正确地识别出更多的命名实体,并且显著地提高了召回率和准确率。说明Bert预训练语言模型可以较好地表征字的多义性。方法6与方法4、方法5相比效果更好,说明Bert的特征提取性能较好,特征的提取相比于笔画特征的单独训练和字词结合特征的效果要好。综上所述,本文提出的Bert-BLSTM-CRF模型可以取得比传统的基于神经网络模型更好的识别效果。

3 结束语

针对中文命名实体识别中基于传统的字向量表征过于单一、无法很好地处理字的多义性特征等问题,本文提出了Bert-BLSTM-CRF模型中文命名实体识别方法。Bert模型通过联合调节所有层中的上下文,使用双向Transformer作为编码器。经过对比实验,本文提出的模型在人名、地名、机构名的总体识别效果要优于其他模型,具有较好的精确性,提高了实体识别的准确率。

猜你喜欢

命名向量实体
向量的分解
命名——助力有机化学的学习
聚焦“向量与三角”创新题
从盐渎到盐城——盐城命名记
实体书店步入复兴期?
有一种男人以“暖”命名
2017实体经济领军者
我是我自己的许多孩子〔外一首〕
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”