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