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个角度计算x_ix_j的距离:
    d_{ij}^{(hh)} = head[i] - head[j]
    d_{ij}^{(ht)} = head[i] - tail[j]
    d_{ij}^{(th)} = tail[i] - head[j]
    d_{ij}^{(tt)} = tail[i] - tail[j]
    得到4个相对距离矩阵:d^{(hh)},d^{(ht)},d^{(th)},d^{(tt)}。其中,d^{(hh)}表示x_ix_j的起始位置的距离。

  3. 使用Attention is all you need中的正弦/余弦函数进行位置编码p_d
    p_d^{2k} = sin(d/10000^{2k/d_{model}})
    p_d^{2k+1} = cos(d/10000^{2k/d_{model}})

  4. 经过非线性变换,得到x_ix_j的相对位置向量R_{ij}
    R_{ij} = ReLU(W_r(p_{d_{ij}^{(hh)}} \oplus p_{d_{ij}^{(ht)} } \oplus p_{d_{ij}^{(th)}} \oplus p_{d_{ij}^{(tt)}}))

  5. 借鉴Transformer-XL的基于相对位置编码的self-attention:
    Vanilla Transformer使用的是绝对位置编码,考虑到向量内乘积会损失自注意力的方向性,因此本文使用的是相对位置编码。
    A_{i,j}^* = W_q^TE_{x_i}^TE_{x_j}W_{k,E} + W_q^TE_{x_i}^TR_{ij}W_{k,R} + u^TE_{x_j}W_{k,E} + v^TR_{ij}W_{k,R}
    其中:
    W \in R^{d_{model} \times d_{head}}
    u,v \in R^{d_{head}}

  6. 从输出层中提取字向量,进入CRF得到NER标签序列。
    每个attention head可表示为:
    Attn(A^*,V) = softmax(A^*)V
    A_{ij}^*= (\frac {Q_iK_j^T}{\sqrt {d_{head}}})
    [Q,K,V] = E_x[W_q,W_k,W_v]
    其中:
    E: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:位置向量只使用d_{ij}^{(hh)}。

FLAT VS. TENER

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

FLAT VS. BERT

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

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容