這篇博文應該是本人至今爲止總結的第一篇與自然語言處理相關的論文筆記,初次提筆,難免會有疏漏,還請莫怪。《Chinese NER Using Lattice LSTM》,源碼:(PyTorch版)https://github.com/jiesutd/LatticeLSTM,ACL 2018頂會論文。
一、摘要:針對中文命名實體識別提出一種lattice-LSTM模型,該模型能夠這麼對輸入字符序列以及所有匹配語料庫的潛在詞進行編碼。與基於字符方法相比,該模型能夠充分利用詞和詞序列信息;與基於詞的方法相比,該模型不存在分割錯誤問題;門控循環細胞允許該模型從句子中選擇最相關的字符和詞以提高命名實體結果。在多種數據集上的實驗結果表明,Lattice LSTM模型的結果要優於基於詞和基於字符的LSTM模型。
二、問題:中文命名實體識別與分詞相關,而中文分詞界面模糊,容易分詞錯誤,進而造成錯誤傳播。雖然基於字符的方法要優於基於詞的方法,但攜帶的信息有限,未充分利用顯式詞和詞序列信息,而這些信息可能很有用。
三、思路:即考慮如何將字符信息和詞信息進行融合,使其能夠有效避免分割錯誤問題。提出採用lattice LSTM結構自動控制從句首到句尾的信息流。
四、方法:
1、該模型採用LSTM-CRF作爲主要框架,輸入可表示爲,表示爲第j個字符,s也可進一步視爲詞序列,,表示句子中的第i個詞。採用表示句子中在第i個詞中第k個字符的索引j,採用BIOES標註模式。
2、字符模型,詞模型和Lattice模型
2.1 字符型模型:
(1) Char+bichar 字符嵌入連接character bigrams嵌入
(2) Char +softword 連接分割標籤嵌入和字符嵌入
2.2 詞模型
(1) Word+ char LSTM: 詞嵌入以及詞中字符向量連接並採用BiLSTM進行訓練,得出輸出。
(2) Word+char LSTM’: 詞嵌入以及詞中字符向量連接並採用兩個獨立的LSTM訓練,得出。
(3) Word+char CNN: 將CNN作用在每個詞的字符序列上以獲取字符表示。
,ke=3,爲卷積核大小,max爲最大池化層;
3、Lattice模型
輸入:字符序以及與詞庫D中匹配的所有字符子序列;
四類向量:輸入向量,輸出隱層向量,細胞向量和門控向量
不同點在於考慮了語料中詞的子序列的狀態,主要表現如下:
(1)針對每個句子子序列,其當前狀態由字符序列b位置的隱層狀態和子序列決定,顯然若有輸出的話,應作爲詞級輸出,是作爲下個狀態的輸入,屬於字符級,因此此處無需門控輸出。
(2) 上述可以有多個子序列由到達,那麼哪個子序列貢獻最大呢?即最符合語義關係呢?此時需要一個額外門控來衡量每個子序列對的貢獻。即:
五、實驗
1 數據集(四種)
OntoNotes, MSRA, Weibo NER,和自制的中文簡歷數據集(resume)。其中,resume採用YEDDA軟件進行標註。
2、分割
針對無法採用黃金分割的數據集,採用Yang et al. (2017a)提出的方法進行分割,
3、詞嵌入
在Chinese Giga-Word平臺上採用Word2Vec進行訓練。
4、實驗結果
實驗分別從字符嵌入,詞嵌入和Lattice三個方面進行對比。