Chinese NER Using Lattice LSTM 论文解读
Abstract
我們研究了一種籬笆(Lattice)結構的LSTM模型為中文NER任務。它能夠編一序列的a sequence 的characters 和words。相對于characters編碼,它能夠加載words信息;相對于words編碼,它不用承受 分割誤差(segmentation errors)。門控循環細胞單元(gated recurren cell )使我們可以選擇句子中最相關的characters和words,以獲得最好的結果。各種實驗結果表明,我們的模型比 characters類和words類的模型都要棒。
1 Introduction
NER近些年來很火,這是一個序列標注任務,需要預測實體編輯和類別標簽。目前的 state-of-the-art 模型是 LSTM-CRF模型,它用character信息來預測words。
中文NER是一般需要先進行word segment的,然而,segment-> NER 過程會遭受 segment的誤差傳播,即segment 誤差會影響NER的識別結果。
目前已經證實,character類的模型 outperform word類的模型。character類的模型有一個缺點就是:word信息沒有被利用,而這些信息應該是很有用的。為了解決這個問題,我們提出了籬笆(Lattice)結構的LSTM-CRF模型。如圖1所示,我們用字典構建了一個匹配句子的 charater-word 籬笆網絡,結果,word信息,如 長江大橋、長江、大橋,可以被用來消除 潛在的相關命名實體,如 江大橋。
因為在lattice中,word-character path是指數級的,為此,我們搞了一個Lattice-LSTM結構來自動控制信息流。如圖2所示,對每個character來說,門控單元被用來動態的routine 來自不同路徑的信息。
結果證明,我們的模型效果超棒。
2 Related Work
3 Model
Follow 最好的英文NER任務,我們用 LSTM-CRF 作為我們的主要網絡結構,用BIOES作為tagging架構。
3.1 Character-Based Model
在這里,ece^cec代表一個 character embedding lookup table。
用的是雙向LSTM來做特征提取,即hcj=[hcj←,→hcj]h_c^j=[h_c^j \leftarrow ,\rightarrow h_c^j]hcj?=[hcj?←,→hcj?]。接著,一個標準的CRF被用在hcjh_c^jhcj?上為序列標注。
- Char + bichar.
這里,ebe^beb代表一個charater bigram lookup table。 - Char + softword.
已經被證實,用segment作為一個soft特征,確實可以提高 character類NER任務的表現。
這里,ese^ses代表一個 segmentation label embedding lookup table。seg(cj)seg(c_j)seg(cj?)代表 cjc_jcj?上的segment label,它是一個word segmentor提供的,用BMES來作表征。
3.2 Word-Based Model
在這里,ewe^wew代表一個word embedding lookup table. 用的是雙向LSTM來做特征提取,即hcj=[hcj←,→hcj]h_c^j=[h_c^j \leftarrow ,\rightarrow h_c^j]hcj?=[hcj?←,→hcj?]。接著,一個標準的CRF被用在hcjh_c^jhcj?上為序列標注。
新點:Integrating character representations
character CNN和LSTM一直以來可以被表示 一個word中的character表征,這里我們用了它們2個。上式子中 xjcx_j^cxjc?代表此wjw_jwj?種的character表征。
- Word + char LSTM.
令每個輸入character cjc_jcj? embedding為ec(cj)e^c(c_j)ec(cj?),我們用雙向LSTM來學習word中每個character的雙向隱層表示,最后詞wiw_iwi?的character表示為:
其中,len(i)是詞wiw_iwi?的character長度。 - Word + char LSTM
我們研究“ Word + char LSTM”的一個變體,即 用一個single LSTM來得到每個cjc_jcj?的隱層表征hjc←h_j^c \leftarrowhjc?←、→hjc\rightarrow h_j^c→hjc?。將 character hidden states 融入 word representation 的方式和上面相同。 - Word + char CNN
令每個輸入character cjc_jcj? embedding為ec(cj)e^c(c_j)ec(cj?),那么每word的character表征向量 xicx_i^cxic? 的表示為:
其中,ke=3是卷積核的大小,max意味著 max pooling.
3.3 Lattice Model
咱的模型看起來像是 character類模型的擴展,添加了word信息和門控單元。
如第2節所示,我們用自動分割的大原始文本來構建詞典D。模型的基本循環單元是由一個character單元向量 cjcc_j^ccjc? 和一個隱藏向量hjch_j^chjc? 構成的。這基本的循環LSTM函數是:
]
其中,ijci_j^cijc?、fjcf_j^cfjc?、ojco_j^cojc?分別代表輸入門、遺忘門、輸出門。與character類模型不同的是,現在cjcc_j^ccjc?的計算考慮了句子中的詞典級次級序列wb,edw_{b,e}^dwb,ed?,每個wb,edw_{b,e}^dwb,ed?的表征公式如下:
其中,ewe^wew代表著 word embedding lookup table.
另外,cb,ewc_{b,e}^wcb,ew? 被用來表示 xb,ewx_{b,e}^wxb,ew? 的循環狀態,cb,ewc_{b,e}^wcb,ew? 的計算公式如下:
這里沒有輸出門,因為序列標注是對 character level 而言的。
with cb,ewc_{b,e}^wcb,ew?,這里就有了更多的數據流入到 character cjcc_j^ccjc?。例如,在figure2中,c7cc_7^cc7c? 的輸入就有 x7cx_7^cx7c?(橋)、c6,7wc_{6,7}^wc6,7w?(大橋)、c4,7wc_{4,7}^wc4,7w?(長江大橋)。我們連接所有的 cb,ewc_{b,e}^wcb,ew? with b∈{b′∣wb′,ed∈D}b \in \{ b'|w_{b',e}^d \in D \}b∈{b′∣wb′,ed?∈D} 和這細胞狀態cecc_e^ccec?。我們再用一個門控單元 ib,eci_{b,e}^cib,ec?來控制 子序列 cb,ewc_{b,e}^wcb,ew? 流入到 cb,ecc_{b,e}^ccb,ec?的contribution。
細胞單元的值 cjcc_j^ccjc? 的計算公式因此變為:
在公式15中,這門控值 ib,jci_{b,j}^cib,jc?和ijci_j^cijc?被正則化為 αb,jcα_{b,j}^cαb,jc?和αjcα_j^cαjc?,計算公式如下所示:
這最后的隱藏向量hjch_j^chjc?仍然和公式11中一樣。
3.4 Decoding and Training
CRF層是建立在 h1h_1h1?、h2h_2h2? … hμh_μhμ?之上,對應的標簽序列 y=l1,l2,...,lμy = l_1,l_2,...,l_μy=l1?,l2?,...,lμ?的概率為:
其中,y′y'y′代表了一條被任意標注的序列。訓練損失函數為:
其中,代表著參數集合。
4 Experiments
我們做了大量實驗。
4.1 Experimental Settings
Data:OntoNotes 4、MSRA、Weibo NER、a Chinese resume datase。
Segmentation:對OntoNotes 4 和MSRA來講,其訓練集上的 黃金標注分割是可以得到的。對OntoNotes 來講,其驗證集和測試集上的黃金分割也是可以得到的,但是,對MSRA來講,其測試集得不到 黃金分割,Weibo 和 resume 數據集也得不到。于是,我們采用 神經網絡分詞器 來自動進行分割。具體的,針對OntoNotes 4 和MSRA,我們訓練分詞器在它們各自的訓練集上;對Weibo 和 resume ,我們采用了 Yang et al 的最好的模型。
Word Embeddings:我們用word2vec 預訓練了word embedding,然后在NER訓練中進行微調;我們用word2vec 預訓練了character embedding 和 character bigram embedding,然后在NER訓練中進行微調;
Hyper-parameter settings:參數設置如圖所示。針對每個具體的數據集,沒有用網格搜索進行微調。
4.2 Development Experiments
結果如下所示:
其中,值得注意的是:
(1)a word-based LSTM CRF baseline 給出了F1值為64.12%,比 a character-based LSTM CRF baseline 要高。
(2)A CNN representation of character sequences gives a slightly higher F1-score compared to LSTM character representations.
(3)在 word embedding中,當給char CNN增加 bichar后,F1值卻下降了。考慮原因為:CNN本身已經抓住了 character 級的N-gram信息。
(4)Lattice-based 結果最棒。值得注意的是:當bigram 信息加強后,F1值并沒有提升。考慮其原因: words are better sources of information for character disambiguation compared with bigrams, which are also ambiguous.
(5)Lattice-based 表現超過 char+subword,說明:ws the advantage of lattice word information as compared with segmentor word information
4.3 Final Results
用4.2節得到的3種類最優模型和歷史上那些名模一起 來在四種數據上做實驗。
4.4 Discussion
F1 against sentence length:
值得注意的是以下幾點:
(1)The word-based baseline gives substantially higher F1-scores over short sentences, but lower F1-scores over long sentences, which can be because of lower segmentation accuracies over longer sentences.
(2)The accuracy of lattice also decreases as the sentence length increases, which
can result from exponentially increasing number of word combinations in lattice.
Case Study
注意到word+char+bichar和lattice有相同的word信息源,區別在于:word+char+bichar首先使用詞匯是在分詞器中,這會施加硬約束(即,固定詞)到NER任務中。相比之下,lattice LSTM可以自由考慮所有詞典匯詞。
5 Conclusion
由于lattice方法和word segment是獨立的,所以在利用word信息上對NER消歧更有效果。
總結
以上是生活随笔為你收集整理的Chinese NER Using Lattice LSTM 论文解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决checkbox复选框未选中时不传值
- 下一篇: 基于Revel+Layui框架快速入门教