淺析深度學習在實體識別和關系抽取中應用
1、命名實體識別
命名實體識別(Named Entity Recognition,NER)就是從一段自然語言文本中找出相關實體,并標注出其位置以及類型,如下圖。命名實體識別是NLP領域中的一些復雜任務的基礎問題,諸如自動問答,關系抽取,信息檢索等 ,其效果直接影響后續(xù)處理的效果,因此是NLP研究的一個基礎問題。
NER一直是NLP領域中的研究熱點,現(xiàn)在越來越多的被應用于專業(yè)的領域,如醫(yī)療、生物等。這類行業(yè)往往具有大量的專業(yè)名詞,名詞與名詞之間相互之間存在著不同種類的關系。NER的研究從一開始的基于詞典和規(guī)則的方法,基于統(tǒng)計機器學習的方法,到近年來基于深度學習的方法,NER研究的進展趨勢如下圖所示。
基于統(tǒng)計機器學習的方法主要包括:隱馬爾可夫模型(HiddenMarkovModel HMM)、***熵(MaxmiumEntropy,ME)、支持向量機(Support VectorMachine,SVM)、條件隨機場( Conditional Random Fields,CRF)等。
隱馬爾可夫模型(HMM)主要利用Viterbi算法求解命名實體類別序列,在訓練和識別時的效率較高且速度較快。隱馬爾可夫模型適用于一些對實時性有要求以及像信息檢索這樣需要處理大量文本的應用,如短文本命名實體識別。
***熵模型(ME)結構緊湊,具有較好的通用性,缺點是訓練時間復雜性高,有時甚至訓練代價難以承受,由于需要明確的歸一化計算,導致計算開銷比較大。
傳統(tǒng)的公認比較好的處理算法是條件隨機場(Conditional Random Field,CRF),它給定一組輸入隨機變量條件下另一組輸出隨機變量的條件概率分布模型,其特點是假設輸出隨機變量構成馬爾可夫隨機場,它是一種判別式概率模型,是隨機場的一種。CRF常用于標注或分析序列資料,如自然語言文字或是生物序列,在NER中的基本應用是給定一系列的特征去預測每個詞的標簽。
上圖中,X我們可以看做成一句話的每個單詞對應的特征,Y可以看做成單詞對應的標簽。這里的標簽就是對應場景下的人名、地名等等。
CRF優(yōu)點:立足于局部***解,在已給出z的條件下計算可能的序列 y 的概率分布。
近年來隨著深度學習的飛速發(fā)展,像RNN、LSTM這些模型在NLP任務中得到了廣泛的應用,其特點在于具備強大的序列建模能力,它們能夠很好地捕捉上下文信息,同時具備神經(jīng)網(wǎng)絡擬合非線性的能力,這些都是比CRF具有優(yōu)勢的地方。LSTM的優(yōu)點在于獲取長時間序列上樣本與樣本之間的關系,而BiLSTM可以更有效的獲取輸入語句前后的特征。BiLSTM+CRF已在NLP多數(shù)場景中表現(xiàn)出非常良好的效果。例如在分詞任務中,對比傳統(tǒng)的分詞器,BiLSTM能發(fā)揮雙向獲取句子特征這一優(yōu)勢,分詞效果更接近人類認知的感覺。
2、關系抽取
在當前NLP研究中,關系抽?。╮elation extraction)任務被廣泛應用于數(shù)據(jù)簡化和構建知識圖譜中。給定用戶輸入的一段自然語言,在正確識別實體的基礎上,抽取它們之間的關系就是亟待解決的重要問題。目前解決這個問題的方法分為串聯(lián)抽取和聯(lián)合抽取兩類。一般傳統(tǒng)的串聯(lián)抽取方法是在實體抽取的基礎上進行實體之間關系的識別。在這種方法中,先期實體識別的結果會影響到關系抽取的結果,前后容易產(chǎn)生誤差累積。針對這一問題,基于傳統(tǒng)機器學習的聯(lián)合模型(Joint model)被提出并逐步用于對這一類的NLP任務進行聯(lián)合學習。
聯(lián)合模型的方法主要基于神經(jīng)網(wǎng)絡的端對端模型同時實現(xiàn)實體抽取和關系抽取,這樣做能夠更好的將實體和其中的關系信息進行結合。
在論文《Joint Entity and Relation Extraction Based on A Hybrid Neural Network》中,作者提出了混合的神經(jīng)網(wǎng)絡模型來進行命名實體識別(NER)和關系分類(RC)。NER和RC使用同一BiLstm網(wǎng)絡對輸入進行編碼,根據(jù)NER預測的結果對實體進行配對,然后將實體之間的文本使用一個CNN網(wǎng)絡進行關系分類。
CNN用于關系分類(RC)
通過底層的模型參數(shù)共享,在訓練時兩個任務都會通過后向傳播算法來更新共享參數(shù)來實現(xiàn)兩個子任務之間的依賴。
在論文《A neural joint model for entity and relation extraction from biomedical text》中,作者將聯(lián)合學習的方法用于生物醫(yī)學實體識別和關系抽取當中,在關系分類時,輸入的語句首先進行依存分析構建起依存句法樹,然后將這種樹狀結構輸入到Bilstm+RNN的網(wǎng)絡中進行關系分類,如下圖:
通過以上的方法可以看出,兩個任務的網(wǎng)絡通過共享參數(shù)的方式聯(lián)合學習,訓練先進行NER,再根據(jù)NER的結果進行關系分類。
今年ACL的Outstanding Paper《Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme》提出了一種新的標注策略來進行關系抽取,采用一種jointly的方法把命名實體識別(named entity recognize)和關系抽?。╮elation extraction)兩步結合到一起:通過一種新的標注策略(tagging scheme)把抽取任務轉(zhuǎn)換為標注任務,然后利用深度學習的方法通過一個端到端的模型(end-to-end tagging model)來抽取出最終的結果。新的標注方案示例如下圖:
上圖中“CP”代表“Country-President”,“CF“代表“Company-Founder”,這樣就將原來的兩個子任務完全轉(zhuǎn)換為一個序列標注問題,作者使用“BIES”(Begin,Inside,End,Single)進行標注,來表示當前詞在整個 entity 中的位置,關系類型則來自于預先設定的關系類型集合。用“1”,“2”來表示entity在關系中的角色信息,其中“1”表示,當前詞屬于三元組(Entity1,RelationType,Entity2)的 Entity1,同理”2”表示,當前詞屬于Entity2,根據(jù)標注結果將兩個相鄰順序?qū)嶓w組合為一個三元組。例如:通過標注標簽可知,“United”與“States”組合形成了實體“United States”,實體“United States”與實體“Trump”組合成了三元組 {United States, Country-President,Trump}。
論文作者主要考慮一個詞只屬于一個三元組的情況,對于三元組重疊問題,即多個三元組都包含同一個詞的情況,作者暫時還沒有考慮。端到端的模型如下圖所示:
模型還是使用 BiLSTM來進行編碼,然后使用參數(shù)共享中的 LSTM 來進行解碼。
這一模型可以用于豐富已有的知識圖譜資源,例如現(xiàn)在多樣的智能化應用,如:自動問答、智能搜索、個性化推薦等,都需要知識圖譜的支撐。
3、總結
參數(shù)共享的方法越來越多的被用于基于神經(jīng)網(wǎng)絡的實體識別和關系抽取聯(lián)合學習中,這種方法在多任務中有著廣泛的應用且簡單容易實現(xiàn)。如何將這兩類任務更好的結合起來進行端到端關系抽取任務是下一步研究的重要趨勢,我們期待有更好的方法出現(xiàn)。