丁相國,?;w
(北京交通大學(xué)計算機(jī)與信息技術(shù)學(xué)院,北京 100044)
知識圖譜在問答系統(tǒng)[1]、醫(yī)療文本挖掘[2]、推薦系統(tǒng)[3]、文本生成[4]等領(lǐng)域已經(jīng)變得非常重要,然而大規(guī)模的知識圖譜都是由數(shù)以萬計的實(shí)體和關(guān)系組成,人工無法應(yīng)對如此大規(guī)模的圖譜構(gòu)建,于是從非結(jié)構(gòu)化文本中抽取實(shí)體和關(guān)系變得尤為重要。
在以往的大多數(shù)實(shí)體關(guān)系抽取工作中,研究者往往采用的是流水線模型[5-7]。流水線模型的思想是先進(jìn)行實(shí)體識別,再進(jìn)行關(guān)系分類,任務(wù)的分離使此類模型存在誤差傳遞問題,即實(shí)體識別的錯誤會傳遞到關(guān)系分類中;并且此類模型忽略了實(shí)體識別和關(guān)系分類兩個任務(wù)之間的關(guān)聯(lián)信息。
編碼器-解碼器模型近年來備受關(guān)注,它能夠很好地處理序列生成問題,比如在翻譯模型中,將原始語言編碼,通過編碼信息解碼生成目標(biāo)語言。編碼器-解碼器模型能夠?qū)?shí)體關(guān)系聯(lián)合抽取問題轉(zhuǎn)化為序列生成問題,自然地解決了上文流水線模型所提的兩種問題。近期,許多關(guān)系抽取工作[8-10]都是圍繞著編碼器-解碼器展開。
雖然以往基于編碼器-解碼器的模型[8-10]取得了優(yōu)秀的效果,但是它們還是存在兩點(diǎn)問題:
一是在解碼階段,同時生成實(shí)體和關(guān)系,兩者是不同的對象,同一語義空間的映射降低了兩者的抽取效果。例如,對于三元組(India,Goa,contains)的生成,解碼階段既要生成實(shí)體India 和Goa,也要生成關(guān)系contains,兩種不同含義的對象使解碼器很難準(zhǔn)確地映射。
二是沒有考慮不同關(guān)系之間的交互信息。以往模型更加注重的是實(shí)體與關(guān)系之間的交互信息,然而關(guān)系之間實(shí)際也存在著相關(guān)信息。語義相似性強(qiáng)的關(guān)系之間具有非常豐富的交互信息,特別是對于具有重疊實(shí)體的三元組,例如(India,Goa,administrative-divisions)的關(guān)系可以從(India,Goa,contains)中推斷出來,也可以從(Goa,India,country)推斷出來;administrative-divisions、contains、country 三個關(guān)系具有較強(qiáng)的語義相關(guān)性。
本文提出的基于關(guān)系自適應(yīng)解碼模型,將不同關(guān)系分而治之,模型通過共享的模型結(jié)構(gòu),將實(shí)體關(guān)系抽取任務(wù)轉(zhuǎn)化為對應(yīng)關(guān)系的實(shí)體對生成問題。如圖1 所示,模型根據(jù)不同的關(guān)系輸入,自適應(yīng)輸出相應(yīng)關(guān)系的實(shí)體對,不同關(guān)系又共享同一編碼器-解碼器進(jìn)行聯(lián)合共享學(xué)習(xí)。
圖1 本文模型的輸入和輸出Fig.1 Input and output of the proposed model
不同關(guān)系分而治之,使解碼階段專注于對應(yīng)關(guān)系的實(shí)體對生成。雖然輸出階段不包括關(guān)系的生成,但是生成的實(shí)體對隱含了輸入的關(guān)系,也就是實(shí)體對的生成隱含了關(guān)系抽取。如圖1 所示,輸入一個句子和關(guān)系,模型專注于對應(yīng)實(shí)體對的生成。簡單地將不同關(guān)系分離成不同的模型,模型會丟失關(guān)系之間的交互信息;本文將不同關(guān)系共享同一編碼器-解碼器模型,共享的模型聯(lián)合學(xué)習(xí)不同關(guān)系,充分地考慮不同關(guān)系之間的交互信息。其次,本文對解碼器進(jìn)行了改進(jìn),類似于文本摘要模型[11],本文在解碼器的映射層考慮當(dāng)前時刻隱向量的注意力信息并在下一時間步的輸入考慮上一時刻的注意力信息,當(dāng)未登錄詞出現(xiàn)時能夠以映射層注意力分?jǐn)?shù)最高的詞代替,以減緩未登錄詞帶來的影響。經(jīng)過實(shí)驗(yàn)結(jié)果表明,所提模型在紐約時報(New York Times,NYT)數(shù)據(jù)集上得到了令人鼓舞的效果。
在實(shí)際場景中,需求是動態(tài)變化的,往往會添加新的實(shí)體關(guān)系抽取需求。本文將已有的關(guān)系稱為源域關(guān)系,添加的關(guān)系稱為目標(biāo)域關(guān)系。以往的模型需要將目標(biāo)域關(guān)系加入源域關(guān)系中,重新整理數(shù)據(jù),從頭訓(xùn)練模型。本文基于關(guān)系自適應(yīng)解碼的模型,整體參數(shù)共享,保留了不同關(guān)系的共性信息,能夠分別處理不同關(guān)系;所以本文模型能夠單獨(dú)在目標(biāo)域關(guān)系上微調(diào),模型在F1 指標(biāo)上有不錯表現(xiàn)的同時能夠縮短訓(xùn)練時間。
本文的主要工作如下:
1)本文將實(shí)體關(guān)系聯(lián)合抽取任務(wù)轉(zhuǎn)化為對應(yīng)關(guān)系的實(shí)體對生成任務(wù)。模型將不同關(guān)系分而治之,根據(jù)不同關(guān)系自適應(yīng)輸出相應(yīng)的實(shí)體對,在解碼階段更加專注于對應(yīng)關(guān)系的實(shí)體對生成。同時不同關(guān)系之間共享同一模型參數(shù),充分地考慮了不同關(guān)系之間的交互信息。
2)模型能夠適用于動態(tài)關(guān)系抽取需求的場景,能夠遷移到目標(biāo)域關(guān)系上。在目標(biāo)域關(guān)系上微調(diào)的效果要優(yōu)于從頭開始訓(xùn)練。
3)本文模型在NYT 數(shù)據(jù)集上比目前的先進(jìn)模型具有更好的表現(xiàn)。
從非結(jié)構(gòu)化文本中抽取實(shí)體和關(guān)系一直以來都是信息抽取的重要任務(wù)之一,實(shí)體關(guān)系三元組的抽取對其他自然語言處理任務(wù)有非常重要的意義。早期的一些工作主要使用流水線模型。此類方法存在兩個任務(wù)之間誤差傳遞的問題,即實(shí)體識別的誤差會影響關(guān)系分類的效果,而且此類方法忽略了實(shí)體與關(guān)系之間的交互信息。后續(xù)一些工作[12-13]通過設(shè)計復(fù)雜的特征對實(shí)體關(guān)系進(jìn)行抽取,但是這些工作需要專家參與特征的設(shè)計。近期有一些工作[14-15]使用神經(jīng)網(wǎng)絡(luò)的方法自動地學(xué)習(xí)特征,他們通過對模型的部分參數(shù)共享,得到的實(shí)體識別的結(jié)果,通過最后的決策階段對所有的實(shí)體進(jìn)行關(guān)系分類;但是他們定義了兩個損失函數(shù),使此類模型還是分成了兩個任務(wù),沒有充分地考慮實(shí)體與關(guān)系之間的交互信息。文獻(xiàn)[16]首次使用了一種新穎的標(biāo)注機(jī)制對每個單詞標(biāo)注,將問題轉(zhuǎn)化為序列標(biāo)注問題,它首次考慮兩個任務(wù)之間交互信息,但是由于每個單詞只能標(biāo)注一種標(biāo)簽,模型不能處理具有重疊實(shí)體的關(guān)系三元組。
最近,許多研究者針對具有重疊實(shí)體的關(guān)系三元組展開了很多工作,其中:文獻(xiàn)[17]將句子的所有單詞作為圖中的節(jié)點(diǎn),單詞的依存語法作為圖中的初始邊,使用圖卷積網(wǎng)絡(luò)對關(guān)系進(jìn)行預(yù)測。文獻(xiàn)[18]使用兩層的強(qiáng)化學(xué)習(xí)分別對實(shí)體和關(guān)系進(jìn)行抽取。目前最為出色的一些工作[8-10],使用編碼器-解碼器模型生成實(shí)體關(guān)系三元組,將問題轉(zhuǎn)化為序列生成問題,自然地解決了關(guān)系三元組中存在的重疊問題,其中文獻(xiàn)[10]取得了在NYT 數(shù)據(jù)集上最好的效果,但是這些優(yōu)秀的模型沒有考慮解碼階段的實(shí)體和關(guān)系是兩個不同的對象以及不同關(guān)系之間是存在交互信息的。
目前,絕大部分共享模型都是共享單詞嵌入層,或者編碼層等部分模型,例如在多任務(wù)學(xué)習(xí)[19]中共享部分模型。很少有工作將整個編碼器-解碼器共享;文獻(xiàn)[20]中使用了共享的編碼器-解碼器學(xué)習(xí)不同摘要風(fēng)格的平均風(fēng)格,這給予了本文啟發(fā)。
本文模型將不同關(guān)系分而治之,不同關(guān)系共享整個編碼器-解碼器模型;模型根據(jù)輸入的關(guān)系自適應(yīng)輸出相應(yīng)的實(shí)體對,使解碼階段更專注于對應(yīng)關(guān)系的實(shí)體生成,并且模型通過共享機(jī)制充分利用不同關(guān)系之間的交互信息。
實(shí)體關(guān)系三元組是由頭實(shí)體、尾實(shí)體、關(guān)系組成,實(shí)體關(guān)系抽取的目標(biāo)是從句子中抽取出所有的實(shí)體關(guān)系三元組。在本文的模型中,以句子、關(guān)系作為輸入,輸出為對應(yīng)關(guān)系的實(shí)體對(頭實(shí)體,尾實(shí)體),實(shí)體對之間隱含了輸入的關(guān)系。如圖1 所示,模型輸出的實(shí)體對,根據(jù)輸入的關(guān)系擴(kuò)展為實(shí)體關(guān)系三元組,所有關(guān)系擴(kuò)展的三元組經(jīng)過整合得到句子關(guān)系抽取最終的結(jié)果。
在模型實(shí)際輸出中,跟翻譯模型類似,會有幾個特殊字符的存在,例如“<sos>頭實(shí)體1;尾實(shí)體2 | 頭實(shí)體1;尾實(shí)體3<eos>”;其中<sos>和<eos>表示輸出結(jié)果的開始和結(jié)束。在測試階段,解碼階段輸出<eos>表示解碼的結(jié)束,輸出結(jié)果只有<sos>和<eos>表示該關(guān)系下沒有實(shí)體對,例如圖1 的null?!?;”分割實(shí)體對中的頭實(shí)體和尾實(shí)體,“|”分割不同的實(shí)體對。
其中,RAD(Relation-Adaptive Decoding)為關(guān)系自適應(yīng)解碼模型,s為輸入句子,rj表示關(guān)系j,|R|表示關(guān)系的數(shù)量,T為s中所有的關(guān)系三元組,其中一些關(guān)系三元組可能為空。
模型的詳細(xì)結(jié)構(gòu)如圖2 所示,圖2 僅展示了contains 關(guān)系的模型結(jié)構(gòu),其他關(guān)系共享同一模型結(jié)構(gòu),訓(xùn)練時,所有關(guān)系聯(lián)合共享學(xué)習(xí),所以其他關(guān)系不再進(jìn)行展示。模型由編碼器和解碼器構(gòu)成,句子在編碼器階段輸入,關(guān)系在解碼器階段輸入,對應(yīng)的關(guān)系實(shí)體對在解碼器映射層輸出。本章將對編碼器、解碼器、損失函數(shù)分別進(jìn)行介紹。
圖2 本文模型框架Fig.2 Architecture of the proposed model
輸入的句子s通過編碼器得到句子的上下文隱向量表示其中為第i個單詞的隱含向量表示,n為句子長度。編碼器由嵌入層和編碼層構(gòu)成。
2.1.1 嵌入層
句子s={w1,w2,…,wn}經(jīng)過嵌入層得到單詞向量表示X={x1,x2,…,xn},其中wi表示第i個單詞,xi表示第i單詞的向量表示。單詞的向量表示X的計算過程如下:
單詞的向量表示X由單詞嵌入和單詞的字符特征表示Cw={c1,c2,…,cn}連接而成,||表示向量的連接。表示第i個單詞的嵌入表示,ci表示第i個單詞的字符特征向量。單詞和字符的嵌入通過維護(hù)查找表,根據(jù)索引對嵌入表示查詢,查找表隨著訓(xùn)練不斷地更新。根據(jù)文獻(xiàn)[21],本文模型使用帶有最大池化的卷積網(wǎng)絡(luò)提取單詞的字符特征向量,如式(3)所示,MaxPool(ConV())表示帶有最大池化的卷積網(wǎng)絡(luò)。為字符的嵌入表示。其中
2.1.2 編碼層
雙向長短期記憶(Bi-directional Long Short-Term Memory,Bi-LSTM)考慮了當(dāng)前時間步的輸出不僅和之前的狀態(tài)有關(guān),還可能和未來的狀態(tài)有關(guān),雙向LSTM 在自然語言處理的各個領(lǐng)域展現(xiàn)出了它的優(yōu)勢。為了更好地對輸入句子進(jìn)行編碼,本文使用雙向LSTM作為編碼層。單詞的向量表示X通過雙向LSTM得到編碼層隱含向量表示HE:
在解碼器中,本文使用單向的LSTM 從左到右在每一個時間步t對相應(yīng)的實(shí)體或特殊字符進(jìn)行預(yù)測。解碼單元以關(guān)系嵌入,上下文向量et,上一時間步的結(jié)果yj,t-1作為輸入,通過解碼層和映射層得到最終的結(jié)果。其中,關(guān)系嵌入類似于詞嵌入,根據(jù)關(guān)系索引rj查詢查找表得到關(guān)系的向量表示,查找表隨機(jī)初始化,隨著訓(xùn)練不斷地更新。
2.2.1 注意力層
注意力機(jī)制[22]最早應(yīng)用在圖像領(lǐng)域,在自然語言處理領(lǐng)域中,通過注意機(jī)制動態(tài)獲取編碼器隱向量的不同權(quán)重,從而得到基于解碼器隱向量的動態(tài)上下文向量。本文通過注意力機(jī)制獲取上下文向量et:
其中,注意力機(jī)制Attention具體計算過程如下。
其中:Wu、Wq、bq、Va為訓(xùn)練參數(shù);at表示t時刻對第i個單詞的注意力分?jǐn)?shù)。
2.2.2 解碼層
本文模型的解碼層輸入不僅僅要考慮上一步的輸出結(jié)果,也考慮了上一步的注意力信息。通過解碼層得到每個時間步的隱含向量表示:
其中:yj,t-1表示上一時間步結(jié)果的嵌入表示為時間步t的解碼器隱含向量表示,et-1為上一時刻的上下文向量表示,LSTMD為解碼器LSTM 計算單元。在訓(xùn)練階段,yj,t-1使用上一個時間步真實(shí)的結(jié)果,在測試階段本文模型使用上一時間步預(yù)測的結(jié)果。
2.2.3 映射層
以往的關(guān)系抽取模型[8-10],映射層僅僅考慮當(dāng)前時刻的隱向量,本文認(rèn)為當(dāng)前時刻的注意力信息有助于映射層的推斷,并且對于未登錄詞的推斷,使用當(dāng)前時間步的注意力信息更加合理。在映射層,本文同時考慮了當(dāng)前時刻的上下文向量、關(guān)系嵌入、上一時刻的隱向量,映射層將解碼信息映射到預(yù)先在訓(xùn)練集構(gòu)建的詞典中:
對于輸出結(jié)果Tj={vj,1,vj,2,…,vj,m},其中:m表示輸出序列的長度;vj,t表示關(guān)系j下t時刻的輸出結(jié)果;v:,1和v:,m分別為<sos>、<eos>,表示輸出結(jié)果的開始和結(jié)束。
本文使用負(fù)對數(shù)似然函數(shù)作為損失函數(shù):
其中:Lossj是關(guān)系j的損失函數(shù),sb為訓(xùn)練批次中第b個句子,Θ為模型所有的參數(shù)。
在目標(biāo)域關(guān)系訓(xùn)練的場景中,損失函數(shù)如下所示:
其中:rt是目標(biāo)域關(guān)系,此時模型的損失為關(guān)系rt的損失函數(shù);模型初始參數(shù)Θrt為源域關(guān)系訓(xùn)練過的參數(shù),關(guān)系rt的嵌入表示隨機(jī)初始化。
本文使用紐約時報(NYT)數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集。NYT數(shù)據(jù)集有多個版本,本文使用NYT24、NYT29作為本文的實(shí)驗(yàn)數(shù)據(jù)集。兩個數(shù)據(jù)集的統(tǒng)計信息如表1 所示,其中NYT24 中有24種關(guān)系,NYT29中有29種關(guān)系。數(shù)據(jù)集中訓(xùn)練集占原始數(shù)據(jù)的90%,其中驗(yàn)證集從訓(xùn)練集劃分出10%。為了具有可比較性,基線模型使用同樣的訓(xùn)練集、測試集劃分。
表1 兩個數(shù)據(jù)集的統(tǒng)計信息Tab.1 Statistics of two datasets
與基線模型相同,本文使用word2vec[23]得到的單詞向量表示初始化模型的單詞嵌入。對于模型的關(guān)系嵌入,本文模型進(jìn)行隨機(jī)初始化。其中,單詞嵌入維度大小dw為300,單詞的字符特征表示維度dcf為50,單詞的字符嵌入表示dc維度大小為50,關(guān)系嵌入維度dr為100,隱含層向量維度dh為300。本文使用Dropout[24]來預(yù)防模型過擬合,其中Dropout 的大小為0.3,本文使用了EarlyStoping 機(jī)制,即模型效果在驗(yàn)證集上5 次沒有提高,則停止模型訓(xùn)練。本文使用Adam[25]作為模型的優(yōu)化器。驗(yàn)證集用于獲取最優(yōu)結(jié)果的模型,獲取的模型用于測試集上測試。
Tagging[16]:此模型使用序列標(biāo)注機(jī)制對每一個單詞打標(biāo)簽。此模型考慮了實(shí)體和關(guān)系之間的交互信息。
CopyR(using Copy mechanism for Relation extracting)[8]:此模型首次使用了帶有copy 機(jī)制的編碼器-解碼器模型,但是它每次只復(fù)制實(shí)體的其中一個單詞。本文使用它具有最好表現(xiàn)的多解碼器模型作為基線模型。
GraphR(using relational Graphs for Relation extracting)[17]:此模型將句子中的所有單詞作為圖中的節(jié)點(diǎn),依存關(guān)系作為圖中的邊,使用圖卷積網(wǎng)絡(luò)對圖中節(jié)點(diǎn)關(guān)系預(yù)測。
HRL(Hierarchical Reinforcement Learning)[18]:此模型使用兩層強(qiáng)化學(xué)習(xí)的方法對實(shí)體關(guān)系進(jìn)行聯(lián)合抽取,第一層抽取實(shí)體,第二層抽取關(guān)系。但是此模型不能保證每次都能抽取出兩個實(shí)體。
CopyMTL(Copy mechanism with Multi-Task Learning)[9]:此模型是對CopyR 模型的改進(jìn),模型使用多任務(wù)學(xué)習(xí)的方法抽取實(shí)體和關(guān)系,解決了CopyR不能抽取多單詞實(shí)體的問題。
WDec(Word Decoding)[10]和PNDec(Pointer Networkbased Decoding)[10]:兩個模型是文獻(xiàn)[10]提出的,WDec 使用帶掩碼機(jī)制編碼器-解碼器對實(shí)體關(guān)系抽取,PNDec每一個時間步輸出一個三元組。目前WDec 是NYT 兩個數(shù)據(jù)集上最先進(jìn)的模型。
其中Tagging 是首次以聯(lián)合的方式進(jìn)行實(shí)體關(guān)系抽取的模型,CopyR、CopyMTL、WDec、PNDec 模型是基于編碼器-解碼器的模型。其他基線模型都是近兩年實(shí)體關(guān)系抽取任務(wù)中優(yōu)秀的模型。
本文使用實(shí)體關(guān)系聯(lián)合抽取通用的評估指標(biāo):精確率(Precision)、召回率(Recall)和F1 值,F(xiàn)1 值能夠反映模型的整體效果。對于每個關(guān)系的提取的實(shí)體對,如圖1 所示,本文先進(jìn)行去重,最終整合所有關(guān)系的三元組,整合結(jié)果和測試集中的三元組進(jìn)行比較。三元組(頭實(shí)體,尾實(shí)體,關(guān)系)的所有元素和順序全部正確,本文才認(rèn)為該三元組的結(jié)果是正確的。
3.4.1 總體效果
在基線模型中,HRL模型使用文獻(xiàn)[10]的實(shí)驗(yàn)結(jié)果,其他基線模型使用模型對應(yīng)文獻(xiàn)報告的實(shí)驗(yàn)結(jié)果。與HRL 和WDec 相同,本文的模型運(yùn)行5 次,取所有結(jié)果的中位數(shù)。本文在復(fù)現(xiàn)WDec 模型時發(fā)現(xiàn),WDec 實(shí)際結(jié)果中會比文獻(xiàn)報告的效果要差一些,但是本文仍然使用文獻(xiàn)中報告的結(jié)果作為模型的結(jié)果。
表2 中列出了所有模型的效果,其中“—”表示該模型未在該數(shù)據(jù)集上進(jìn)行驗(yàn)證。從表2 中可以看出WDec 模型在所有的基線模型中各項(xiàng)指標(biāo)中效果最好。本文模型在NYT 兩個數(shù)據(jù)集上的F1 值分別比WDec 模型提高了2.5 個百分點(diǎn)和2.2個百分點(diǎn)。特別是在召回率上,本文模型分別比WDec 提高了4.5 個百分點(diǎn)和3.4 個百分點(diǎn)。對比經(jīng)典的Tagging 模型,本文模型F1值分別提高了42.2個百分點(diǎn)和24個百分點(diǎn)。對比基于copy 機(jī)制的編碼器-解碼器模型CopyMTL,本文模型F1 值在NTY24 上提高了12.2 個百分點(diǎn)。本文模型相比其他基線模型各評估指標(biāo)都有比較大的提升。本文模型在保證精確率的同時,較大幅度地提升了召回率,最終提高了模型的F1值。隨后,本文進(jìn)行了模型融合[10],即5次模型訓(xùn)練的測試結(jié)果進(jìn)行融合,抽取出現(xiàn)3 次及其以上的三元組作為模型融合的結(jié)果。
表2 NYT數(shù)據(jù)集的結(jié)果Tab.2 Results on NYT datasets
如表2 中的模型融合結(jié)果所示,相比WDec,本文模型的融合結(jié)果在NYT24 數(shù)據(jù)集上F1 值提升了2.4 個百分點(diǎn),在NYT29數(shù)據(jù)集F1值上提升了0.7個百分點(diǎn)。
3.4.2 消融研究
此部分實(shí)驗(yàn)研究編碼器-解碼器模型的共享機(jī)制和改進(jìn)的解碼器對模型的影響。
S_ensemble 模型是指不同關(guān)系不再共享同一編碼器-解碼器模型,而是每個關(guān)系獨(dú)立對應(yīng)一個編碼器-解碼器單獨(dú)訓(xùn)練,最終也是由多個關(guān)系進(jìn)行聚合得到所有的三元組結(jié)果。如表3 所示,本文模型相比S_ensemble 模型的F1 值在兩個數(shù)據(jù)集上分別提升了3.7 個百分點(diǎn)和6.3 個百分點(diǎn)。結(jié)果表明了本文提出的共享機(jī)制考慮了不同關(guān)系之間的交互信息,有效地提高了實(shí)體關(guān)系抽取的效果。同樣是多個關(guān)系的結(jié)果聚合,本文模型在F1值上能夠具有明顯提升。
表3 模型消融結(jié)果Tab.3 Ablation results of models
N_Decoder 模型是在WDec 模型中將解碼器替換成本文改進(jìn)的解碼器。從表3 中可以看出,N_Decoder 模型比WDec模型在兩個數(shù)據(jù)集上F1值分別提升了0.8個百分點(diǎn)和1.3個百分點(diǎn)。解碼階段考慮當(dāng)前時間步的注意力信息以及未登錄詞的推測使用當(dāng)前時間步的上下文信息,使解碼階段更加準(zhǔn)確地提取實(shí)體和關(guān)系。
3.4.3 結(jié)果分析
基于編碼器-解碼器模型的實(shí)體關(guān)系抽取任務(wù)主要是由實(shí)體生成任務(wù)和關(guān)系抽取任務(wù)組成。實(shí)體生成任務(wù)本文只關(guān)注三元組中的實(shí)體,關(guān)系生成任務(wù)本文只考慮三元組中的關(guān)系。如表4 所示,本文模型在實(shí)體生成任務(wù)中F1 值在兩個數(shù)據(jù)集上分別提升了2.2個百分點(diǎn)和3.1個百分點(diǎn),特別在召回率上分別提升了4 個百分點(diǎn)和5.3 個百分點(diǎn)。在關(guān)系抽取任務(wù)中F1 值分別提升了3 個百分點(diǎn)和3.5 個百分點(diǎn),召回率提升了5.8 個百分點(diǎn)和6.7 個百分點(diǎn)。本文模型根據(jù)不同關(guān)系自適應(yīng)輸出相應(yīng)的實(shí)體對,使模型輸出階段更加關(guān)注實(shí)體的生成,提高了實(shí)體生成的召回率,提升了模型在兩個任務(wù)的效果,最終綜合提高了模型的整體效果。
表4 實(shí)體生成和關(guān)系生成的結(jié)果Tab.4 Results of entity generation and relation generation
3.4.4 關(guān)系向量可視化
本文將模型學(xué)習(xí)到的部分關(guān)系嵌入表示進(jìn)行可視化,關(guān)系嵌入兩兩之間做余弦相似度,其結(jié)果作為熱圖展示,其中,顏色越深表示相似度越大。如圖3 所示,語義之間具有聯(lián)系的關(guān)系之間相似度也會大,例如people 和ethnicity、majorshare-holder-of 和major-shareholders 具有較強(qiáng)的語義關(guān)系,其嵌入的相似度也較高。數(shù)據(jù)集中有一些關(guān)系數(shù)據(jù)量特別少,關(guān)系之間區(qū)分與聯(lián)系不如數(shù)據(jù)豐富的其他關(guān)系,但是本文模型依然能夠通過共享的模型在少量數(shù)據(jù)關(guān)系上表現(xiàn)不錯的效果。從統(tǒng)計意義上講,關(guān)系嵌入能夠通過共享的模型學(xué)習(xí)到全局的語義信息,表明共享模型機(jī)制能夠到學(xué)習(xí)不同關(guān)系交互信息。
圖3 關(guān)系相似度熱圖Fig.3 Heatmap of relation similarity
3.4.5 遷移實(shí)驗(yàn)
在實(shí)際的場景中,往往隨著需求的變化,會有抽取目標(biāo)域關(guān)系的需求,以往的模型需要重新將目標(biāo)域關(guān)系加入源域關(guān)系數(shù)據(jù)中,重新進(jìn)行訓(xùn)練;而本文的關(guān)系自適應(yīng)模型能夠適應(yīng)此場景,能夠?qū)⑾闰?yàn)信息和不同關(guān)系的共性信息遷移到目標(biāo)關(guān)系上,提升目標(biāo)域關(guān)系的訓(xùn)練效果。
本文將數(shù)據(jù)量在100以上的關(guān)系分為3組,用任意兩組關(guān)系數(shù)據(jù)作為源域關(guān)系進(jìn)行預(yù)訓(xùn)練,剩下的一組關(guān)系作為目標(biāo)域關(guān)系中分別進(jìn)行模型微調(diào)。如圖4所示,本文將3次實(shí)驗(yàn)的目標(biāo)域關(guān)系結(jié)果進(jìn)行整合,single_model 是指模型在目標(biāo)域關(guān)系上從零開始訓(xùn)練,不使用先驗(yàn)的模型進(jìn)行微調(diào),fine_tune_model 是目標(biāo)域關(guān)系經(jīng)過源域關(guān)系模型微調(diào)之后的模型結(jié)果。圖4 中橫坐標(biāo)為目標(biāo)域關(guān)系,圖中的各個拐點(diǎn)表示不同關(guān)系的結(jié)果,縱坐標(biāo)為F1 值。從圖4 中可以看出幾乎所有的目標(biāo)域關(guān)系經(jīng)過微調(diào)的效果都比從零訓(xùn)練的F1值高,而且實(shí)驗(yàn)發(fā)現(xiàn),fine_tune_model 模型訓(xùn)練速度要快,能夠在很少的epoch 上達(dá)到驗(yàn)證集上的最好效果。結(jié)果不僅表明本文模型適應(yīng)目標(biāo)域關(guān)系加入的場景,而且能夠?qū)W習(xí)到不同關(guān)系之間以及實(shí)體與關(guān)系之間的交互信息,這些先驗(yàn)的交互信息能夠幫助目標(biāo)域關(guān)系的訓(xùn)練和推斷。
圖4 目標(biāo)域關(guān)系微調(diào)結(jié)果Fig.4 Fine-tuning results of target domain relations
本文提出的基于關(guān)系自適應(yīng)解碼的實(shí)體關(guān)系聯(lián)合抽取模型,將抽取任務(wù)轉(zhuǎn)化為不同關(guān)系的實(shí)體對生成任務(wù),模型根據(jù)不同的關(guān)系自適應(yīng)輸出相應(yīng)的實(shí)體對。模型不僅能夠在解碼階段更加注重實(shí)體的生成,而且模型的參數(shù)共享能夠利用到不同關(guān)系之間的交互信息。本文模型可以在目標(biāo)域關(guān)系上遷移,能夠適用于動態(tài)關(guān)系抽取的需求。本文的模型也在各項(xiàng)實(shí)驗(yàn)中表現(xiàn)了出色的成績。
同時,本文的模型也具有非常大的潛力,關(guān)系嵌入可以看作模型的一個插件,我們的未來工作是能夠?qū)崿F(xiàn)終身學(xué)習(xí),在只訓(xùn)練插件的情況下實(shí)現(xiàn)實(shí)體關(guān)系的抽取。本文模型學(xué)習(xí)到的關(guān)系嵌入表示具有關(guān)系語義信息,此嵌入表示可以輔助其他任務(wù),例如知識圖譜關(guān)系預(yù)測等。