论文阅读_用字典提升基于BERT的中文标注效果

2022-01-23  本文已影响0人  xieyan0811

论文题目: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个词:
x_{ij}^w=e^w(w_{i,j})
其中e是预训练得到的词向量映射表。
为了对齐长短不一的序列,对词向量进行非线性变换如下:
v_{ij}^w=W_2(tanh(W_1x_{ij}^w+b_1))+b_2
其中W1是大小为dc-dw的矩阵,W2是大小dc-dc的矩阵,b1和b2是偏移,dw是词向量的维度,c是隐藏层的维度。

由图-3可知,一个字可能对应多个词,对于不同的任务,最匹配的词可能并不相同。

具体算法是使用vi表示第i个字符对应的所有词表,m是该字符可能对应的词个数,计算注意力attention如下:
a_i=softmax(h_i^cW_{attn}V_i^T)
其中W是注意力权重矩阵。
然后对每个词乘其权重加和,得到位置i对应的词表示:
z_i^w=\sum_{j=1}^m a_{ij}v_{ij}^w
最终,将词典信息与字符的向量相加,得到了该位置的新向量:
\widetilde{h}_j=h_i^c+z_i^w
处理后的数据再送入dropout层和归一化层继续处理。

用字典加强BERT

将字符输入词嵌入层,加入token, segment和position信息,然后将该层输出的词嵌入输入Transformer层:
G=LN(H^{l-1}+HMAttn(H^{l-1}))
H^l=LN(G+FFN(G)
输出的H^l是第l个隐藏层的输出,LN是归一化层,HMAttn是多头注意力机制,FFN是两个前馈网络层,使用ReLU作为激活函数。

在k-th和(k+1)-th Transformer之间加入字典信息
\widetilde{h}_i^k=LA(h_i^k,x_i^{ws})

训练和解码

考虑到标签的前后关系,使用CRF层来预测最终的标签,将最后一个隐藏层h的输出作为输入,计算输出层O:
O=W_oH^L+b_o
然后将输出层代入CRF模型,计算标签y的概率p。

image.png

训练时给出句子S和标签Y,计算全句的负对数似然作为误差。
L=-\sum_jlog(p(y|s))
解码时,使用维特比算法计算得分最高的序列。

实验

论文针对命名实体识别NER,分词CWS、位置POS标注进行了实验,实验数据如表-1所示(中文NLP常用实验数据)。

图-5展示了相对于BERT和基于BERT的最新模型,文中模型误差的减少情况。

除了与其它模型比较之外,论文还比较了LEBERT方法与在组装模型的Bert+Word方法的差异。

上一篇下一篇

猜你喜欢

热点阅读