中文命名实体识别NER:FLAT
目录
一、模型结构
1、位置编码
2、基于相对位置编码的self-attention
3、Feed Forward Neural Network
二、损失函数
来自ACL2020复旦大学邱锡鹏老师团队的NER领域又一力作:FLAT: Chinese NER Using Flat-Lattice Transformer.
本文在Lattice LSTM(ACL 2018)的基础上作出了两方面的改进:
作者提出了一种将Lattice图结构无损转换为扁平的Flat结构的方法,并将LSTM替换为了更先进的Transformer Encoder,该方法不仅弥补了Lattice LSTM无法**「并行计算」(batchsize=1)的缺陷,而且更好地建模了序列的「长期依赖关系」** ;
作者提出了一种针对Flat结构的**「相对位置编码机制」** ,使得字符与词汇得到了更充分更直接的信息交互,在基于词典的中文NER模型中取得了SOTA。
一、模型结构

1、位置编码
FLAT给每一个token/span(字、词)增加了两个位置编码,分别表示该span在sentence中开始(head)和结束(tail)的位置,对于字来说,head position和tail position是相同的。这样扁平的结构允许我们使用Transformer Encoder,其中的self-attention机制允许任何字符和词汇进行直接的交互。

span是字符和词汇的总称,span之间存在三种关系:交叉、包含、分离,然而作者没有直接编码这些位置关系,而是将其表示为一个稠密向量。作者用head[i]和tail[i]表示span的头尾位置坐标,并从四个不同的角度来计算xi和xj的距离:

这会得到四个相对距离矩阵:
,其中
表示x[i]的开始位置和x[j]的开始位置的距离。然后将这四个距离拼接后作一个非线性变换,得到x[i]和x[j]的位置编码向量R[i,j]:

其中P[d]是Transformer采用的绝对位置编码:

2、基于相对位置编码的self-attention
attention:

论文中作者采用了Transformer-XL (ACL 2019)中提出的基于相对位置编码的self-attention:

可以直观地将前两项分别看作是两个span之间的内容交互和位置交互,后两项为全局内容和位置bias,在Transformer-XL中 R是根据绝对位置编码直接计算得出的,而这里的 R经过了非线性变换的处理。最后,用A*替换attention中的A,取出字的编码表示,将其送入CRF层进行解码得到预测的标签序列。(Transformer模型: <>)
3、Feed Forward Neural Network
这个全连接有两层,第一层的激活函数是ReLU,第二层是一个线性激活函数,可以表示为:

二、损失函数
损失函数和LSTM-CRF模型相同(<>),由两部分组成,P是Transformer得到的标签预测得分,是一个n*k维的矩阵,其中n指字符个数,k指标签个数,A是CRF得到的标签转移得分:

所有可能的标签路径中正确路径标签分数值最高:

参考文献:
FLAT: Chinese NER Using Flat-Lattice Transformer
