FLAT: Chinese NER Using Flat-Lattice Transformer

FLAT

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

字符-詞的lattice結(jié)構(gòu)被證實有助于中文NER任務(wù)暑劝。但是lattice結(jié)構(gòu)復(fù)雜花鹅,且是動態(tài)變化帝洪,因此無法進行GPU并行計算掉分,推理速度較低炭臭。本文提出FLAT模型疹娶,將lattice結(jié)構(gòu)扁平化,由一系列spans組成昔瞧,每個span對應(yīng)一個字符或者詞組以及其對應(yīng)的位置。受益于transformer的self-attention和位置編碼菩佑,F(xiàn)LAT在4個實驗數(shù)據(jù)上的表現(xiàn)優(yōu)于其他lexicon-based模型自晰。

背景

在NER任務(wù)中,結(jié)合字符和詞組的方式稍坯,有助于提升模型效果酬荞。

如何融合詞匯和字符信息呢?
Lattice結(jié)構(gòu)瞧哟,如下圖a混巧。
通過詞典匹配句子中的潛在詞匯,得到lattice結(jié)構(gòu)勤揩。一個句子的Lattice是一個有向無環(huán)圖咧党,每個節(jié)點是一個字符或者詞匯,這些節(jié)點是無序的陨亡,通過詞的首尾字符確定它的位置傍衡。
Lattice中的有些詞匯對NER任務(wù)非常重要,如圖示负蠕,‘人和醫(yī)藥’有助于區(qū)分‘重慶’和‘重慶人’蛙埂。

Lattice

如何利用Lattice結(jié)構(gòu)?

  1. Lattice LSTM (2018)LR-CNN (2019)遮糖,將lattice中的每一個字or詞視為序列節(jié)點绣的,進行編碼。
    如上圖b,對lattice LSTM屡江,詞節(jié)點和字節(jié)點一樣芭概,被編碼成向量,用注意力機制融合每個位置上的字or詞節(jié)點惩嘉。LR-CNN通過不同的window-size對詞節(jié)點進行編碼谈山。
    問題:
    1.1 RNN和CNN無法建立長距離依賴關(guān)系,因此無法和詞匯進行充分的全局交互宏怔;
    1.2 Lattice結(jié)構(gòu)是動態(tài)變化的奏路,Lattice LSTM和LR-CNN無法在GPU上并行訓(xùn)練;臊诊。
  2. 基于圖的編碼鸽粉,例如Lexicon-based Graph Network (2019)Collaborative
    Graph Network (2019)
    ,將lattice結(jié)構(gòu)轉(zhuǎn)換成圖網(wǎng)絡(luò)上的節(jié)點抓艳,將NER任務(wù)轉(zhuǎn)換成節(jié)點分類任務(wù)触机,用圖神經(jīng)網(wǎng)絡(luò)模型進行編碼。
    問題:
    圖網(wǎng)絡(luò)模型的節(jié)點仍需要LSTM的編碼進行歸納偏置玷或,模型復(fù)雜度比較高儡首。

Transformer的輸入包含了token語義及其對應(yīng)位置信息,通過self-attention實現(xiàn)信息的全局交互偏友。
因此蔬胯,本文提出基于transformer-encoder的FLAT模型,如上圖c位他。對每個token(字符/詞)氛濒,增加2個位置編碼,分別表示這個token的起始(head)和終止(tail)位置鹅髓。將Lattice結(jié)構(gòu)扁平化舞竿,由self-attention實現(xiàn)字和詞之間信息交互。

模型

FLAT 模型結(jié)構(gòu)
  1. 用span表示字符或者詞組窿冯,用head[i]和tail[i]表示span的頭尾位置坐標骗奖。對字符來說,起始和終止位置是相同的醒串。

  2. span距離計算:
    Flat-lattice的span長度不一执桌,如何對變長span編碼交互?
    Span之間有3種關(guān)系:交叉厦凤,包含和相離鼻吮。從以下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中的正弦/余弦函數(shù)進行位置編碼p_d
    p_d^{2k} = sin(d/10000^{2k/d_{model}})
    p_d^{2k+1} = cos(d/10000^{2k/d_{model}})

  4. 經(jīng)過非線性變換,得到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使用的是絕對位置編碼博烂,考慮到向量內(nèi)乘積會損失自注意力的方向性香椎,因此本文使用的是相對位置編碼。
    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

實驗

實驗數(shù)據(jù)

實驗數(shù)據(jù)

分別在以上4個數(shù)據(jù)集,進行單層Transformer的FLAT模型躺率。

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

  1. 包含關(guān)系中的所有字符和字能充分交互玛界;
  2. 長距離信息依然能夠捕捉得到。

基于這樣的前提悼吱,進行以下mask操作:

  1. msm:mask具有包含關(guān)系的span
  2. mld:mask距離過長(>10)的span

模型結(jié)果

實驗結(jié)果F1
  1. 和TENER和CGN比較慎框,F(xiàn)1平均提升了1.51和0.73;
  2. msm的操作后添,F(xiàn)LAT模型效果下降很多笨枯,mld對FLAT的影響略低,反映出詞內(nèi)字符交互的重要性遇西。

推理速度分析

推理速度比較

FLAT效果提升的探索

TENER和FLAT模型相似馅精,前者是基于transformer的相對位置編碼,F(xiàn)LAT使用了詞典信息粱檀,并使用了新的位置編碼方式洲敢。
Span F:NER模型的F值考慮了span和實體標簽的正確性,span F只考慮span的正確性茄蚯;
Type Acc:span-correct的正確率沦疾。
FLAThead:位置向量只使用d_{ij}^{(hh)}

FLAT VS. TENER

結(jié)果顯示第队,F(xiàn)LAT性能優(yōu)于TENER哮塞。這也意味著,新的位置編碼能更準確的找到實體位置凳谦,提升模型實體分類效果忆畅。

FLAT VS. BERT

BERT+FLAT:使用BERT的embedding。
結(jié)果顯示尸执,F(xiàn)LAT在大數(shù)據(jù)集上效果提升明顯家凯,但在Resume和Weibo這兩個小數(shù)據(jù)集上,和BERT差異不大如失。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绊诲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子褪贵,更是在濱河造成了極大的恐慌掂之,老刑警劉巖抗俄,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異世舰,居然都是意外死亡动雹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門跟压,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胰蝠,“玉大人,你說我怎么就攤上這事震蒋∪兹” “怎么了?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵查剖,是天一觀的道長翔横。 經(jīng)常有香客問我,道長梗搅,這世上最難降的妖魔是什么禾唁? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮无切,結(jié)果婚禮上荡短,老公的妹妹穿的比我還像新娘。我一直安慰自己哆键,他們只是感情好掘托,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著籍嘹,像睡著了一般闪盔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辱士,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天泪掀,我揣著相機與錄音,去河邊找鬼颂碘。 笑死异赫,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的头岔。 我是一名探鬼主播塔拳,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼峡竣!你這毒婦竟也來了靠抑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤适掰,失蹤者是張志新(化名)和其女友劉穎颂碧,沒想到半個月后荠列,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡稚伍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了戚宦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片个曙。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖受楼,靈堂內(nèi)的尸體忽然破棺而出垦搬,到底是詐尸還是另有隱情,我是刑警寧澤艳汽,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布猴贰,位于F島的核電站,受9級特大地震影響河狐,放射性物質(zhì)發(fā)生泄漏米绕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一馋艺、第九天 我趴在偏房一處隱蔽的房頂上張望栅干。 院中可真熱鬧,春花似錦捐祠、人聲如沸碱鳞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窿给。三九已至,卻和暖如春率拒,著一層夾襖步出監(jiān)牢的瞬間崩泡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工猬膨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留允华,地道東北人。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓寥掐,卻偏偏與公主長得像靴寂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子召耘,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容