《Semi-supervised Multitask Learning for Sequence Labeling》閱讀筆記
來源:ACL 2017
原文:Semi-supervised Multitask Learning for Sequence Labeling
Introduction
序列標註任務(Sequence Labeling)在自然語言處理中有廣泛的應用,包括命名實體識別(NER),詞性標註(POS),錯誤檢測(Error Detection)等。針對一個輸入序列 ,給序列中每個元素打上其對應的標籤 ,以得到想要的輸出。目前的主流方法是BiLSTM-CRF,圍繞其不斷有新的嘗試。本文以其作者在16年提出的融合字詞向量的模型作為baseline,詳細見《Attending to Characters in Neural Sequence Labeling Models》。
Motivation
在命名實體識別和錯誤檢測任務中,標籤分布存在bias,也就是數據稀疏問題。例如在NER中83%的標籤為Other,只有17%為有意義標籤。而對於錯誤檢測,在FCE數據集中沒有錯誤的數據佔86%,這種bias無疑會影響標註結果,導致本就缺少的訓練數據可用範圍更小。本文引入了Language Model,增加了一個額外的訓練目標,使模型更充分地使用標註數據,學習更多的語義信息。
Model
- Neural Sequence Labeling
每個LSTM將前一時間步的隱藏狀態和當前步的嵌入字一起作為輸入,並輸出一個新的隱藏狀態。 來自兩個方向的隱藏表示被連接在一起,以便獲得每個詞在兩個方向上的特定表示:
前饋層:
使用softmax預測:
最小化E:
2. Language Modeling Objective
為了讓數據集中每個標籤都發揮作用,引入Language Modeling Objective,為每個輸入增加一個輸出層,預測下一個單詞。但是預測已知的單詞不會激勵模型去學習句法和語義信息,因此調整損失函數,只有尚未觀察下一個單詞的模型部分被優化以執行預測。
方法:根據隱層ht,從forward的LSTM中預測next word。 從backward的LSTM預測previon word。 這種架構避免了將正確的答案作為語言建模組件的輸入的問題,以學習更多的語義信息進而改善序列標註。
隱向量的映射,到small size:
softmax:
目標函數:
組合目標函數:(這裡為language model賦予了較小權重,文中是0.1)
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:自然語言處理 |