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結(jié)構(gòu)?
-
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)練;臊诊。 - 基于圖的編碼鸽粉,例如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)字和詞之間信息交互。
模型
用span表示字符或者詞組窿冯,用head[i]和tail[i]表示span的頭尾位置坐標骗奖。對字符來說,起始和終止位置是相同的醒串。
span距離計算:
Flat-lattice的span長度不一执桌,如何對變長span編碼交互?
Span之間有3種關(guān)系:交叉厦凤,包含和相離鼻吮。從以下4個角度計算和
的距離:
得到4個相對距離矩陣:育苟。其中较鼓,
表示
和
的起始位置的距離。
使用Attention is all you need中的正弦/余弦函數(shù)進行位置編碼
:
經(jīng)過非線性變換,得到
和
的相對位置向量
:
借鑒Transformer-XL的基于相對位置編碼的self-attention:
Vanilla Transformer使用的是絕對位置編碼博烂,考慮到向量內(nèi)乘積會損失自注意力的方向性香椎,因此本文使用的是相對位置編碼。
其中:
從輸出層中提取字向量禽篱,進入CRF得到NER標簽序列畜伐。
每個attention head可表示為:
其中:
:token embedding lookup table/ last transformer layer
實驗
實驗數(shù)據(jù)
分別在以上4個數(shù)據(jù)集,進行單層Transformer的FLAT模型躺率。
Self-attention機制 Vs. lattice LSTM相比:
- 包含關(guān)系中的所有字符和字能充分交互玛界;
- 長距離信息依然能夠捕捉得到。
基于這樣的前提悼吱,進行以下mask操作:
- msm:mask具有包含關(guān)系的span
- mld:mask距離過長(>10)的span
模型結(jié)果
- 和TENER和CGN比較慎框,F(xiàn)1平均提升了1.51和0.73;
- 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:位置向量只使用。
結(jié)果顯示第队,F(xiàn)LAT性能優(yōu)于TENER哮塞。這也意味著,新的位置編碼能更準確的找到實體位置凳谦,提升模型實體分類效果忆畅。
BERT+FLAT:使用BERT的embedding。
結(jié)果顯示尸执,F(xiàn)LAT在大數(shù)據(jù)集上效果提升明顯家凯,但在Resume和Weibo這兩個小數(shù)據(jù)集上,和BERT差異不大如失。