FLAT: Chinese NER Using Flat-Lattice Transformer

FLAT

https://arxiv.org/pdf/2004.11795.pdf
https://github.com/LeeSureman/FlatLattice-Transformer

字符-词的lattice结构被证实有助于中文NER任务。但是lattice结构复杂,且是动态变化,因此无法进行GPU并行计算,推理速度较低。本文提出FLAT模型,将lattice结构扁平化,由一系列spans组成,每个span对应一个字符或者词组以及其对应的位置。受益于transformer的self-attention和位置编码,FLAT在4个实验数据上的表现优于其他lexicon-based模型。

背景

在NER任务中,结合字符和词组的方式,有助于提升模型效果。

如何融合词汇和字符信息呢?
Lattice结构,如下图a。
通过词典匹配句子中的潜在词汇,得到lattice结构。一个句子的Lattice是一个有向无环图,每个节点是一个字符或者词汇,这些节点是无序的,通过词的首尾字符确定它的位置。
Lattice中的有些词汇对NER任务非常重要,如图示,‘人和医药’有助于区分‘重庆’和‘重庆人’。

Lattice

如何利用Lattice结构?

  1. Lattice LSTM (2018)或LR-CNN (2019),将lattice中的每一个字or词视为序列节点,进行编码。
    如上图b,对lattice LSTM,词节点和字节点一样,被编码成向量,用注意力机制融合每个位置上的字or词节点。LR-CNN通过不同的window-size对词节点进行编码。
    问题:
    1.1 RNN和CNN无法建立长距离依赖关系,因此无法和词汇进行充分的全局交互;
    1.2 Lattice结构是动态变化的,Lattice LSTM和LR-CNN无法在GPU上并行训练;。
  2. 基于图的编码,例如Lexicon-based Graph Network (2019)和Collaborative
    Graph Network (2019),将lattice结构转换成图网络上的节点,将NER任务转换成节点分类任务,用图神经网络模型进行编码。
    问题:
    图网络模型的节点仍需要LSTM的编码进行归纳偏置,模型复杂度比较高。

Transformer的输入包含了token语义及其对应位置信息,通过self-attention实现信息的全局交互。
因此,本文提出基于transformer-encoder的FLAT模型,如上图c。对每个token(字符/词),增加2个位置编码,分别表示这个token的起始(head)和终止(tail)位置。将Lattice结构扁平化,由self-attention实现字和词之间信息交互。

模型

FLAT 模型结构
  1. 用span表示字符或者词组,用head[i]和tail[i]表示span的头尾位置坐标。对字符来说,起始和终止位置是相同的。

  2. span距离计算:
    Flat-lattice的span长度不一,如何对变长span编码交互?
    Span之间有3种关系:交叉,包含和相离。从以下4个角度计算和的距离:




    得到4个相对距离矩阵:。其中,表示和的起始位置的距离。

  3. 使用Attention is all you need中的正弦/余弦函数进行位置编码

  4. 经过非线性变换,得到和的相对位置向量:

  5. 借鉴Transformer-XL的基于相对位置编码的self-attention:
    Vanilla Transformer使用的是绝对位置编码,考虑到向量内乘积会损失自注意力的方向性,因此本文使用的是相对位置编码。

    其中:

  6. 从输出层中提取字向量,进入CRF得到NER标签序列。
    每个attention head可表示为:



    其中:
    :token embedding lookup table/ last transformer layer

实验

实验数据

实验数据

分别在以上4个数据集,进行单层Transformer的FLAT模型。

Self-attention机制 Vs. lattice LSTM相比:

  1. 包含关系中的所有字符和字能充分交互;
  2. 长距离信息依然能够捕捉得到。

基于这样的前提,进行以下mask操作:

  1. msm:mask具有包含关系的span
  2. mld:mask距离过长(>10)的span

模型结果

实验结果F1
  1. 和TENER和CGN比较,F1平均提升了1.51和0.73;
  2. msm的操作,FLAT模型效果下降很多,mld对FLAT的影响略低,反映出词内字符交互的重要性。

推理速度分析

推理速度比较

FLAT效果提升的探索

TENER和FLAT模型相似,前者是基于transformer的相对位置编码,FLAT使用了词典信息,并使用了新的位置编码方式。
Span F:NER模型的F值考虑了span和实体标签的正确性,span F只考虑span的正确性;
Type Acc:span-correct的正确率。
FLAThead:位置向量只使用。

FLAT VS. TENER

结果显示,FLAT性能优于TENER。这也意味着,新的位置编码能更准确的找到实体位置,提升模型实体分类效果。

FLAT VS. BERT

BERT+FLAT:使用BERT的embedding。
结果显示,FLAT在大数据集上效果提升明显,但在Resume和Weibo这两个小数据集上,和BERT差异不大。

你可能感兴趣的:(FLAT: Chinese NER Using Flat-Lattice Transformer)