王 紅,吳燕婷
(中國民航大學 計算機科學與技術學院,天津 300300)
知識圖譜(knowledge graph)是一種揭示實體之間關系的大規(guī)模語義網(wǎng)絡,能夠對現(xiàn)實事物之間的關系進行形式化的描述[1],被廣泛應用于智能推薦、問答系統(tǒng)等領域。實體關系抽取是構建知識圖譜的主要任務之一,早期人們采用流水線方法(piplined method)實現(xiàn)實體和關系的抽取,即先進行命名實體識別(named entity recognition,NER)[2-3],然后將識別出的實體兩兩組合再進行關系分類(relation classification,RC)[4-5],該方法使得每個模塊比較靈活并容易設計,但存在錯誤級聯(lián)、冗余信息等問題。而后發(fā)展到聯(lián)合抽取方法(joint extraction method),實體關系聯(lián)合抽取是指將命名實體識別和關系抽取融合成一個任務,進行聯(lián)合學習[6]。
目前實體關系聯(lián)合抽取方法主要分為兩大類:基于特征工程的方法[7-10]和基于深度學習的方法。其中基于特征工程的方法依賴人工定義特征模板,資源消耗巨大且效率低下。為了減少人為的參與,基于深度學習的實體關系聯(lián)合抽取方法成為研究熱點。基于深度學習的聯(lián)合抽取方法是從聯(lián)合編碼分別解碼的共享參數(shù)方式[11-12],到共同編解碼的序列標注方式[13]。陳佳灃等[14]則是在共同編解碼的聯(lián)合抽取模型中引入強化學習來對數(shù)據(jù)集進行降噪。然而均無法解決重疊關系三元組抽取問題,而重疊關系三元組大量存在于文本數(shù)據(jù)之中,導致前述方法對三元組的抽取效果不佳。針對重疊關系三元組抽取問題,近年來有采用圖結構的方式[15-16]或是采用基于復制機制的序列到序列方法[17]均取得了一定進展,但都是將關系視為實體對上的離散標簽,導致抽取效率不高且模型開銷大。近年WEI et al[18]提出的CasRel模型將關系建模為頭實體映射到尾實體的函數(shù),建立多關系的標注器,為解決重疊關系三元組抽取問題提供了新的模式。但該模型對頭實體信息只是簡單的計算平均值后與編碼特征結合,沒有深層的挖掘頭實體的位置和語義信息。綜上,現(xiàn)有的實體關系聯(lián)合抽取方法大多致力于抽取實體之間顯性的關系,這類方法雖然取得了顯著的效果,但忽略了實體之間潛在的隱性關系三元組的挖掘,在文獻[18]的啟發(fā)下,本文提出了頭實體增強的多跳簡單推理并結合注意力的權重決定最終跳數(shù)的模型Multi-Air,挖掘出實體間潛在的關系三元組,提升三元組抽取效率。
在民航突發(fā)事件知識圖譜構建中,王紅等[19]采用文本多分類方式實現(xiàn)民航突發(fā)事件領域本體關系的分類,主要研究了關系分類問題。之后,王紅等[20]采用雙向長短期記憶網(wǎng)絡(bidirectional long-short term memory,Bi-LSTM)結合條件隨機場(condition random fields,CRF)的方法實現(xiàn)自動化民航突發(fā)事件實體識別,主要研究實體抽取問題,沒有考慮實體關系的聯(lián)合抽取。這種先實體識別后關系分類的流水線模型存在實體識別的錯誤會傳遞到關系分類任務中,且在關系分類任務中一個實體對只能對應一種關系,無法解決民航突發(fā)事件數(shù)據(jù)集中重疊關系三元組問題和實體間多跳隱性關系三元組挖掘問題。故將提出的Multi-Air模型應用于民航突發(fā)事件數(shù)據(jù)集,解決該數(shù)據(jù)集中重疊三元組抽取難的問題,為構建領域知識圖譜提供更豐富的三元組知識。
門控循環(huán)單元(gated recurrent unit,GRU)由CHO et al[21]提出,是一種循環(huán)神經(jīng)網(wǎng)絡,具有處理不定長度序列的優(yōu)勢,雙向門控循環(huán)單元(bidirectional gated recurrent unit,Bi-GRU)能夠獲取序列上下文信息。為此,本文在實體關系聯(lián)合抽取模型的基礎上,提出了基于Bi-GRU的頭實體特征增強的多跳注意力隱性關系聯(lián)合挖掘模型Multi-Air,具體的貢獻包括:
1) 基于Bi-GRU的頭實體信息增強的實體關系聯(lián)合抽取模塊BG_CasRel,旨在多關系尾實體識別時充分利用頭實體信息。
2) 將抽取出的尾實體作為下一跳的頭實體進行下一跳尾實體預測,利用注意力機制動態(tài)進行多跳實體及關系預測,從而實現(xiàn)隱性關系三元組挖掘。
3) 將提出的模型Multi-Air應用于民航突發(fā)事件數(shù)據(jù)集中,解決數(shù)據(jù)集中重疊三元組和多跳隱性三元組抽取難的問題。
實體關系聯(lián)合抽取任務被定義為:給定輸入句子,預測出句子中存在的關系三元組(頭實體,關系,尾實體)。Multi-Air模型主要包括兩部分:
1) BG-CasRel模塊。首先使用BERT(bidirectional encoder representations from transformers)[22]模型對輸入句子進行特征編碼并通過Sigmoid函數(shù)預測出頭實體的位置,然后通過Bi-GRU對頭實體進行特征增強。在充分利用頭實體的深層信息后輸出多關系尾實體可能的位置。
2) 多跳注意力模塊。將上一跳的尾實體當作下一跳的頭實體進行2跳的實體及關系預測,通過循環(huán)迭代這一2跳過程,Multi-Air可以容易的將2跳擴展至多跳。具體地,通過多跳注意力模塊學習各跳的實體重要性權重,然后選擇權重最大的多跳尾實體及相應路徑關系表征作為關系三元組的最終抽取結果。如圖1所示。
圖1 多跳注意力隱式關系挖掘模型圖Fig.1 Multi-hop attention implicit relations joint mining model
BG-CasRel模塊是由文獻[18]中傳統(tǒng)CasRel模型改進而來,其目標是識別出輸入句子所包含的三元組,如圖2中輸入的句子,得到3個頭實體[梅帕蒂航空公司,DHC6飛機,撞山]。[DHC6飛機]頭實體存在對應“所屬航司”這個關系的尾實體[梅帕蒂航空公司]和關系“事件結果”的尾實體[撞山],而[梅帕蒂航空公司]和[撞山]這兩個頭實體則沒有對應任一關系的尾實體,最后得到的結果是兩個三元組{DHC6飛機,所屬航司,梅帕蒂航空公司}和{DHC6飛機,事件結果,撞山}。模型總體結構如圖2所示,主要包括四個部分:
圖2 BG-CasRel實體關系聯(lián)合抽取模塊Fig.2 BG-CasRel joint entity and relation extraction model
1) 編碼層。采用BERT,一種利用大量外部資源獲取淺層特征的預訓練語言模型對輸入句子進行編碼,提取句子特征信息。
2) 頭實體標注層。根據(jù)上層編碼信息,輸出句子中所有頭實體的開始和結束位置。
3) 頭實體特征增強層。將經(jīng)過BERT編碼后的頭實體通過Bi-GRU層進行深層特征提取,并將其與BERT編碼特征融合。
4) 尾實體迭代標注層。利用上層交互信息,采用Sigmoid函數(shù)輸出頭實體對應的多關系的尾實體開始和結束位置。
1.1.1編碼層
采用BERT模型將輸入的句子X進行編碼,獲取句子的特征信息H,并將此輸入頭實體標注層模塊。該編碼模塊獲取到的句子隱藏特征信息與頭實體識別、多關系尾實體識別息息相關。如式(1)所示:
hi=Bert(xi) .
(1)
式中:xi代表句子中第i個字符的輸入向量,hi為xi經(jīng)過BERT編碼后的特征向量。{x1,x2,…,xn}∈X,{h1,h2,…,hn}∈H.
1.1.2頭實體標注層
將編碼層的輸出特征信息H作為頭實體標注層的輸入,利用兩個相同的二進制分類器去為句子中的每個單詞分配一個二進制(0/1)標志,該標記代表當前標記是否對應于頭實體的開始或結束位置。當句子中存在多個頭實體時會有多個二進制標注,同時輸出多個頭實體對應的開始和結束位置,采用的是最近首尾標志匹配原則來獲得頭實體跨度范圍。頭實體分類器如計算公式(2)和(3)所示:
(2)
(3)
1.1.3頭實體特征增強層
在頭實體涉及重疊關系三元組的情況下,由于上層頭實體標注模塊識別出的頭實體信息與下層不同關系尾實體的識別之間存在較強的關聯(lián),因此,充分利用頭實體信息去進行不同關系的尾實體識別,可以挖掘出更多更準確的關于此頭實體的重疊關系三元組。
GRU相對于其他的循環(huán)神經(jīng)網(wǎng)絡來說具有計算量較小、收斂速度較快的優(yōu)勢,對處理實體類別多樣、可能存在復合實體或混合實體所導致的實體長度不一的情況非常友好,因此GRU循環(huán)神經(jīng)網(wǎng)絡能夠對不同長度的頭實體進行深層信息提取。GRU單元結構如圖3所示。
圖3 GRU內(nèi)部單元結構Fig.3 Internal structure of GRU
GRU由更新門zt和重置門rt構成,zt決定上一狀態(tài)信息的多少能夠參與到當前狀態(tài),rt決定丟棄上一狀態(tài)信息的多少。計算公式見式(4)-式(7):
(4)
(5)
(6)
(7)
由于GRU只能捕獲正向語義信息,忽視了反向信息的獲取,為了彌補GRU的不足,進而采用Bi-GRU對頭實體進行特征增強,Bi-GRU網(wǎng)絡結構如圖4所示。
圖4 Bi-GRU模型框架Fig.4 Framework of Bi-GRU model
(8)
1.1.4尾實體迭代標注層
尾實體迭代標注層和頭實體標注層采用相同結構的二進制分類器,但由于頭實體可能存在多個對應關系的尾實體,所以對任一關系都有相應的尾實體分類器去分別識別這一關系中頭實體對應的尾實體的開始和結束位置。故將上層提取頭實體的上下文語義信息與BERT特征層信息進行加和,使解碼時更加關注到頭實體特征信息,從而更好地指引不同關系尾實體的識別。若句中含有多個頭實體,則將每個頭實體迭代進行多關系尾實體的解碼。計算公式見式(9)和式(10):
(9)
(10)
注意力機制(attention)最早應用于圖像領域,注意力權重大小可以理解為所關注點對任務的重要程度,在自然語言處理領域中使用注意力對單詞或是字符計算權重大小也代表著其對任務的影響程度。通過BG_CasRel模塊得到上一跳的尾實體后,將其作為下一跳的頭實體迭代進行多跳實體預測,Multi-Air模型采用注意力機制對多跳尾實體的重要性進行學習。具體地,首先計算每一跳尾實體與最終尾實體之間的相似度分數(shù),然后通過Softmax函數(shù)計算各個多跳尾實體的相似度權重,具體計算如式(11)-式(12)所示:
(11)
(12)
模型選擇最大的注意力權重對應的尾實體作為最終預測的多跳尾實體,選擇頭實體到該多跳尾實體之間的關系路徑表征作為最終預測的多跳關系。
將頭實體標注層的損失與多跳尾實體的損失相加作為總體模型的損失,具體采用交叉熵損失函數(shù),如式(13)所示。
(13)
1.4.1實驗數(shù)據(jù)與參數(shù)設置
為驗證模型的有效性,采用遠程監(jiān)督學習生成的公共數(shù)據(jù)集NYT(New York times)[23]進行實驗。NYT數(shù)據(jù)集一共包含24種不同預定義關系類型,采用56 195條句子進行訓練,5 000條句子進行驗證和5 000條句子用于測試。數(shù)據(jù)集中包含不同重疊程度三元組劃分的句子,具體統(tǒng)計情況見表1所示。
表1 NYT不同類型重疊三元組統(tǒng)計情況Table 1 Statistics of different types of overlapping triple in NYT
模型運行在Ubuntu16.04版本的操作系統(tǒng)上,基于python3.7版編碼語言,訓練過程中采用早停機制防止模型過擬合,并用Adam優(yōu)化器加快模型收斂速度。設置Batch size大小為6,學習率為1×10-5,輸入句子最大序列長度為300,隱藏層向量維度為768,設置最大的Epoch為100,丟失率為0.5,迭代跳數(shù)hop取2,此時實驗結果得到最優(yōu)。
1.4.2評價指標與實驗結果
采用準確率(P)、召回率(R)、F1值作為實驗結果的評價指標,如式(14)-式(16)所示:
(14)
(15)
(16)
式中:PT代表預測正確的三元組數(shù)量,PF為預測錯的三元組數(shù)量,NF代表實際存在但沒能預測出的三元組數(shù)。P代表預測正確的三元組在預測總的三元組的占比,R代表預測正確的三元組在實際存在三元組的占比,F(xiàn)1是衡量兩者的綜合效果?;趯嶓w粒度劃分不一的原因,故采用部分匹配的方式定義預測正確三元組,預測出三元組中正確的關系和頭尾實體的開始位置即視為預測正確三元組。
在對比模型的選取上,采用近幾年在重疊關系三元組抽取中4個較具有代表性的模型,分別是NovelTagging[13]、GraphRel[16]、CopyR-RL[17]、CasRel[18],實驗結果對比如表2所示。
表2 NYT數(shù)據(jù)集各模型實驗結果Table 2 Experimental results of different models in NYT dataset %
從實驗結果可以看到Multi-Air模型相較于其他模型在3個指標上都有不同程度的提升,說明引入頭實體的深層特征信息和采用多跳注意力挖掘隱性關系能夠提高對三元組的抽取效率。基于準確率與召回率提升的幅度不一致的情況,為了進一步驗證頭實體特征增強模塊與多跳注意力模塊對模型總體性能的影響,進行了模塊對比實驗,如表3所示。
表3 Multi-air在NYT數(shù)據(jù)集的消融實驗Table 3 Multi-air ablation experiment in NYT
通過分析表3可以發(fā)現(xiàn)采用頭實體特征增強模塊能夠進一步提升三元組抽取的準確率,而采用多跳注意力模塊能夠對模型的召回率有幫助,能夠挖掘出更多潛在的三元組。綜上,將兩者結合能夠使模型的抽取三元組效果達到最優(yōu)。
數(shù)據(jù)來源于中國民用航空安全信息系統(tǒng)[24]在國際事故調(diào)查跟蹤一欄中發(fā)布的事故調(diào)查報告文本,將1 000多個事件文本進行清洗并整合到一起,根據(jù)數(shù)據(jù)特點構建小型數(shù)據(jù)詞典后對數(shù)據(jù)進行句子級別劃分并分詞。自行標注2 036條數(shù)據(jù),涉及23種不同類型關系,其中1 628條用于訓練,408條用于測試。通過對數(shù)據(jù)的標注,發(fā)現(xiàn)數(shù)據(jù)中含有不同類型的重疊關系三元組,表4給出了民航突發(fā)事件重疊關系三元組示例(加粗字體為涉及多關系單實體或實體對)和2跳關系三元組示例(若是n跳則n個三元組迭代進行)。
表4 民航突發(fā)事件中三元組類型Table 4 Types of triples in civil aviation emergency
進一步對所含不同重疊類型三元組的標注句子進行統(tǒng)計,由于多跳類型三元組包含在重疊類別中,故不單獨統(tǒng)計(見表5),發(fā)現(xiàn)該數(shù)據(jù)集僅涉及少量的正常三元組和實體對重疊關系三元組,反而存在大量的單實體重疊關系三元組。該數(shù)據(jù)集重疊關系三元組的分布特點是由于事故報告的描述是針對航空器來展開的,相對于正常三元組占比較大的數(shù)據(jù)集更加適合用來驗證提出的聯(lián)合抽取模型對重疊三元組的抽取效果,而具有多跳關系的三元組通常包含在重疊三元組中,故模型對重疊三元組抽取效果也適用于驗證多跳關系三元組的挖掘效果。
表5 民航突發(fā)事件數(shù)據(jù)重疊三元組統(tǒng)計Table 5 Statistics on overlapping triples of civil aviation emergency data
選取目前實體關系聯(lián)合抽取主流模型CasRel與提出的Multi-Air模型進行對比,實驗結果如表6所示。實驗還對比了頭實體增強模塊與多跳注意力模塊對民航突發(fā)事件數(shù)據(jù)集抽取效果,進而說明提出的Multi-Air模型的有效性。從表6可知Multi-Air模型較CasRel模型在民航突發(fā)事件數(shù)據(jù)集的不同評價指標上均有顯著提升,其中召回率和F1值分別提升了7.6%和5.2%.該模型與基線模型分別在兩種數(shù)據(jù)集上效果提升差別較大,主要原因是兩種數(shù)據(jù)集中重疊關系三元組的數(shù)量占比不同,NYT數(shù)據(jù)集大部分是正常三元組而民航突發(fā)事件數(shù)據(jù)集中多半是單實體重疊關系三元組。故在民航突發(fā)事件數(shù)據(jù)集的表現(xiàn)也證明了采用Bi-GRU對先識別的頭實體進一步的特征提取能更加有效地指導重疊關系三元組中不同關系尾實體的識別,采用多跳注意力迭代方式能夠挖掘出更多的潛在關系三元組。
表6 民航突發(fā)事件數(shù)據(jù)集實驗結果Table 6 Experimental results of civil aviation emergency data set %
為了進一步說明兩種模型在民航突發(fā)事件數(shù)據(jù)集上表現(xiàn)的不同,選取部分抽取結果進行分析,抽取示例如表7所示。表7中兩種模型在抽取唯一結果的三元組時表現(xiàn)都很好,例如“所屬航司”對應的尾實體是明確的。但對于一些在不同場景下對應不同關系的三元組表現(xiàn)略有差異,如“事件原因”、“事件結果”這類型關系對應的尾實體往往因場景而定。正如示例1給出的[發(fā)動機停車]是事件的結束,后續(xù)沒有進一步事故的發(fā)生,故“事件結果”關系確實應為[發(fā)動機停車],該情況兩種模型表現(xiàn)都很好。但對于示例2中的[雙發(fā)失效]并不是事件的最終結果,飛機[墜毀]才是整個事件的結果。在此情況下CasRel模型表現(xiàn)欠佳,識別出錯誤的三元組(表7中加粗三元組標識),導致漏識別{圖154,事件原因,雙發(fā)失效}、{圖154,事件結果,墜毀}這兩個三元組,而Multi-Air模型由于加強了對頭實體特征的提取,并且使用多跳尾實體的識別方式,對潛在的事件“原因”導致事件“結果”進行挖掘,抽取出所對應的正確三元組,整體抽取效果更佳。
表7 不同模型在民航突發(fā)事件中的抽取結果Table 7 Extraction results of different models in civil aviation emergency
本文提出了一種多跳注意力隱性關系挖掘模型Multi-Air,通過在公共數(shù)據(jù)集上的實驗結果表明,對頭實體深層信息的充分利用和基于多跳注意力的簡單關系推理方式能夠進一步提升重疊三元組的抽取效率。將Multi-Air應用于民航突發(fā)事件數(shù)據(jù)集,實驗結果證明該模型較好地解決了民航突發(fā)事件數(shù)據(jù)集中重疊關系三元組抽取難和忽略實體間隱式關系特別是多跳關系的挖掘問題,為構建高質(zhì)量民航突發(fā)事件知識圖譜提供方法支撐,進而對未來民航突發(fā)事件推斷和預警預測提供幫助。但該模型在復合實體識別方面還存在粒度劃分不夠細的問題,未來的工作將進一步深入研究。