论文题目:Lexicon Enhanced Chinese Sequence Labeling Using BERT Adapter
论文地址:https://arxiv.org/abs/2105.07148
这是一篇自表于2021 ACL(NLP顶会)的论文。论文提出将字典融入BERT网络层记作字典加强BERT(Lexicon Enhanced BERT,LEBERT) ,用于提升中文标注效果。新模型在命名实体识别、分词、成份标注实验中均达到了目前最佳水平。
简介
由于存在分词(CWS)问题,中文面临更大的挑战,对多数任务,以字为单位比以词为单位效果更好。
目前大多优化方法都是修改上层(网络末端),而未修改核心网络。文中提出的方法利用字典得到更多可能的分词,动态计算最佳分词方法,并修改了网络的Transformers层,如图-1中的右图所示:
模型
模型的核心结构如图-2所示,相对于BERT,LEBERT有两个明显差别:
(1)输入变成了字符特征+字典特征
(2)字典适配层在Transformer层之间
字词配对
文中方法将基础的字符序列扩展成字符+词对序列,设句S由字符c组成:Sc={c1,c2,c3,...,cn},在字典D中找到在句中包含字符c所有可能的词ws,如图-3所示:
最终生成序列:
s_cw={(c1,ws1),(c2,ws2),...(cn,wsn)}
字典适配
将字符和词信息融入BERT网络的字典适配层,方法如图-4所示:
字典适配层有两个输入:字符和词对,即上图中的h和x,其中h是前一个transformer层输出的字符向量,x是m个可能包含该字符的词组成的词嵌入,其中j是m中的第j个词:
其中e是预训练得到的词向量映射表。
为了对齐长短不一的序列,对词向量进行非线性变换如下:
其中W1是大小为dc-dw的矩阵,W2是大小dc-dc的矩阵,b1和b2是偏移,dw是词向量的维度,c是隐藏层的维度。
由图-3可知,一个字可能对应多个词,对于不同的任务,最匹配的词可能并不相同。
具体算法是使用vi表示第i个字符对应的所有词表,m是该字符可能对应的词个数,计算注意力attention如下:
其中W是注意力权重矩阵。
然后对每个词乘其权重加和,得到位置i对应的词表示:
最终,将词典信息与字符的向量相加,得到了该位置的新向量:
处理后的数据再送入dropout层和归一化层继续处理。
用字典加强BERT
将字符输入词嵌入层,加入token, segment和position信息,然后将该层输出的词嵌入输入Transformer层:
输出的是第l个隐藏层的输出,LN是归一化层,HMAttn是多头注意力机制,FFN是两个前馈网络层,使用ReLU作为激活函数。
在k-th和(k+1)-th Transformer之间加入字典信息
训练和解码
考虑到标签的前后关系,使用CRF层来预测最终的标签,将最后一个隐藏层h的输出作为输入,计算输出层O:
然后将输出层代入CRF模型,计算标签y的概率p。
训练时给出句子S和标签Y,计算全句的负对数似然作为误差。
解码时,使用维特比算法计算得分最高的序列。
实验
论文针对命名实体识别NER,分词CWS、位置POS标注进行了实验,实验数据如表-1所示(中文NLP常用实验数据)。
图-5展示了相对于BERT和基于BERT的最新模型,文中模型误差的减少情况。
除了与其它模型比较之外,论文还比较了LEBERT方法与在组装模型的Bert+Word方法的差异。