NER 模型(Chinese NER Using Lattice LSTM、Neural Adaptation Layers for Cross-domain Named Entity Recognition)

1. Information

命名實體識別(Named entity recognition)作為NLP的最基本任務,其早在上世紀80年代就已被廣泛研究,今年來隨著以神經網路為主導的Deep learning復甦,NER任務精度被不斷提高。NER問題即為從句子中識別出專有名詞,如人名、地名、組織機構名等等,其本質上為序列標記問題,有關NER的詳細介紹可以參考我的這篇筆記

PoderLee:NLP中的序列標註問題(隱馬爾可夫HMM與條件隨機場CRF)?

zhuanlan.zhihu.com
圖標

這裡將簡單介紹較新的幾個NER模型。

2. Chinese NER Using Lattice LSTM

2.1 Motivation

這篇文章為2018年ACL的工作,其主要是針對中文的命名實體識別任務。對於英文這類由拉丁字母組合而成的語言,其單詞與單詞間存在天然的邊界,而每個單詞又是由不同的字母組成,因此對於英文的NER其不需要進行分詞處理,而且將各個character進行embedding的操作早已有之。然而對於中文而言首先分詞質量的高低往往就直接影響了downstream tasks的性能(對於分詞任務其主要的難點為OOB問題,即對於未登錄詞的處理,其次是歧義的問題),但是若直接使用單個漢字則又無法充分挖掘句子中潛在的句法結構語義信息,其效果往往不好(但是最近ACL2019有文章指出,對與中文的許多任務不分詞的效果要好於分詞的效果),因此對於中文NER其效果相對英文較差。之前中文的NER model一般均是直接利用word(分詞的結果)或character(單個字)作為input,而本文作者則創新性的提出了Lattice LSTM model將character和word的embedding結合實現中文的NER,如圖1,該方法在許多數據集上均獲得了較好的結果。

圖1. Lattice LSTM Structure

2.2 Model

如圖1所示,該模型大體上可以分為四個部分:character-based model實現對單個字的表示;word-based model實現對詞的表示;lattice model字詞的聯合表示;最後在加CRF得到最終結果的概率分布。其中character-based model和word-based model均是embedding+LSTM的結構,具體如下

2.2.1 character-based model

character-based model即是將每一個字進行embedding後過一個雙向的LSTM得到其最後的表示,如圖2:

圖2. character-based model

具體有關LSTM的介紹可以參考我的這篇筆記

PoderLee:從RNN、LSTM到Encoder-Decoder框架、注意力機制、Transformer?

zhuanlan.zhihu.com
圖標

這裡值得注意的是與一般的方法不同,考慮到各個漢字並非孤立存在,其真實的含義與上下文密切相關(如「長城」和「長高」,同一個「長」字前者為名詞,後者為動詞含義不同),為充分挖掘每個字的實際含義,一般在對character進行embedding時會考慮其自身和其上下文的內容,即存在一定的overlap。這裡作者借鑒Chen et al., 2015; Yang et al.,2017a的工作使用char+bichar作為character embedding,如下:

 x_j^c=[e^c(c_j);e^b(c_j,c_{j+1})]	ag{1}

上式中, e^c(c_j) 即為第 j 個字的embedding,可以看到最終第 j 個子的embedding x_j^c 由其本生的embedding和其與其後一個字組成的bichar embedding拼接而成。即vector(南)=【embedding(南);bichar_embedding(南,京)】。在得到個字的char+bichar embedding x_j^c 後作者又再接一個trick,即char+softmax。

考慮到每個字在每個詞中的含義和位置可能不同(如,「組成」和「一組」,前者位於詞的開始(Begin,B),後者位於詞的結尾(End,E)),為充分挖掘各字的含義作者借鑒Zhao and Kit, 2008; Peng and Dredze, 2016的工作,使用softmax得到各字的位置(BMES)embedding,如下:

 x_j^c=[e^c(c_j);e^s(seg(c_j))]	ag{2}

式(2)中的 seg(c_j) 即為字 c_j 的position label,而 e^s(seg(c_j) 即為position label embedding,BMES table。通過將character embedding與position label embedding拼接即得到最後的character embedding,如vector(南)=【embedding(南);BMES_embedding(seg(南))】=【embedding(南);BMES_embedding(B)】。

2.2.2 word-based model

word-based model部分作者分別介紹了三種模型即word + char LSTM,word + char LSTM和word + char CNN。其中word根據詞典確實。

(1)word + char LSTM

還是為了充分利用sentence的潛在信息,作者使用bilstm得到的char representation與word embedding拼接的方式得到最後的word embedding,如下:

x_i^w=[e^w(w_i);x_i^c] x_i^c=[overrightarrow{h}^c_t(i,len(i);overleftarrow{h}^c_t(i,1))]	ag{3}

上式中 x_i^c 即為bilstm得到的char representation。如vector(南京)=【embedding(南京);bilstm(南,京)】。

(2)word + char LSTM』

word + char LSTM』區別於word + char LSTM,其不僅利用各個character的bilstm representation同時還結合各個word的bilstm representation(充分考慮上下文),如下圖所示:

圖3. word + char LSTM』 model

這裡需要注意的是與原始的word + char LSTM』 model不同文中的模型作者省去了highway結構。

(3)word + char CNN

區別於LSTM,這裡近似使用CNN來表示character representation,其中kernel size為3,卷積後接max pooling操作,這裡不過多介紹。

2.2.3 Lattice Model

Lattice Model主要作用就是將上述的word representation和character representation進行組合,而具體的實現方法作者即涉及了一個gate(其本質上就是加權求和,路由機制),如圖4所示:

圖4. Lattice Model

如圖5所示,其中word的確定主要是依賴詞典的質量,當然在實際情況中會出現多種分詞的結果,如下:

圖5. segmentation

這裡作者將每一個候選辭彙均考慮進來,即將每一個辭彙均與單字進行結合,如「長」結合「長江」,「江」結合「長江大橋」,「大」結合「大橋」。而結合的方式則採用加權求和:

c_j^c=sum_{bin {b|w^d_{b,j}in D}}alpha_{b,j}^codot c_{b,j}^w+alpha_j^codot 	ilde c_j^c\  alpha_{b,j}^c=frac{exp(i_{b,j}^c)}{exp(i_j^c+sum_{bin {b|w^d_{b,j}in D}})exp(i^c_{b,j})}\  alpha_{j}^c=frac{exp(i_{j}^c)}{exp(i_j^c+sum_{bin {b|w^d_{b,j}in D}})exp(i^c_{b,j})}\  i_{b,e}^c=sigma(W^{lT}egin{bmatrix}x_e^c\c_{b,e}^wend{bmatrix})	ag{4}

W^lT,b^l 為模型參數, x_e^c,c^w_{b,e} 分別為character和word的LSTM cell,而 i_{b,e}^c 即為cell c_{b,e}^w 的additional gate。從上式可以看出最後輸入lstm的cell c_j^c 融合了word和的charactercell c_{b,j}^w,	ilde c_j^c 信息,而信息的多少則是由權值 alpha_{b,j}^c,alpha_j^c 控制。其中權值的計算則 i_{b,j}^c 在所要分詞結果中的重要程度確定。

2.2.4 CRF

最終Lattice Model的輸出$h$經過最後一層CRF得到每個字的標籤的概率分布,使用viterbi algorithm 計算所有可能的標記組合中,概率最大即為最終的輸出。其損失函數如下:

L=sum_{i=1}^Nlog(P(y_i|s_i))+frac{lambda}{2}||Theta||^2	ag{5}

從式(5)中可以看到作者使用二范進行正則化,此外需要指出的是實際因為negative log-likelihood。

2.3 Experiments

作者分別使用OntoNotes, MSRA, Weibo NER, Chinese resume這四個數據集進行測試,其中Chinese resume為作者自己準備的有關中國股市的Sina Finace數據。其實驗結果如下:

圖6. experiment 1

從上圖可以發現對於自動分詞的結果CNN表現最好,而對於未分詞的結果,當融入了bichar和softwood trick後其結果將要優於自動分詞的結果。同時Lattice的效果最棒。

圖7. experiment 2

上圖為Onto Notes數據集上的實驗結果,其中Gold seg為手工分詞的結果。可以看到Lattice和融合了char和bichar LSTM的模型結果間還是有較大的差距,可見較好的分詞結果仍是阻礙中文NER的瓶頸。

2.4 Conclusion

作者利用LSTM對character和word進行特徵表示,然後加權求和。該方法其本質上還是希望挖掘字、詞間的潛在信息和特徵。可以看到目前的NER方法主要包括兩個方向:一是設計新的模型充分挖掘句子間、上下文中的潛在信息,進行各種特徵融合;二是融合大量的外部數據、信息,先驗知識,提升精度。現在來看,第二個方向對於精度的提升效果更加顯著且目前各大廠都在第二個方向投入了大量的成本,但是對於自然語言處理,是不是說通過數據的累積就能不斷的提高任務精度,而不會是向image classification COCO數據集那樣存在bottleneck呢?就目前來看現在的自然語言處理的各種模型雖然在某些小部分數據集上表現得很好,但是其文字背後真正的含義卻根本沒有理解,而想要實現真正的智能,其還得需要更棒的方法,尤其是在生成式任務中要有所突破。

3. Neural Adaptation Layers for Cross-domain Named Entity Recognition

3.1 Motivation

在自然語言處理的很多任務中一個很general的問題即對於不同鄰域間的遷移學習。目前的大多數模型或研究方法均是針對某一些較小鄰域的數據集所設計的,而所獲得的精度和結果也均是針對特定鄰域調出來,當將這些模型運用到其它的數據中時其性能將大大折扣。因此對於遷移學習的研究至關重要,目前對於NER任務主要的transfer learning模型包括INIT和MULT等,如圖8所示:

圖8. INIT&MULT

從上圖可以看到,對於INIT模型對於source domain和target domain均使用相同的word embedding,然後利用target label data在pre-training的model(BLSTM+CRF)進行fine-tuining得到目標鄰域的模型。而MULT則是利用multi-task learning,根據source domain和target domain data同時訓練source model和target model,而其除CRF層外其它參數共享。而上述這兩種模型均存在以下三種缺點:

  • target domain和source domain的辭彙含義尤其各自專有鄰域的語境決定,並不會完全相似。例如,對於模式識別鄰域LDA可能是指線性判別分析,而對於文本數據挖掘鄰域LDA更多是指潛狄利克雷配分模型。此外專有鄰域的OOV(out-of-vocabulary)問題也是一大挑戰。若簡單的讓source domain和target domain公用相同的word embedding顯然是不太合適的。
  • 為克服問題1現有的模型往往根據target domain data對source domain word embedding進行retraining。然而往往source domain corpora十分龐大,若要在此基礎上進行再訓練其成本往往較高,因此這將在一定程度上限制遷移學習的發展
  • 現有的模型如INIT其只對最後的CRF層進行再訓練,且任務通過CRF就能較好的捕獲不同鄰域下的語義信息,這顯然並不具有十分充足的說服力。

因此針對上述三類問題,作者在原始的BiLSTM+CRF的基礎上分別增加了word adaptation layer,sentence adaptation layer和output adaptation layer,最終取得了更優的結果,如下:

圖9. base model & model adaptation

3.2 Model

如圖9所示,該模型主要是以BiLSTM+CRF為base model(既包括每個word種character的LSTM representation,同時又包括各個word上下文間的representation),在其中插入word adaptation layer,sentence adaptation layer和output adaptation layer。具體如下:

(1)Word Adaptation Layer

針對問題一、二,我們既想利用target domain和source domain的不同數據以學習特定領域下的不同word embedding,同時又不想對巨大的source domain corpora進行在訓練,因此一個自然的想法就是將target embedding與source embedding關聯起來,故作者設計了Word Adaptation Layer。

首先作者針對在source data和target data中出現頻率均較多的詞創建詞典 P_1P_1={(w_s,w_t)|w_s=w_t,f(w_s)leq phi_s,f(w_t)leq phi_t} 。其中 w_s,w_t 分別為source word和target word, f(w_t),f(w_s) 為source word和target word分別在其各自corpus中出現的頻率。 phi_s,phi_t 為閾值。此外,作者還指出我們可以根據需求致指定特定的vocabulary構成 P_2 。因此最後的詞典即為 P=P_1cup P_2 ,論文中指出 P_1 為target vocabularies中出現頻率最高的5K個詞,而對於 P_2 作者選擇使用現有的twitter標準化詞典(Liu et al., 2012),共3802個詞。得到詞典後我們現在要建立其targe word representation與source word representation間的連接,即完成兩個空間的相關映射,一個很基本的方法即投影矩陣。如下:

argmin_Z sum_{i=1}^{|P|}c_i||V_T^{i}Z-V_S^{i}||^2	ag{6}

式(6)中 Z 即為投影變化矩陣, c_i 為confidence cofficient,其計算公式如下:

overline{f}(w_s)=frac{f(w_s)}{max_w	o X_S f(w)}\  overline{f}(w_t)=frac{f(w_t)}{max_w	o X_T f(w)}\  c_i=frac{2cdot overline{f}(w_s^i)cdot overline{f}(w_t^i)}{overline{f}(w_s^i)+overline{f}(w_t^i)}	ag{7}

式(7)中$overline{f}$為歸一化係數和S?rensen-Dicecoefficient「交並比」,用以衡量each word pair的重要程度。

觀察式(6),我們的目標即是習得最優的變換矩陣,使得其將target vector representation轉換後與source vector representation的差異最小。

(2)Sentence Adaptation Layer

word adaptation layer僅僅是在單詞層面上關聯target domain和source domain,這遠遠不夠。為充分挖掘context信息解決mismatch的問題,作者這embedding後再接一層BLSTM layer為Sentence Adaptation Layer對projected word embedding進行編碼,以學習target-domain 上下文信息,然後送入後續網路進行處理。同時該layer可以根據上下文調整OOV的representation,其很好的避免了將OOV表示為同一固定embedding的問題。

(3)Output Adaptation Layer

target domain label和source domain label會出現分布不一致的問題。此外,語境的不同也將導致相同word擁有不同label的情況。因此re-classifiacation和re-recognition是十分必要的,因此作者又在target domain CRF前插入BLSTM Output Adaptation Layer捕獲輸出的上下文信息,因此最終的網路結構如下:

圖10. transfer learning process

3.3 Experiments

作者對於不同的layer是由不同的learning rates,同時對於source domain指定為news wire(NewYorkTimes and DailyMail articles)而target domain指定為social media(Archive Team』s Twitter stream grab),同時利用GloVe訓練詞向量。實驗結果如下:

圖11. word embedding for heterogeneous input spaces

其中 D_S OntoNotes-nw, D_T 為Ritter11,圖11實驗結果表明,若添加word adaptation layer其較原有模型相比,對於異質數據的提升較大。這充分說明了word adaptation layer的作用。此外在Yang et al. (2017a) 模型中插入該結構其效果最佳,但同時retraining帶來的成本也較大。

圖12. different setting

圖12顯示模型的各個layer均對結果的提升有一定幫助,尤其是針對heterogeneous data的fine tune其幫助最大。

圖13. different parameters

此外由於作者設計的模型較之前的模型相比其層數更多,參數更多。為探究結果的提升是否為參數增加導致,作者比較了原始模型在不同hidden unit數目下的結果。可以看到隨著hidden unit數目的增加,參數的增多,其結果均有提升,但是本文模型的提升更加明顯,因此其在某一方面證明了結構的有效性,而非僅僅是參數增加帶來的收益。

3.4 Conclusion

對比之前模型,作者提出的新方法確實是提高了最後的結果。但是其真正有說服力和較為創新的工作為word adaptation layer的提出,其在一定程度上解決了上述的三個問題。而對於後兩個tricks其說服力不足,而且在實驗中作者僅是增加了模型的hidden unti的數目,即「加寬」了模型。但是實際作者的設計是「加深」模型,而本來有實驗說明在同樣參數數目的情況下,「加深」模型所帶來的收益要比「加寬」模型所帶來的收益更多,因此其不能充分的證實該結構的有效性(個人更傾向於加深模型所帶來的切實收益,而非作者間的解釋的獲得了更多的上下文信息)。此外,對於word adaptation layer其還能應用至其它的遷移學習任務中,而非僅僅局限於NER。

更多有關NER的模型還可以參考我的這篇筆記:

PoderLee:基於上下文的序列標記(Contextual String Embedding)?

zhuanlan.zhihu.com
圖標

4. Reference

[[1] Zhang Y, Yang J. Chinese ner using lattice lstm[J]. arXiv preprint arXiv:1805.02023, 2018.](arxiv.org/abs/1805.0202)

[[2] Lin B Y, Lu W. Neural adaptation layers for cross-domain named entity recognition[J]. arXiv preprint arXiv:1810.06368, 2018.](aclweb.org/anthology/D1)

推薦閱讀:

相关文章