王朱君,王 石,李雪晴,朱俊武
(1.揚州大學信息工程學院,江蘇揚州 225000;2.中國科學院計算技術研究所,北京 100190)
(*通信作者電子郵箱wangshi@ict.ac.cn)
人們的社會活動以事件為驅(qū)動,事件是社會活動的載體。在自然語言處理中,事件作為一種信息表示形式顯得十分重要,受到越來越多的重視。事件中包含了大量的內(nèi)部組成結構(如參與者、時間、地點等)和外部關聯(lián)(如因果、共指、時序等語義關系)。對包含大量事件的文本進行因果關系的抽取可以實現(xiàn)對文本的更加深層次的理解。在航空安全[1]、醫(yī)學[2]等眾多領域中,因果關系抽取也發(fā)揮著重要的作用。圖靈獎獲得者Bengio 表示將因果關系集成到人工智能(Artificial Intelligence,AI)中是一件大事,了解因果關系可以使得現(xiàn)有的人工智能更加智能高效。Pearl等[3]講到如果沒有因果推理的能力,人工智能將從根本上受到限制。
因果關系一般可以組織為事理圖譜。事理圖譜是表示事件之間的順承、因果關系的有向圖[4]。圖中每個節(jié)點表示事件,而邊用來表示事件之間的因果關系。事理圖譜找出了事件的演化邏輯,從而形成大型的常識事理知識庫用來直接刻畫人類行為活動。很多的學者在因果關系抽取上得到了理想的結果[5-7]。
深度學習是機器學習領域如今最熱門的研究方向之一,它能夠模仿人類大腦的活動,使得模式識別很難解決的問題得到了合理的解決,使得自然語言處理(Natural Language Processing,NLP)相關技術取得了很大進步。近年來基于深度神經(jīng)網(wǎng)絡的因果關系抽取方法比較多,主要分為兩大類:一類是基于流水線方式;另一類是基于聯(lián)合抽取的方式。前者將抽取任務看作是實體識別和關系分類兩個子任務,后者則是利用聯(lián)合模型將因果關系三元組直接抽取出來。兩者各有利弊,但是目前還缺乏對整個領域開展深入的梳理和總結。本文對現(xiàn)有的基于深度學習的因果關系抽取方法進行了總結:首先,分別對因果關系抽取的基本概念和方法演變進行了簡要介紹,并對常用數(shù)據(jù)集進行了介紹;接著,對現(xiàn)有的基于深度學習的兩種主要框架分別進行了詳細介紹;最后,提出了未來的研究方向。
因果關系抽取是關系抽取中的一類任務。根據(jù)原因事件和結果事件是否在文本中同時出現(xiàn),將因果關系分為了隱式因果(文本中只出現(xiàn)了原因事件或結果事件)和顯式因果(文本中原因事件和結果事件同時出現(xiàn))。隱式因果關系抽取任務中缺失的原因事件或結果事件需要根據(jù)文本中的知識進行推理判斷。對于顯式因果關系,又可以根據(jù)原因事件和結果事件的對應關系,分為一對一(一件原因事件對應一件結果事件)、一對多(一件原因事件對應多件結果事件)、多對一(多件原因事件對應一件結果事件)、多對多(多件原因事件對應多件結果事件)[8]。
因果關系表示客觀事件間存在的一種普遍聯(lián)系。事件的因果關系主要由原因事件和結果事件兩個部分構成。因果關系抽取任務從描述事件信息的文本中抽取出原因事件和結果事件,并以結構化的形式將其呈現(xiàn)出來。一般可以將因果關系抽取分為兩個子任務:候選事件對的抽取和因果關系分類。候選事件對抽取需要對文本中的事件觸發(fā)詞和相關論元進行定位抽取;關系分類需要對候選事件對進行過濾,找出屬于因果關系的事件對,并確定原因事件和結果事件。
例如,文本“突然地降溫使得小明感冒,昨晚去醫(yī)院了”,事件檢測發(fā)現(xiàn)句子中有3 個事件分別為“降溫”“感冒”和“去醫(yī)院”,那么形成因果對(降溫,感冒)、(感冒,去醫(yī)院)和(降溫,去醫(yī)院);接著判斷事件對間是否存在因果關系,因此排除(降溫,去醫(yī)院),抽取出了(降溫,感冒)和(感冒,去醫(yī)院)的因果關系。
與傳統(tǒng)關系分類[9]不同的是,因果關系抽取的方法主要分為三種:基于模式匹配的方法、基于模式匹配與機器學習組合的方法和基于深度學習的方法。
1.2.1 基于模式匹配的方法
基于模式的方法利用語義特征、詞匯符號特征和自構約束通過模式匹配進行因果關系的提取。Khoo 等[10]利用語言線索和模式匹配從華爾街日報中提取因果知識;Khoo 等[11]在醫(yī)學領域使用圖形模式從醫(yī)療數(shù)據(jù)庫中提取因果知識;Girju等[12]使用句法模式提取因果關系,然后使用語義約束將候選對分類為因果對或非因果對;Ittoo等[13]提出一種基于詞性、句法分析和因果模板的因果對提取方法。完全依賴于模式匹配規(guī)則的方法通??缬蜻m應性差,在解決特定領域的問題時可能需要廣泛的領域知識。
1.2.2 基于模式和機器學習相結合的方法
基于模式和機器學習技術相結合的方法主要以流水線的方式解決因果關系的抽取任務,將因果關系抽取分為兩個子任務,候選因果對提取和關系分類。首先根據(jù)模板或一些線索詞提取可能具有因果關系的候選事件對,然后根據(jù)語義特征和語法特征對候選因果對進行分類篩選出因果對。Girju等[14]使用基于因果關系的約束觸發(fā)詞來提取英語文本中的因果關系;Luo 等[15]從大規(guī)模網(wǎng)絡文本語料庫中提取因果關系術語,然后基于點態(tài)相互信息的統(tǒng)計度量使用因果線索來度量網(wǎng)絡文本語料之間的因果強度。
1.2.3 基于深度學習的方法
由于深度神經(jīng)網(wǎng)絡具有強大的表征學習能力,可以強有力地捕捉隱含的和模棱兩可的因果關系,因此近年來采用深度學習技術提取因果關系已成為一種流行選擇。De Silva等[16]使用卷積神經(jīng)網(wǎng)絡(Convolution Neural Network,CNN)對文本中的因果關系進行分類;Kruengkrai 等[17]選擇使用CNN從嘈雜的文本中提取背景知識來分類常識性的因果關系;Li等[18]提出了一種面向知識的CNN,它結合了詞匯知識庫中的先驗知識進行因果關系分類;Dasgupta 等[19]還通過基于長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡的深層模型,從語言的角度確定了文本中因果關系的語言表達。
基于深度學習的因果關系抽取所使用的數(shù)據(jù)集有ACE 2005數(shù)據(jù)集[20]、SemEval 2010 task 8數(shù)據(jù)集[21]等。
ACE 由美國國家標準和技術學會(National Institute of Standards and Technology,NIST)、中央情報局(Central Intelligence Agency,CIA)和國家安全 局(National Security Agency,NSA)主管,該會議的主要關注點并非是會議本身而是信息與關系抽取的評測。隨著會議影響力的不斷提升,語料數(shù)據(jù)得到了豐富的擴展。該會議提供已經(jīng)標注好的多種類型實體、關系和事件的語料數(shù)據(jù)集,主要用于事件和關系的抽取任務中。SemEval 2010 task 8數(shù)據(jù)集[21]共包含8 000條訓練數(shù)據(jù)和2 717 條測試數(shù)據(jù)。共有如下10 種關系:實體-起源(Entity-Origin)、實體-目的地(Entity-Destination)、原因-結果(Cause-Effect)、成員-集合(Member-Collection)、信息-主題(Message-Topic)、產(chǎn)品-生產(chǎn)者(Product-Producer)、部分-整體(Component-Whole)、儀器-代理商(Instrument-Agency)、內(nèi)容-容器(Content-Container)和其他(Other),其中訓練集和測試集中包含的因果關系文本分別占比12.54%和12.07%。
因果關系抽取是自然語言處理(NLP)的重要任務,當前主要有兩類框架來完成此任務:一種是流水線方法,一種是聯(lián)合抽取方法。流水線方法中,因果關系抽取任務被劃分為兩個步驟:確定句子中的事件觸發(fā)詞及相關論元,根據(jù)觸發(fā)詞構造候選事件對并進行因果關系判別。這兩個步驟分別定義為兩個相關的任務:事件檢測(Event Detection,ED)和關系分類(Relation Classification,RC)。如果只需要對已標注事件對進行分類,則因果關系抽取可以簡化為因果關系分類,聯(lián)合抽取模型則是將兩個子任務統(tǒng)一構建成一個模型,在建模時進一步利用兩個任務間的潛在關聯(lián),緩解錯誤傳播問題。
事件檢測任務是自然語言處理中信息獲取的一個常見任務,從非結構化的信息中抽取出事件觸發(fā)詞和相關角色的觸發(fā)詞論元;關系分類任務則是依據(jù)標注好的語料進行事件對間的相關類型判別。下面是對當前主流的事件檢測任務和關系分類任務模型的詳細介紹。
2.1.1 基于神經(jīng)網(wǎng)絡的事件檢測模型
事件檢測的主要工作是識別語料中的事件觸發(fā)詞和相關論元。CNN 通過捕捉句子中重要特征從而獲得句子表示,傳統(tǒng)的CNN 模型在池化操作后獲得的向量表示會錯過有價值線索。為了解決這一問題,Chen 等[22]提出了動態(tài)多池卷積神經(jīng)網(wǎng)絡(Dynamic Multi-pooling Convolutional Neural Network,DMCNN)來提取句子級特征,如圖1 所示。DMCNN 使用一個動態(tài)的多池層來獲取句子各部分的最大值,句子表示的各部分依據(jù)事件的觸發(fā)詞和論元進行分割。與傳統(tǒng)CNN 模型相比,DMCNN 無需借助NLP 工具的幫助,能夠捕獲更多有價值的特征。但DMCNN 模型中的語料需要預先標記好觸發(fā)詞和相關論元,可以將其簡單地理解成對觸發(fā)詞和論元之間的角色進行分類。
圖1 基于卷積神經(jīng)網(wǎng)絡的事件抽取框架Fig.1 Event extraction framework based on convolutional neural network
大量研究希望通過使用循環(huán)神經(jīng)網(wǎng)絡進行事件觸發(fā)詞的抽取,但起初只關注單一的事件觸發(fā)詞提及。Ghaeini 等[23]使用雙向循環(huán)神經(jīng)網(wǎng)絡(Bi-directional Recurrent Neural Network,Bi-RNN)來檢測可以是單詞或短語的事件,這是對多字事件抽取的首次嘗試,也是第一次嘗試使用雙向循神經(jīng)網(wǎng)絡進行事件檢測。為了在上下文中對單詞語義進行編碼,擺脫特定于語言的知識和已有的自然語言處理工具,F(xiàn)eng 等[24]提出了一種混合神經(jīng)網(wǎng)絡(Hybrid Neural Network,HNN),如圖2 所示。該模型同時使用了LSTM 和CNN 來訓練每個字的特征,并將其拼接作為字的表示,同時傳入到Softmax 層進行事件觸發(fā)詞的預測。實驗結果最終證明了雙向長短期記憶(Bidirectional Long Short-Term Memory,BiLSTM)網(wǎng)絡在遠距離捕獲前后上下文時,對觸發(fā)器提取非常有效。
圖2 HNN模型Fig.2 HNN model
然而研究者考慮到句子的局部上下文不足以解決特定事件類型識別中的歧義問題,Duan 等[25]提出了一種新的文檔級遞歸神經(jīng)網(wǎng)絡(Document Level Recurrent Neural Network,DLRNN)模型,該模型可以在不設計復雜推理規(guī)則的情況下自動提取跨句線索,提高句子級事件檢測的效率。Zhao 等[26]引入文檔特征來豐富詞的信息,加入到原本的事件檢測任務中,通過設計注意力機制,從單詞和句子兩個層次學習文檔的分布式表示。為了提高事件抽取的效率,Yang 等[27]首次指出事件抽取模型中的角色存在重疊問題,提出的一種基于預訓練語言模型的事件抽取器將事件抽取分為兩個階段,包括觸發(fā)器提取和論元提取,實驗性能超過了大多數(shù)抽取方法。
2.1.2 基于神經(jīng)網(wǎng)絡的關系分類模型
在流水線方式的因果關系抽取中,關系分類任務使用事件檢測階段標注出的語料,對已標記事件的語料進行因果關系的判別。當前對因果關系抽取的研究相對較少,因果關系分類是特殊的關系分類,關系分類的主要任務是抽取出語料中實體對間存在的關系,與因果關系抽取事件間的關系的任務比較類似。
卷積網(wǎng)絡在文本分類或自然語言處理中的應用已有文獻進行了探索[28]。研究表明,卷積網(wǎng)絡可以直接應用于語料的分布式表示,而不需要對文本的句法或語義結構有任何了解。Liu 等[29]將關系抽取任務分為了實體抽取和關系分類兩個部分串行處理,提出了一種結合詞匯特征的卷積網(wǎng)絡,采用同義詞詞典對輸入詞進行編碼,將語義知識集成到了神經(jīng)網(wǎng)絡中,克服了詞嵌入忽略詞匯之間的語義關系的缺陷,但是該卷積模型的結構比較簡單,且沒有設置池化層,受噪聲影響比較明顯。Zeng 等[30]首次提出使用位置特征(Position Feature,PF)來編碼到目標詞的相對距離,用卷積神經(jīng)網(wǎng)絡提取詞匯和句子級的特征,將所有的單詞標注作為輸入(無預處理操作)。通過詞嵌入將單詞標記轉(zhuǎn)換為向量,根據(jù)給定的詞提取出詞匯級別的特征,同時使用卷積神經(jīng)網(wǎng)絡學習句子級特征。連接兩個層次的特征輸入到Softmax 分類器預測兩個標記實體的關系。實驗結果證明了位置特征在關系抽取中的有效性。
往往輸入文本序列的含義與單詞的順序是有聯(lián)系的,因此使用循環(huán)神經(jīng)網(wǎng)絡來進行因果關系的抽取也是可行的?;谘h(huán)神經(jīng)網(wǎng)絡的關系抽取使用不同的循環(huán)神經(jīng)網(wǎng)絡模型獲取文本的信息,進后對每個時序的隱藏狀態(tài)進行組合,從而獲得句子級的特征。在因果關系的抽取任務中,對于每一個時序的輸入,模型通常只在序列的最后得到關系的標記特征。Zhang 等[31]首次利用循環(huán)神經(jīng)網(wǎng)絡來進行關系的抽取,提出了雙向循環(huán)神經(jīng)網(wǎng)絡模型,如圖3 所示,模型包含3 個組成部分:1)單詞嵌入層,將句子中的每個單詞映射成低維的詞向量;2)雙向遞歸層,對單詞序列進行建模并生成詞級特征(表示);3)一種最大池化層,通過在每個維度的所有單詞級特征中選擇最大值,將每個時間步(每個單詞)的單詞級特征合并成句子級特征向量。最后利用句子級特征向量進行關系分類。雙向循環(huán)神經(jīng)網(wǎng)絡模型中的每一時刻的輸出向量不僅依賴于序列中當前時刻之前的輸入,也依賴于后續(xù)時間的輸入。文中使用更加簡單的位置指示器(Position Indicator,PI)取代了位置特征。在不使用任何詞匯特征的情況下,結合位置指示器的雙向循環(huán)神經(jīng)網(wǎng)絡模型與使用外部信息WordNet 的Zeng 提出的模型具有相似的性能效果,并證明了詞嵌入的維度可以很明顯影響F 值。Hou 等[32]也使用雙向循環(huán)神經(jīng)網(wǎng)絡模型進行關系抽取,將輸入窗口設置到了兩個實體的前后固定長度的文本序列,并根據(jù)距離遠近賦予單詞不同的權重。
圖3 基于循環(huán)神經(jīng)網(wǎng)絡的關系抽取框架Fig.3 Relation extraction framework based on recurrent neural network
循環(huán)神經(jīng)網(wǎng)絡模型隨著時間會出現(xiàn)權重指數(shù)級爆炸或消失的問題,難以捕捉長期時間關聯(lián),而LSTM 可以很好解決這個問題。Xu 等[33]首次將LSTM 模型用于關系抽取任務,證明了LSTM 結合最短依存路徑能夠有效提取句子級別的關系。Zhang 等[34]在此之上提出了使用雙向循環(huán)神經(jīng)網(wǎng)絡模型抽取句子雙向的隱藏狀態(tài)輸出。Zhou 等[35]在BiLSTM 的基礎上增加了注意力機制[36],提出了Att-BiLSTM模型。
研究證明利用深度神經(jīng)網(wǎng)絡從句子中學習句法語義特征是有效的,但是不可避免地存在信息冗余。Xiao 等[37]使用多級循環(huán)神經(jīng)網(wǎng)絡,并將注意力機制引入其中,選擇性地關注句子中的有用信息。根據(jù)標記的實體標記的位置將語料分成了5 個部分,分別傳輸?shù)紹iLSTM-Attention 層學習特征表示,之后傳輸進雙向循環(huán)神經(jīng)網(wǎng)絡(Bi-RNN)層進行3個表示的語義組合,最終Softmax 層進行分類操作。類似的,Chen 等[38]提出了一個多通道框架,根據(jù)兩個實體將句子分為多個通道,每個通道都用層次神經(jīng)網(wǎng)絡進行處理。這些通道在循環(huán)傳播期間不相互作用,這使得神經(jīng)網(wǎng)絡能夠?qū)W習不同的表示。為了能夠更好地抽取語料特征,研究人員將循環(huán)神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡、圖神經(jīng)網(wǎng)絡(Graph Neural Network,GNN)等與機器學習的相關方法進行組合,建模語言模型進行因果關系抽取。Huang 等[39]首次將BiLSTM-CRF 模型應用于NLP 基準序列標記數(shù)據(jù)集,其中條件隨機場(Conditional Random Field,CRF)[40]使用句子級的標記信息,帶來了較高的精度。條件隨機場如圖4 所示,是一種標注算法,輸入一段序列后輸出目標序列,在NLP 的標注任務中,輸入序列為一段文本,輸出相應的標記序列。由于選擇使用雙向LSTM 組件,該模型可以同時使用過去和將來的輸入特性。此外,由于CRF 層的存在,該模型可以使用句子級的標簽信息。
圖4 BiLSTM-CRF模型Fig.4 BiLSTM-CRF model
圖神經(jīng)網(wǎng)絡(GNN)大多只能處理預定義圖上的多跳關系推理,而無法直接應用于自然語言處理。Zhang 等[41]通過編碼依賴樹將GNN 應用于關系提取,通過使用依存樹對長距離關系進行捕捉。針對關系抽取使用了一種圖卷積網(wǎng)絡,它能有效地并行存儲任意依賴結構的信息,保留兩個可能存在關系的實體之間的最短路徑中的詞作為輸入樹。Zhu 等[42]提出了一種新的帶生成參數(shù)的圖神經(jīng)網(wǎng)絡模型,稱為GPGNNs(Graph Neural Network with Generated Parameters),該模型首先根據(jù)語料中的實體構造全連接圖,然后采用編碼模塊、傳播模塊、分類模塊對關系進行推理。
流水線方法首先分別抽取事件觸發(fā)詞和相關論元,再判斷觸發(fā)詞間因果關系,模型靈活性高,事件抽取模型和關系分類模型可以使用獨立的數(shù)據(jù)集,并不需要同時標注實體和關系的數(shù)據(jù)集。但是流水線方式中事件抽取的錯誤會直接影響下一步的關系分類的性能,另外對抽取的事件進行兩兩配對,然后再進行關系分類帶來冗余信息,造成錯誤率提高、計算復雜度提高。此外,流水線方式獨立進行兩項任務,忽略了兩個任務的內(nèi)在的關聯(lián)。
聯(lián)合抽取模型簡單講就是用一個模型將兩個子任務統(tǒng)一建模,利用兩個任務之間的潛在聯(lián)系來緩解錯誤傳播的問題?,F(xiàn)有聯(lián)合抽取模型總體上有兩大類:一類是以共享參數(shù),即共享輸入特征和內(nèi)部隱藏狀態(tài),從而實現(xiàn)聯(lián)合抽取,此類方法仍然使用獨立的解碼算法,因此兩個任務之間的交互不強;另一類為了加強兩個子任務的交互,采用標注策略。
2.2.1 基于參數(shù)共享的聯(lián)合抽取模型
Zheng 等[43]采用聯(lián)合學習框架進行命名實體識別和關系分類,提出混合神經(jīng)網(wǎng)絡模型來提取實體和它們之間的關系,而不需要任何手工制作的特征。Zheng等的模型如圖5所示,包含1 個用于實體提取的雙向編碼器-解碼器LSTM 模塊和1個用于關系分類的CNN 模塊。在BiLSTM 中獲得的實體上下文信息進一步傳遞給CNN 模塊,以改進關系分類。與傳統(tǒng)的流水線方法相比,該模型不僅考慮了命名實體識別(Named Entity Recognition,NER)模塊和關系分類模塊的相關性,而且考慮了實體標簽之間的長距離關系,不需要復雜的特征工程。
圖5 基于參數(shù)共享的聯(lián)合抽取模型Fig.5 Joint extraction model based on parameter sharing
訓練語料中的關系往往是復雜的,不同的關系三元組在句子中會存在重疊的情況。Zeng根據(jù)三元組的重疊情況將句子分為三類,包括正常(Normal)、實體對重疊(EntityPairOverlap)和單個實體重疊(SingleEntityOverlap)。此前的方法主要集中在Normal 這一類別上,無法精確地提取關系三元組。Zeng等[44]提出了一種基于復制機制的端到端學習模型聯(lián)合提取關系事實。在解碼過程中采用了兩種不同的策略:使用一個聯(lián)合解碼器或應用多個分離解碼器。該結構使用雙向RNN 對語料進行編碼,然后使用解碼器預測關系并從源句中復制實體從而實現(xiàn)三元組的抽取。解碼的工作流程分為3步:1)預測關系;2)復制一個實體;3)復制第二個實體。
解碼器重復上述過程,可以生成多個三元組,直到所有有效的三元組生成,解碼器將生成NA 三元組,這意味著“停止”,從而解決了重疊實體和重疊關系的問題。復制機制結合神經(jīng)網(wǎng)絡成功解決了關系抽取中的實體和關系重疊問題,但是模型仍然存在缺陷,實體抽取只針對單個單詞,若是實體是由多個單詞組成的,則無法進行關系抽取。
為了解決多詞實體的抽取問題,以及針對關系抽取的重疊問題,Pang 等[45]提出了一種基于序列到序列學習的深層神經(jīng)網(wǎng)絡模型,即混合雙指針(Hybrid Dual Pointer,HDP)網(wǎng)絡。如圖6 所示,HDP 通過生成混合雙指針序列從給定的句子中提取多對三元組,能夠在重疊問題下聯(lián)合提取多對三元組,打破了多詞實體無法被提取的限制。將多對關系三元組的聯(lián)合提取問題轉(zhuǎn)化為序列生成問題,將實體和關系串行關聯(lián),實現(xiàn)了對關系三元組的聯(lián)合解碼。HDP模型使用序列到序列的學習機制,包括編碼語義表示向量的編碼器和生成多對三元組的解碼器。特別地,對于每個三元組,采用混合雙指針網(wǎng)絡來聯(lián)合提取一對實體及其關系。在混合雙指針網(wǎng)絡中,有一個雙指針預測器和一個關系預測器。雙指針預測器用于提取實體提及,包括單詞實體和多詞實體。關系預測器用于預測兩個實體之間的語義關系,其中關系來自預定義的關系集。受實體提及是從句子的某一特定位置開始并具有連續(xù)跨度的啟發(fā),模型利用雙指針提取實體來預測實體的位置,減少了信息冗余。模型分別使用BiLSTM 和Transformer 兩種編碼器進行對比實驗,最終的結果證實Transformer效果更佳。
圖6 HDP模型Fig.6 HDP model
實體信息是學習實體對之間關系的重要信息,當實體包含多個單詞時,單個詞不能覆蓋實體的全部語義信息,可能導致關系類型提取錯誤。此外端到端模型大多是基于一個帶注意的遞歸神經(jīng)網(wǎng)絡(RNN)。在關系抽取中,RNN 必須在多個時間步長上累積才能連接兩個實體。當兩個實體之間的距離太遠時,RNN 很難學習它們之間的相關性,這可能會影響關系提取。Bai 等[46]提出的具有雙指針模塊的端到端模型聯(lián)合提取整個實體和關系。雙指針模塊與多個解碼器組合以預測輸入語句中實體的起始和結束位置。在嵌入過程中,通過預訓練獲得輸入句子中每個單詞的嵌入。為了充分利用輸入句子中的位置信息,嵌入語句時加入了“位置編碼”[47]。為了有效地學習遠距離實體之間的相關性,編碼器選擇采用多層卷積和自注意力機制的組合,而不是雙向RNN。卷積捕獲文本的局部結構,而自注意力學習每對單詞之間的全局交互。在解碼器方面,采用了Zeng 等[44]提出的多譯碼器策略。每個解碼器都能產(chǎn)生一個三元組。在解碼過程中,引入了雙指針模塊,通過預測輸入語句的起始位置和結束位置,從輸入語句中復制出一個完整的實體。
2.2.2 基于標注方案的聯(lián)合抽取模型
最初的參數(shù)共享的聯(lián)合抽取方法還是存在兩個子任務,只是這兩個子任務之間通過參數(shù)共享有了交互,依然會產(chǎn)生沒有關系的實體對這種冗余信息。為了減少冗余信息,提高抽取效率,減少運算量,Zheng 等[48]提出了一種新的標簽方案,可以將聯(lián)合抽取任務轉(zhuǎn)化為標簽問題,如圖7 所示。Zheng 方案研究了基于LSTM 的不同的端到端模型來直接提取實體及其關系,以聯(lián)合提取實體和關系,而不需要分別識別實體和關系。此外還修改了解碼方法,增加了一個有偏的損失,使得該模型更適合針對關系抽取所提出的標簽?;谏窠?jīng)網(wǎng)絡的端到端的模型被廣泛應用于序列標注任務中,Zheng針對關系抽取研究了一個端到端的模型,包含了雙向LSTM層、基于LSTM的編碼層和基于LSTM的解碼層。
圖7 具有偏置目標函數(shù)的端到端模型Fig.7 End-to-end model with biased objective function
Zheng等第一次將關系抽取任務轉(zhuǎn)變成標記任務,但是該方案無法解決關系的重疊。Dai 等[49]提出了一種新穎的統(tǒng)一聯(lián)合提取模型,如圖8 所示。該模型根據(jù)查詢詞位置P標記實體和關系標簽,即設定一個位置P,然后在P處檢測實體,并識別與P處實體有關系的其他位置的實體。為了實現(xiàn)這種模式,文中還提出了一種標記方案,為n個單詞的句子生成n個標記序列。然后引入位置注意機制為每個查詢位置生成不同的句子表示,以對這n個標簽序列進行建模。該模型可以同時提取實體及其類型以及所有重疊關系。對于查詢詞P,建立一個長度為n的標簽序列來表示與P處的實體相對應的所有可能的重疊關系。如果P在實體的開始處,則在P處標記該實體類型;對于其他的位置,如果它們與P處的實體具有關系,則在其余的單詞上標記關系類型,此標記方案可以對所有實體和重疊關系進行注釋。模型使用詞嵌入和基于字符的嵌入的組合,將其輸入Bi-LSTM 網(wǎng)絡中,結合位置注意力后傳到CRF層進行標注任務。
圖8 P標簽方案Fig.8 P tagging scheme
現(xiàn)有語料庫數(shù)據(jù)不足,很難構造出一個沒有先驗知識的高級深度學習模型。因果關系之間的實體距離有時也相距甚遠,因果三元組中的長程依賴關系給深層學習模型帶來了困難和模糊。為了準確地提取出因果三元組,Li 等[50]提出了一種以BiLSTM-CRF 模型為骨干的因果關系抽取器SCIFI(Self-Attentive BiLSTM-CRF wIth FlaIr Embeddings),如圖9 所示。模型使用一種新的因果關系標注方案直接抽取因果關系,使用“BIO”標注和“C,E,Emb”標簽來表示詞的位置信息和因果事件中的語義角色,而不需要提取候選因果對并分別識別它們之間的關系。為了解決數(shù)據(jù)不足的問題,將上下文字符串嵌入應用到了到因果關系抽取任務中。為了捕獲特定任務的字符特征,采用單層CNN 結構與最大池化操作來學習字符級表示。通過雙向的LSTM 進行特征抽取。之后經(jīng)過多頭自注意力層(Multi-Head Self-Attention,MHSA)學習給定句子中因果關系的依存關系,最終傳入到CRF 層進行實體的標注進行因果關系的實體對的抽取。
圖9 SCIFI因果關系抽取器Fig.9 SCIFI causality extractor
基于聯(lián)合抽取的信息抽取模型將抽取任務簡化成了分類和標注兩種模型。分類任務利用底層知識的共享,將抽取的特征同時用來識別事件和候選事件對之間的因果關系,而基于標注的方案將在標記的設計中同時將事件類型和相關關系進行了聯(lián)合標注,減少了模型中的冗余信息,對實驗結果的提升起到了很大的幫助。
在基于深度學習的關系抽取任務的早期,序列結構作為輸入是卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡是主要的做法。近年來,隨著研究的深入,圖神經(jīng)網(wǎng)絡、指針網(wǎng)絡也逐漸被運用到了關系抽取的任務中。在NLP 任務中,卷積神經(jīng)網(wǎng)絡考慮了所有可能的短語組合,由于訓練過程中參數(shù)較少,效果優(yōu)異,成為在關系抽取領域模型構建中獲取句子特征表示時的常用模型。循環(huán)神經(jīng)網(wǎng)絡則是根據(jù)當前詞的上下文來獲得有效特征。通過兩種模型的組合在一定程度上提升抽取效果,注意力機制的加入也變成了關系抽取領域的常見做法。為了得到更好的句子的向量表示,神經(jīng)網(wǎng)絡模型的構建仍然要考慮反映自然語言處理方面的先驗知識,如n-gram特征、依存關系特征、單詞的上下文特征等各種特征。
基于流水線的關系抽取方法,將關系抽取分為了實體的抽取任務和關系分類任務。相較于流水線方式,聯(lián)合方法抽取使用一個模型,將兩個子模型統(tǒng)一建模。流水線方式籌建兩個模型,靈活性高,且對于實體抽取與關系分類模型,可以分別使用獨立的數(shù)據(jù)集。流水線方式存在3 個缺陷:1)誤差積累,實體抽取的誤差會影響到關系分類的準確度;2)信息冗余,在實體抽取過后,需要對實體兩兩配對并進行關系分類,對于不存在關系的候選實體會造成大量冗余信息,增加了計算復雜度,造成計算資源的浪費;3)交互缺失,流水線方式的關系抽取忽略了兩個子任務之間的內(nèi)在關聯(lián)性。聯(lián)合關系抽取增強了實體模型和關系模型之間的交互,主要分為兩大類:1)共享參數(shù)的聯(lián)合抽取;2)基于標注策略的聯(lián)合抽取。傳統(tǒng)的關系抽取任務使用召回率(Recall,R)、精確度(Precision,P)和F值來對模型的好壞進行評判。與傳統(tǒng)關系抽取模型評判標準一致,因果關系抽取任務同樣選擇這三個指標對模型進行評判,但往往高的召回率和高的精確度是互相矛盾的,因此F 值被用來作為評判標準更加可靠。針對本文介紹的基于流水線方式和聯(lián)合抽取方式構造的模型,表1與表2分別展示了模型的性能以及各實驗使用的數(shù)據(jù)集。
表1 基于流水線方式的模型關系抽取性能Tab.1 Performance of relation extraction models based on pipeline
表2 基于聯(lián)合抽取方式的模型關系抽取性能Tab.2 Performance of relation extraction models based on joint extraction
近年來,無論是基于流水線的方式,還是基于聯(lián)合抽取的方式,基于深度學習的因果關系抽取技術有很好的發(fā)展,在關系抽取的任務中獲得了較好的性能,然而在應用過程中還有很多的不足。
針對流水方法中的關系分類任務,首要的問題是降低計算復雜度,解決候選實體對中的冗余信息問題。對于聯(lián)合抽取可以利用兩個實體抽取與關系分類兩個任務之間的潛在關系,但是在聯(lián)合抽取任務中仍然需要加強實體模型與關系模型之間的交互能力,構建實體模型和關系模型的輸出之間的約束,提高聯(lián)合模型的性能。引入圖神經(jīng)網(wǎng)絡是一個很好的選擇,已經(jīng)有不少的研究[51-52]對此做了嘗試??缯Z言問題、領域自適應、不平衡數(shù)據(jù)集下的因果關系抽取等都是當前的研究方向。此外,跨句子、跨段落等更粗粒度的關系抽取也是未來的研究方向。
在使用標記方案進行因果關系的抽取中,由于標記只能對同一個實體進行一次標注,這使得一句話中出現(xiàn)多處因果關系,且某一關系中的原因事件是另一關系的結果事件這樣的例子無法被準確識別,已有研究在設計模型的標記方案時對于同一句話中存在兩個因果關系進行了解決,但是仍然無法解決超出兩個的關系的例句,這是未來需要突破的一大要點。參考現(xiàn)有的事件抽取模型[53]中的方法,對于句子進行層級標注是一個很好的方法。