《Semi-supervised Multitask Learning for Sequence Labeling》閱讀筆記

來源:ACL 2017

原文:Semi-supervised Multitask Learning for Sequence Labeling

Introduction

序列標註任務(Sequence Labeling)在自然語言處理中有廣泛的應用,包括命名實體識別(NER),詞性標註(POS),錯誤檢測(Error Detection)等。針對一個輸入序列 (X_{1} , X_{2} , ... ,X_{n}) ,給序列中每個元素打上其對應的標籤 (Y_{1} ,Y_{2} , ... , Y_{n}),以得到想要的輸出。目前的主流方法是BiLSTM-CRF,圍繞其不斷有新的嘗試。本文以其作者在16年提出的融合字詞向量的模型作為baseline,詳細見《Attending to Characters in Neural Sequence Labeling Models》。

Motivation

在命名實體識別和錯誤檢測任務中,標籤分布存在bias,也就是數據稀疏問題。例如在NER中83%的標籤為Other,只有17%為有意義標籤。而對於錯誤檢測,在FCE數據集中沒有錯誤的數據佔86%,這種bias無疑會影響標註結果,導致本就缺少的訓練數據可用範圍更小。本文引入了Language Model,增加了一個額外的訓練目標,使模型更充分地使用標註數據,學習更多的語義信息。

Model

  1. Neural Sequence Labeling

每個LSTM將前一時間步的隱藏狀態和當前步的嵌入字一起作為輸入,並輸出一個新的隱藏狀態。 來自兩個方向的隱藏表示被連接在一起,以便獲得每個詞在兩個方向上的特定表示:

overrightarrow{h_{t}}=LSTM(x_{t}, overrightarrow{h_{t-1}}) overleftarrow{h_{t}}=LSTM(x_{t}, overleftarrow{h_{t+1}}) {h_{t}}=[overrightarrow{h_{t}}; overleftarrow{h_{t}}]

前饋層:

 {d_{t}=tanh(W_{d}h_{t})}

使用softmax預測:

P(y_{t}|d_{t})=softmax(W_{o}d_{t}) =frac{e^{W_{o,k}d_{t}}}{sum_{	ilde{k}in{K}}^{}{e^{W_{o,	ilde{k}}d_{t}}}}

最小化E:

E=-s(y)+logsum_{	ilde{y}in	ilde{Y}}^{}{e^{s(	ilde{y})}}

2. Language Modeling Objective

為了讓數據集中每個標籤都發揮作用,引入Language Modeling Objective,為每個輸入增加一個輸出層,預測下一個單詞。但是預測已知的單詞不會激勵模型去學習句法和語義信息,因此調整損失函數,只有尚未觀察下一個單詞的模型部分被優化以執行預測。

方法:根據隱層ht,從forward的LSTM中預測next word。 從backward的LSTM預測previon word。 這種架構避免了將正確的答案作為語言建模組件的輸入的問題,以學習更多的語義信息進而改善序列標註。

隱向量的映射,到small size:

overrightarrow{m_{t}}=tanh( overrightarrow{W_{m} }overrightarrow{h_{t}}) overleftarrow{m_{t}}=tanh(overleftarrow{W_{m} }overleftarrow{h_{t}})

softmax:

P(w_{t+1}|overrightarrow{m_{t}})=softmax(overrightarrow{W_{q}}overrightarrow{m_{t}}) P(w_{t-1}|overleftarrow{m_{t}})=softmax(overleftarrow{W_{q}}overleftarrow{m_{t}})

目標函數:

overrightarrow{E}=-sum_{t=1}^{T-1}{log(P(w_{t+1}|overrightarrow{m_{t}})}) overleftarrow{E}=-sum_{t=2}^{T1}{log(P(w_{t-1}|overleftarrow{m_{t}})})

組合目標函數:(這裡為language model賦予了較小權重,文中是0.1)	ilde{E}=E+gamma(overrightarrow{E}+overleftarrow{E})

Experiments

Evaluation Setup

在10個不同的數據集上評估,包括error detection, NER, chunking, 和 POS-tagging。word和character的LSTM隱藏層:200,batch size:64,使用AdaDelta優化參數。

Error Detection

加入dropout後效果差,可能是數據集種錯誤數據較少導致。

NER and Chunking

實驗結果在多數數據集上達到state-of-the-art,但作者也提到在CoNLL-03, Lample et al. (2016) 達到90.94%,可能由於其使用特殊的embedding,而本文沒有做出微調等改進,但與類似的網路架構相比,本文的改進仍有較大提升。

POS tagging

Conclusion

為序列標註模型添加了次要訓練目標,引入 Language Model 模型有助於學習到語義的信息,從而提升任務準確率,此模型可用於多種序列標註任務。


推薦閱讀:

Neural Machine Translation with Word Predictions 閱讀筆記
Learning Explanatory Rules from Noisy Data 閱讀筆記4
第四章 自然語言處理的功能實現
學習筆記CB002:詞幹提取、詞性標註、中文切詞、文檔分類
NNLM最新論文調研-1-《Character-Aware Neural Language Models》

TAG:自然語言處理 |