Contextual String Embedding for Sequence Labeling

1. Introduction

序列標記問題作為NLP的基本問題,其結果好壞對與後續任務有著至關重要的影響。此外,自然語言處理中的許多任務也均能轉化為序列標記問題,如命名實體識別、分詞、詞性標註等。在傳統的機器學習方法中,最初使用隱馬模型實現sequence labeling,其主要思想是將標記序列作為隱狀態序列而將sentence作為觀察的顯示序列,通過定義5元組(隱狀態集合 S ,觀測值集合 O ,狀態轉移矩陣 A ,初始狀態概率分佈 pi 以及指定狀態下觀測值的概率分佈 B )計算觀察序列各個時刻的概率分佈。HMM一般包括兩個基本問題即評估問題(給定觀察序列求其出現的概率),其對應前向演算法和後向演算法,解碼問題(給定觀察序列確定最有可能的隱狀態序列,即序列標記問題),其對應Viterbi演算法。然而,對於簡單的HMM演算法,由於隱序列的各個狀態僅由觀察序列的各個狀態確定,而相鄰時刻的隱狀態沒有發生直接的聯繫,因此在詞性標註等任務中會出現如兩個介詞連用的錯誤情形,對此學者的簡單想法是讓相鄰隱狀態間發生直接聯繫,即考慮添加隱狀態間的狀態轉移矩陣,故在最大熵模型的基礎上提出了CRF模型,CRF模型在前深度學習時代得到了廣泛的應用,然而這種非連接主義的方法最大的缺點是依賴人工設計特徵描述子。直至deep learning大火後我們現在也仍需使用embedding+BiLSTM進行特徵表示,然後仍需外加CRF進行序列標記,只不過其模型的參數由學習而得。有關序列標記的詳細介紹可以參考我的這篇筆記:

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

zhuanlan.zhihu.com
圖標
圖1. Named Entity Recognition

在神經網路語言模型中最初詞向量的表示方法是One-hot的離散形式,此方法雖然簡潔但是卻存在辭彙鴻溝和維數災難的問題,後續又逐漸提出了詞袋模型(該詞在文檔中的出現次數)和TF-IDF(反映該詞在文檔中的佔比),然而也很難解決語義鴻溝的問題。基於分散式假設(在相同上下文中出現的詞頻傾向於具有相同的含義),Begio等人於2001年正式提出神經網路語言模型(Neural Network Language Model, NNLM)並創造了詞向量的概念,即以one-hot編碼為前驅查閱look-up表將詞編碼為稠密的向量,而look-up表的設計即由神經網路訓練所得。同時,根據輸入輸出的不同,詞向量網路由分為NNLM、C&W、CBOW和Skip-gram等模型(CBOW與Skip-gram與NNLM相比除去了隱層和詞序,使模型得到簡化)。此外,由於CBOW、Skip-gram等模型其Softmax的計算與參數的更新需要對整個詞表進行,因此其時間成本較高,對此又提出了Hierachical softmax,通過構建哈夫曼樹而每次只對少部分結點進行更新和計算以減少複雜度。對於一次多義的問題如「Bank」等,也有學者提出根據不同上下文對一個詞編碼多個詞向量,同時通過對上下文進行idf加權進行k-mean clustering最終確定詞向量。此外也有實驗表明將不同結構模型如RNN與CNN等學習而得的詞向量進行concatenate,對downstream task結果的提高也有幫助。

圖2. Neural network word vector
圖3. Neural network word vector comparision

「Contextual String Embedding for Sequence Labeling」這篇文章對於序列標記任務最大的創新點是對傳統Embedding的改進,即基於上下文利用Bi-LSTM中的hidden state結合傳統Embedding編碼詞向量。同時與2017年Peters et al.提出的抽取hidden states 作為NLP tasks方法相比,該方法在速度上有明顯提高,同時再次刷新了CoNLL03的baseline,其F1值達到了93.09超過了Bert。

2. Model Structure

模型的主要結構如下圖所示:

圖4. Model Structure

從圖4可以看出論文提出的模型主要包括兩個部分,即Character Language Model和Sequence Labeling Model。其中Character Language Model即利用雙向LSTM中hidden state編碼詞向量,由於Bi-LSTM的使用使得該Embedding天生就融合了上下文的語義信息,因此能很好的解決一詞多義的問題。同時由pre-training得到的Character Language Model可以根據不同的輸入動態編碼詞向量,因此其能很好的嵌入至downstream任務中。Sequence Labeling Model即為傳統的BiLSTM+CRF的結構。有關LSTM的詳細介紹可以參考我的這篇筆記:

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

zhuanlan.zhihu.com
圖標
圖5. Character Language Model

圖5為Character Language Model的詳細結構,可以看出我們將每一個word的各個character作為單獨的輸入,同時對於每一個word,利用單詞第一個字母對應的forward hidden state h_{t_{i+1}-1}^f 和單詞最後一個字母對應的backward hidden state h_{t_i-1}^b 進行拼接 w_i^{CharLM}=egin{bmatrix}h_{t_{i+1}-1}^f\h_{t_i-1}^bend{bmatrix} 以融合context信息得到最後的word embedding,這樣技能有效解決一詞多義問題,同時還能更好的處理未登錄詞、罕見詞以及拼寫錯誤的問題。

圖6. polysemy

從圖6可以看出,對於不同含義的Washington,其能根據上下文語境很好的區分,而當上下文信息缺失或較少時,其也較難分辨。

CLM作為一個子網路可以單獨進行訓練,這裡定義character序列 (x_0,x_1,...,x_T) 的聯合概率分佈為各個條件概率的連乘積:

P(x_{0:T})=Pi_{t=0}^TP(x_t|x_{0:t-1})	ag{1}

而:

P(x_t|x_{0:t-1})approxPi_{t=0}^TP(x_t|h_t;	heta)\ P(x_t|h_t;V)=softmax(Vh_t+b)=frac{exp(Vh_t+b)}{||exp(Vh_t+b)||1}\ h_t(x{0:t-1})=f_h(x_{t-1},h_{t-1},c_{t-1};	heta)\ c_t(x_{0:t-1})=f_c(x_{t-1},h_{t-1},c_{t-1};	heta)	ag{2}

式(2)中各個character的概率分佈由Softmax函數確定。其中, 	heta 為模型參數,即權值 V 和偏置 bh_t,c_t 為LSTM的輸出值。

我們根據CLM的輸出概率分佈與語料庫中統計所得的概率分佈做cross entropy即可進行unsupervised pre-training。

3. Experiments

在實驗中作者分別探究了以下四種詞向量表示對結果的影響:

  • Proposed:即根據圖5.方法得到word embedding;
  • Proposed+word:在Proposed的基礎上拼接預訓練的GloVe詞向量(經典做法) w_i=egin{bmatrix}w_i^{CharLM}\w_i^{GloVe}end{bmatrix}
  • Proposed+char:即根據NER任務利用hierarchical BiLSTM-CRF訓練word vectors(與任務相關的embedding),同時與Proposed所得word vectors進行concatenate;
  • Proposed+all:綜合上述三種詞向量表示,即Proposed+word+char。

實驗結果如下:

圖7. 實驗結果

從上圖可以看出本文方法,即基於輸入文本的動態embedding與金典預訓練的embedding結合最有效,其相較於Proposed F1 91.97提升了1.1 pp。而char embedding對結果的影響較小。

圖8. 各任務F1值

從上圖可以明顯看出,該工作在眾多sequence labeling任務中均達到了state-of-the-art。

總的來說,目前對於word Embedding主要分為兩種方法:(1)利用更多的external information,如基於大量高質量數據預訓練的Berth,或針對其它特定數據集預訓練的word embedding;(2)利用神經網特徵表示和選擇的能力,根據hidden state表示word embedding,以及對各種embedding進行拼接。總之如何利用更多的外部信息以及更好的表示特徵是仍需研究的方向。

4. Reference

[1] 胡玥. 自然語言處理(08)神經網路語言模型&詞向量(slides). 中科院信息工程研究所第二研究室.

[2] Alan Akbik. Flair: State-of-the-Art Natural Language Processing (NLP). ZALANDO RESEARCH

[3] Edward Ma. Contextual Embeddings for NLP Sequence Labeling. Medium


推薦閱讀:
相關文章