APP下载

基于栈式预训练模型的中文序列标注

2022-05-10刘宇鹏,李国栋

哈尔滨理工大学学报 2022年1期

刘宇鹏,李国栋

摘要:序列标注(sequence labelling)是自然语言处理(natural language processing)中的一类重要任务。在文中,根据任务的相关性,使用栈式预训练模型进行特征提取,分词,命名实体识别/语块标注。并且通过对BERT内部框架的深入研究,在保证原有模型的准确率下进行优化,降低了BERT模型的复杂度,减少了模型在训练和预测过程中的时间成本。上层结构上,相比于传统的长短期记忆络(LSTM),采用的是双层双向LSTM结构,底层使用双向长短期记忆网络(BiLSTM)用来分词,顶层用来实现序列标注任务。在新式半马尔可夫条件随机场(new semiconditional random field,NSCRF)上,将传统的半马尔可夫条件随机场(SemiCRF)和条件随机场(CRF)相结合,同时考虑分词和单词的标签,在训练和解码上提高了准确率。将模型在CCKS2019、MSRANER和BosonNLP数据集上进行训练并取得了很大的提升,F1测度分别达到了92.37%、95.69%和93.75%。

关键词:基于BERT的栈式模型;预训练模型;命名实体识别;语块分析

DOI:10.15938/j.jhust.2022.01.002     中图分类号: TP391        文献标志码: A      文章编号: 1007-2683(2022)01-0008-06

Chinese Sequence Labeling Based on Stack Pretraining Model

LIU Yupeng,LI Guodong

(School of Computer Science and Technology, Harbin University of Science and Technology, Harbin 150001, China)

Abstract:Sequence labeling is an important task in natural language processing. In this paper, according to the relevance of tasks, we use stacking pretraining model to extract features, segment words, and name entity recognition/chunk tagging. Through indepth research on the internal structure of BERT, while ensuring the accuracy of the original model, the Bidirectional Encoder Representation from Transformers (BERT) is optimized, which reduces the complexity and the time cost of the model in the training and prediction process. In the upper layer structure, compared with the traditional long shortterm memory network (LSTM), this paper uses a twolayer bidirectional LSTM structure, the bottom layer uses a bidirectional longshortterm memory network (BiLSTM) for word segmentation, and the top layer is used for sequence labeling tasks. On the New SemiConditional Random Field (NSCRF), the traditional semiMarkov Conditional Random Field (SemiCRF) and Conditional Random Field (CRF) are combined while considering the segmentation. The labeling of words improves accuracy in training and decoding. We trained the model on the CCKS2019, MSRANER, and BosonNLP datasets and achieved great improvements. The F1 measures reached 92.37%, 95.69%, and 93.75%, respectively.

Keywords:stacking model based on BERT; pretrained model; named entity recognition; chunk analysis

0引言

隨着大数据时代的到来,互联网成为了信息传播的主要方式,但是,网络上的文本信息每天都会呈指数型的迅速增长,如何高效地挖掘海量文本中的有效信息,成为了当今自然语言处理(natural language processing ,NLP)等领域研究的重要任务。中文的序列标注问题是计算机理解人类语言,实现人机交互非常关键的一步,它可以将中文的句子转化成机器可以理解的语言。命名实体识别(named entity recognition, NER)和语块分析(chunking)是NLP领域底层识别句子中专有名词的一项技术,命名实体识别任务可以通过训练好的模型识别出文本中的人名、地名、机构名等专有名词,而语块分析任务可以识别句子中的短语块结构。它们识别的准确率直接影响到上层任务的性能,比如,情报分析、舆情分析、文献分析等等。

命名实体识别和语块分析作为序列标注任务[1-2]的子任务,其主要的实现方式分为两类,一类是基于传统的统计机器学习的方式,比如,传统的隐马尔可夫模型(hidden markov model ,HMM)[3]等。另一类是基于深度神经网络的模型,比如,卷积神经网络(convolutional neural network ,CNN)[4]、循环神经网络(recurrent neural network ,RNN)[5]等。近年来,深度学习在NLP领域取得了飞速的发展[6-10]。与传统的机器学习的方法相比,深度学习的方式有更强的建模能力。

本文引入BERT模型[6],并进行了模型压缩,结合改良的半马尔可夫条件随机场应用于顶层任务进行训练和预测,模型分别在宾州大学汉语树库、CCKS2019、MSRANER和BosonNLP语料库中测试,结果都表现出了其良好的性能。

1模型介绍

1.1BERT压缩模型

BERT是由多层Transformer[11]构成的,图1为Transformer的基本架构。我们仅用了Transformer的编码器部分,因为编码器部分负责接收文本输入,BERT模型的目标是生成语言模型,所以,仅用编码器部分已经足以完成建模。Transformer的编码器部分是一次性读取整个文本序列,而不是从左到右或从右到左地顺序性读取,这个特征使得模型能够基于单词的两侧进行学习,相当于是一个双向的功能。

对多头注意力机制[12]参数化表示,先给出单头注意力机制的计算公式(1),给定一个n×d维度的词向量x=[x1,x2,…,xn]∈Rd,和一个查询向量q∈Rd,将注意力机制的4个权重向量参数化为Wk,Wq,Wv,Wo∈Rd×d,表示为

AttentionWk,Wq,Wv,Wo(x,q)=Wo∑ni=1aiWvxi(1)

在这里,每个xi通过查询向量q来计算一个句子的向量表示。多头注意力机制的存在,使得BERT模型能够提取更深层的特征。多头Attention机制进行参数化表示,用Nh来表示Attention中头的个数:

MHAttention(x,q)=∑Nhh=1AttentionWhk,Whq,Whv,Who(x,q)(2)

这里,Whk,Whq,Whv∈Rdh×d,当dh=d时,模型的性能将会更优。使用Attentionh(x)作为词向量x在h个头下的输出总和。为了使每个不同的头能够相互作用,Transformer在每个多头注意力机制后面用了非线性的前馈网络。

为了方便裁剪,我们修改了一下MHAttention(x,q):

MHAttention(x,q)=∑Nhh=1βhAttentionWhk,Whq,Whv,Who(x,q)(3)

在式(3)中,加入了一个变量βh∈(0,1),当βh=1时,表示没有裁剪的情况,当需要裁剪某个头注意力机制时,只需要将对应的βh设置为0即可。

对修剪的头的重要性做一个量化的评分,式(3)中βh的敏感性将其定义为

Eh=Ex~XL(x)βh(4)

式中:X表示数据的分布信息;L(x)代表样本x的损失函数,由此可以看出,如果Eh的值比较大的话,βh=1的变化对L(x)的影响将非常大,也就是对模型的性能影响很大。这里加入绝对值,避免在计算的过程中出现正负值相加清零的情况。然后,将式(3)插入式(4)得到如下式[13-14]:

Eh=Ex~XAttentionh(x)TL(x)Attentionh(x)(5)

1.2半马尔可夫条件随机场(semiCRF)

常用的序列标注方法有最大熵模型(maximum entropy,ME)[7]、隐马尔可夫模型(hidden Markov model,HMM)[3]、支持向量机(support vector machine,SVM)[8]、条件随机场(conditional random field,CRF)[9]等。

仅仅使用BiLSTM已经能完成序列标注任务,但是,我们得到的标签序列很可能不符合标注的语法规范,比如,在一个动词后面又添加了一个动词的标签,或者是标签开始是BLOC,而后面接的是IPER。条件随机场的作用就是在词与词之间增加一系列的语法限制,避免出现非法组合的情况。其序列标注问题中有两个任務:一是模型的训练过程,在此过程中基本是使用极大似然估计进行模型的训练优化。二是模型的预测过程也叫解码过程,即对观测序列进行标注。与隐马尔可夫模型的解码方式相似,主要使用维特比解码算法。图2为CRF的基本框架图,在CRF中输入和输出是直接相连的,在输出的标签之间CRF会传递转移概率矩阵,用来生成标签的约束。

如图3所示,首先获得输入序列的字符向量、上下文向量和位置向量。然后将3个向量矩阵进行拼接,共同输入到BERT模型中进行预训练,得到BERT预训练后的词向量。其次,将预训练好的词向量输入到底层的BiLSTM中去,进行分词,由于序列标注任务的相似性,将分好的词向量以及底层训练好的参数共同输送到上层的BiLSTM中去分别做语块分析任务和命名实体识别任务。由于顶层采用的是一个联合训练和解码的过程,这里对其做一个简单的概述。在SemiCRF[18]中计算每个分段的概率,根据条件概率公式,表示为

p(|w)=s(,w)∑a′∈As(a′,w)(6)

A包含句子中的所有分词,分词后的分数可以表示为

s(a,w)=∏|a|i=1Γ(li-1,li,w,bi,ei)(7)

Γ(li-1,li,w,bi,ei)=exp{mi+tli-1,li},这里mi=τ1(li,w,bi,ei)是来自BiLSTM的发射概率作为分段的分数,tli-1,li表示的是li-1到li的在各个分段上的转移概率。

区别于已有的半马尔可夫条件随机场,在构建的模型中,用单词的标签代替分段的标签来计算各个分词的分数,表示如下:

mi=∑eik=biτ2(lbk,w′k)=∑eik=biwtTlbkw′k(8)

其中:τ2(lbk,w′k)表示的是第k个单词被分在单词级别标签lbk中。进而等价于类别lbk的权重参数于第k个单词特征向量的乘积。模型建立完成后,在训练阶段,使用负对数似然函数(negative loglikelihood,NLL)对顶层的NSCRF和底层BiLSTM词向量中的参数进行训练。顶层采用的训练和解码算法不仅仅是NSCRF,而是采用NSCRF与CRF联合训练、预测的方法。经过测试,性能高于传统的解码方式。

在解码阶段,使用维特比算法[18]获得最优的分段序列,维特比算法的基本形式为:

a#=argmaxa′∈Alogp(a′|m)(9)

2实验

2.1BERT模型压缩

使用控制变量的方法进行实验,BERT一共12层,对每一层中的MHA进行裁剪,为了了解特定层数中注意力头对整个模型的影响力,首先将其Attentionh(x)设置为0,对模型进行性能测试,如果缺少该头后的性能明显不如完整模型,则说明该头很重要;如果性能与原模型性能相比下降不明显,那么,我们判定这个头就是可以裁剪掉的。

接下来,我们分别对BERT模型和ALLATTENTION模型[12]中的每一层测试。如表1所示,在BERT模型中,从第一层开始,逐层转换成单头注意力机制,经过观察,12层中,每一层的变化率都在1%之内。由此我们初步得出,在某一层上,将多头注意力机制改成单头注意力机制以后,模型的性能并不会显著下降。然后,对比表2,在ALLATTENTION(由Transformer组成的大型的模型,其中共有6层Transformer框架,每层有16个头组成)的3种注意力机制下,对其进行裁剪,结果显示,并不是所有的多头注意力机制裁剪之后都不会对模型产生影响。在EncoderDecoder阶段,在深层次进行裁剪的时候,模型的性能会大幅度下降。经过在BERT和ALLATTENTION框架中实验,我们发现,在大多数情况下,对单层对多头注意力机制进行裁剪,对模型的影响并不是很大,所以,我们可以在不同层下,对其进行头的剪枝,从而简化模型的复杂度,降低训练的时间成本。

在上面的实验中,我们仅仅对单层中的头进行裁剪,并没有对多层同时进行裁剪,为了验证多头注意力机制在多层中的可修剪性,我们对两个模型进行参数化表示后,在多层中对其进行裁剪。

圖4(a)ALLATTENTION和图4(b)BERT描述了修剪多头注意力机制对于模型性能的影响,同时以10%为最小单位来进行修剪,并且将结果反应在Eh上。根据图4的数据可以看出,这种方法通过对ALLATTENTION和BERT中的20%和40%的头部注意力机制进行裁剪,BLEU和Accuracy下的下降很小,几乎可以忽略不计(原始使用BERT进行特征编码每秒的解码句子数量为200句/秒,而使用剪枝后的时间成本减少了两倍)。当我们继续对多头注意力机制进行裁剪的时候,训练集和测试集上BLEU和Accuracy将会有巨大的差距,这说明,多头注意力机制在模型中非常重要,并不能将其简化为单纯的单头注意力机制。在模型中,我们通过裁剪,降低了模型的复杂度,进而减少了模型训练和预测过程中的时间成本。

多头注意力机制虽然在数据集上表现良好,但是我们仍可以在保证模型性能的前提下,削减模型的复杂度。实验证明了可以在ALLATTENTION和BERT模型中删除掉百分之二十的头,甚至将多头注意力机制用单头的注意力机制进行替换。在模型的预测过程中不会有显著的准确率下降,反而降低了模型训练的时长。

2.2序列标注实验

在序列标注的两个子任务中,我们分别选取了不同的数据集进行训练和测试。在语块分析任务中,我们用的是宾州大学汉语树库。按照6∶2∶2的比例对数据集进行划分,分为训练集、验证集和测试集。在命名实体识别任务中,应用CCKS2019 NER电子病历的数据集[15]、MSRANER数据集[16]以及柏森发布的BosonNLP数据集[17]。

在语块分析任务中通过将数据集在LSTMCRF框架和BERTStack BiLSTMNSCRF中进行训练和预测,在我们的模型中得出了92.4%的F1分数,远高于LSTMCRF框架。

最后,给出3个命名实体识别数据集在3个模型中的F1测度的比较。数据表明,BERTStack BiLSTMNSCRF在处理中文序列标注问题中表现的性能比传统的RNN模型更加优秀。

3结论

本文在传统LSTMCRF的基础上提出了BERTStack BiLSTMNSCRF框架,通过对BERT内部框架的研究,在不明显降低模型准确率的前提下,将BERT内部进行剪枝,降低了BERT模型的复杂度,减少了模型在训练和预测过程中的时间成本。上层结构上,本文采用的是双层双向LSTM结构,底层BiLSTM用来分词,顶层用来实现序列标注任务。相较于传统的单层BiLSTM来说,一方面,由于序列标注任务的相似性,可以将分词的结果作为预测训练结果;另一方面,考虑损失函数在训练过程中易陷于局部最优解的情况,用双层BiLSTM更容易得到全局最优解。在NSCRF上,将传统的SemiCRF和CRF相结合,同时考虑分段和单词的标签,在训练和解码上提高了准确率。

参 考 文 献:

[1]陈肇雄,高庆狮. 自然语言处理[J]. 计算机研究与发展,1989(11):3.

CHEN Zhaoxiong, GAO Qingshi, Natural Language Processing[J]. Journal of Computer Research and Development,1989(11):3.

[2]蔡莉, 王淑婷, 刘俊晖, 朱扬勇. 数据标注研究综述[J]. 软件学报, 2020, 31(2): 302.

CAI L, WANG ST, LIU JH, et al. Survey of Data Annotation[J]. Journal of Software, 2020, 31(2): 302.

[3]BEAL M J, GHAHRAMANI Z, RASMUSSEN C E. The Infinite Hidden Markov Model[C]//Advances in Neural Information Processing Systems, 2002: 577.

[4]KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet Classification with Deep Convolutional Neural Networks[C]//Advances in Neural inFormation Processing Systems, 2012: 1097.

[5]MIKOLOV T, KARAFIT M, BURGET L, et al. Recurrent Neural Network Based Language Model[C]//Eleventh Annual Conference of the International Speech Communication Association, 2010:1045.

[6]DEVLIN J, CHANG M W, LEE K, et al. BERT: Pretraining of Deep Bidirectional Transformers for Language Understanding[C]// Proceedings of NAACLHLT, 2019:4171.

[7]PHILLIPS S J, ANDERSON R P, SCHAPIRE R E. Maximum Entropy Modeling of Species Geographic Distributions[J]. Ecological Modelling, 2006, 190(3/4): 231.

[8]SUYKENS J A K, VANDEWALLE J. Least Squares Support Vector Machine Classifiers[J]. Neural Processing Letters, 1999, 9(3): 293.

[9]LAFFERTY J, MCCALLUM A, PEREIRA F C N. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data[C]// Proceeding 18th International Conference on Machine Learning, 2001: 282.

[10]SARAWAGI S, COHEN W W. Semimarkov Conditional Random Fields for Information Extraction[C]//Advances in Neural Information Processing Systems, 2005: 1185.

[11]DEVLIN J, CHANG M W, LEE K, et al. BERT: Pretraining of Deep Bidirectional Transformers for Language Understanding[C]// ArXiv, abs/1907.11692.2019.

[12]VASWANI A, SHAZEER N, PARMAR N, et al. Attention is All You Need[C]//Advances in Neural Information Processing Systems, 2017: 5998.

[13]LECUN Y, DENKER J S, SOLLA S A. Optimal Brain Damage[C]//Advances in Neural Information Processing Systems, 1990: 598.

[14]HASSIBI B, STORK D G. Second Order Derivatives for Network Pruning: Optimal Brain Surgeon[C]//Advances in Neural Information Processing Systems, 1993: 164.

[15]LIU H, WANG P, PAN Z, et al. FMPK Results for CCKS 2019 Task 3: InterPersonal Relationship Extraction[J]. CCKS2019shared task, 2019:1.

[16]ZHAO H, KIT C. Unsupervised Segmentation Helps Supervised Learning of Character Tagging for Word Segmentation and Named Entity Recognition[C] //Proceedings of the Sixth SIGHAN Workshop on Chinese Language Processing, 2008:106.

[17]MIN K, MA C, ZHAO T, et al. BosonNLP: An Ensemble Approach for Word Segmentation and POS Tagging[M]//Natural Language Processing and Chinese Computing. Springer, Cham, 2015: 520.

[18]FORNEY G D. The Viterbi Algorithm[J]. Proceedings of the IEEE, 1973, 61(3): 268.

[19]PAPINENI K, ROUKOS S, WARD T, et al. BLEU: A Method for Automatic Evaluation of Machine Translation[J]. In ACL, 2002.

[20]謝腾, 杨俊安, 刘辉. 基于BERTBiLSTMCRF模型的中文实体识别[J]. 计算机系统应用, 2020, 29(7): 48.

XIE T, YANG JA, LIU H. Chinese Entity Recognition Based on BERTBiLSTMCRF Model[J]. Computer Systems and Applications, 2020, 29(7): 48.

(编辑:王萍)