神經網絡結構在命名實體識別(NER)中的應用算法
近年來,基於神經網絡的深度學習方法在天然語言處理領域已經取得了很多進展。做爲NLP領域的基礎任務—命名實體識別(Named Entity Recognition,NER)也不例外,神經網絡結構在NER中也取得了不錯的效果。最近,我也閱讀學習了一系列使用神經網絡結構進行NER的相關論文,在此進行一下總結,和你們一塊兒分享學習。網絡
命名實體識別(Named Entity Recognition,NER)就是從一段天然語言文本中找出相關實體,並標註出其位置以及類型,以下圖。它是NLP領域中一些複雜任務(例如關係抽取,信息檢索等)的基礎。dom
NER一直是NLP領域中的研究熱點,從早期基於詞典和規則的方法,到傳統機器學習的方法,到近年來基於深度學習的方法,NER研究進展的大概趨勢大體以下圖所示。機器學習
在基於機器學習的方法中,NER被看成是序列標註問題。與分類問題相比,序列標註問題中當前的預測標籤不只與當前的輸入特徵相關,還與以前的預測標籤相關,即預測標籤序列之間是有強相互依賴關係的。例如,使用BIO標籤策略進行NER時,正確的標籤序列中標籤O後面是不會接標籤I的。函數
在傳統機器學習中,條件隨機場(Conditional Random Field,CRF)是NER目前的主流模型。它的目標函數不只考慮輸入的狀態特徵函數,並且還包含了標籤轉移特徵函數。在訓練時可使用SGD學習模型參數。在已知模型時,給輸入序列求預測輸出序列即求使目標函數最大化的最優序列,是一個動態規劃問題,可使用維特比算法進行解碼。學習
在傳統機器學習方法中,經常使用的特徵以下:spa
接下里咱們重點看看如何使用神經網絡結構來進行NER 。blog
《Natural language processing (almost) from scratch》是較早使用神經網絡進行NER的表明工做之一。在這篇論文中,做者提出了窗口方法與句子方法兩種網絡結構來進行NER。這兩種結構的主要區別就在於窗口方法僅使用當前預測詞的上下文窗口進行輸入,而後使用傳統的NN結構;而句子方法是以整個句子做爲當前預測詞的輸入,加入了句子中相對位置特徵來區分句子中的每一個詞,而後使用了一層卷積神經網絡CNN結構。繼承
在訓練階段,做者也給出了兩種目標函數:一種是詞級別的對數似然,即便用softmax來預測標籤機率,當成是一個傳統分類問題;另外一種是句子級別的對數似然,其實就是考慮到CRF模型在序列標註問題中的優點,將標籤轉移得分加入到了目標函數中。後來許多相關工做把這個思想稱爲結合了一層CRF層,因此我這裏稱爲NN/CNN-CRF模型。深度學習
在做者的實驗中,上述提到的NN和CNN結構效果基本一致,可是句子級別似然函數即加入CRF層在NER的效果上有明顯提升。
借鑑上面的CRF思路,在2015年左右出現了一系列使用RNN結構並結合CRF層進行NER的工做。表明工做主要有:
將這些工做總結起來就是一個RNN-CRF模型,模型結構以下圖:
它主要有Embedding層(主要有詞向量,字符向量以及一些額外特徵),雙向RNN層,tanh隱層以及最後的CRF層構成。它與以前NN/CNN-CRF的主要區別就是他使用的是雙向RNN代替了NN/CNN。這裏RNN經常使用LSTM或者GRU。實驗結果代表RNN-CRF得到了更好的效果,已經達到或者超過了基於豐富特徵的CRF模型,成爲目前基於深度學習的NER方法中的最主流模型。在特徵方面,該模型繼承了深度學習方法的優點,無需特徵工程,使用詞向量以及字符向量就能夠達到很好的效果,若是有高質量的詞典特徵,可以進一步得到提升。
最近的一年在基於神經網絡結構的NER研究上,主要集中在兩個方面:一是使用流行的注意力機制來提升模型效果(Attention Mechanism),二是針對少許標註訓練數據進行的一些研究。
《Attending to Characters in Neural Sequence Labeling Models》該論文仍是在RNN-CRF模型結構基礎上,重點改進了詞向量與字符向量的拼接。使用attention機制將原始的字符向量和詞向量拼接改進爲了權重求和,使用兩層傳統神經網絡隱層來學習attention的權值,這樣就使得模型能夠動態地利用詞向量和字符向量信息。實驗結果代表比原始的拼接方法效果更好。
另外一篇論文《Phonologically aware neural model for named entity recognition in low resource transfer settings》,在原始BiLSTM-CRF模型上,加入了音韻特徵,並在字符向量上使用attention機制來學習關注更有效的字符,主要改進以下圖。
對於深度學習方法,通常須要大量標註數據,可是在一些領域並無海量的標註數據。因此在基於神經網絡結構方法中如何使用少許標註數據進行NER也是最近研究的重點。其中包括了遷移學習《Transfer Learning for Sequence Tagging with Hierarchical Recurrent Networks》和半監督學習。這裏我提一下最近ACL2017剛錄用的一篇論文《Semi-supervised sequence tagging with bidirectional language models》。該論文使用海量無標註語料庫訓練了一個雙向神經網絡語言模型,而後使用這個訓練好的語言模型來獲取當前要標註詞的語言模型向量(LM embedding),而後將該向量做爲特徵加入到原始的雙向RNN-CRF模型中。實驗結果代表,在少許標註數據上,加入這個語言模型向量可以大幅度提升NER效果,即便在大量的標註訓練數據上,加入這個語言模型向量仍能提供原始RNN-CRF模型的效果。總體模型結構以下圖:
最後進行一下總結,目前將神經網絡與CRF模型相結合的NN/CNN/RNN-CRF模型成爲了目前NER的主流模型。我認爲對於CNN與RNN,並無誰佔據絕對的優點,各自有相應的優勢。因爲RNN有自然的序列結構,因此RNN-CRF使用更爲普遍。基於神經網絡結構的NER方法,繼承了深度學習方法的優勢,無需大量人工特徵。只需詞向量和字符向量就能達到主流水平,加入高質量的詞典特徵可以進一步提高效果。對於少許標註訓練集問題,遷移學習,半監督學習應該是將來研究的重點。
參考文獻
[1] Lafferty J, McCallum A, Pereira F. Conditional random fields: Probabilistic models for segmenting and labeling sequence data. Proceedings of the eighteenth international conference on machine learning, ICML. 2001, 1: 282-289.
[2] Sutton C, McCallum A. An introduction to conditional random fields. Foundations and Trends® in Machine Learning, 2012, 4(4): 267-373.
[3] Collobert R, Weston J, Bottou L, et al. Natural language processing (almost) from scratch. Journal of Machine Learning Research, 2011, 12(Aug): 2493-2537.
[4] Lample G, Ballesteros M, Subramanian S, et al. Neural Architectures for Named Entity Recognition. Proceedings of NAACL-HLT. 2016: 260-270.
[5] Huang Z, Xu W, Yu K. Bidirectional LSTM-CRF models for sequence tagging. arXiv preprint arXiv:1508.01991, 2015.
[6] Ma X, Hovy E. End-to-end sequence labeling via bi-directional lstm-cnns-crf. arXiv preprint arXiv:1603.01354, 2016.
[7] Chiu J P C, Nichols E. Named entity recognition with bidirectional LSTM-CNNs. arXiv preprint arXiv:1511.08308, 2015.
[8] Rei M, Crichton G K O, Pyysalo S. Attending to Characters in Neural Sequence Labeling Models. arXiv preprint arXiv:1611.04361, 2016.
[9] Akash Bharadwaj, David Mortensen, Chris Dyer, Jaime G Carbonell. Phonologically aware neural model for named entity recognition in low resource transfer settings. EMNLP, pages 1462–1472, 2016.
[10] Yang Z, Salakhutdinov R, Cohen W W. Transfer Learning for Sequence Tagging with Hierarchical Recurrent Networks. ICLR, 2017.
[11] Matthew E. Peters, Waleed Ammar, Chandra Bhagavatula, Russell Power. Semi-supervised sequence tagging with bidirectional language models. ACL, 2017.