李華昱,畢經綸,閆 陽
中國石油大學(華東)計算機科學與技術學院,山東 青島266580
近年來,隨著互聯(lián)網技術的迅猛發(fā)展,互聯(lián)網上的信息量正以指數級別的速度進行增長,其中很大一部分信息是以半結構化、非結構化的形式存在的,很難快速地從中獲得有用的信息,因此自動化的信息抽取非常關鍵。信息抽取指的是利用計算機把文本、圖像、視頻等這些非結構化信息轉化為結構化信息的過程,事件抽取是信息抽取領域的一個具有挑戰(zhàn)性的任務。
事件抽取可分為限定域的事件抽取與開放域的事件抽取。其中限定域的事件抽取指的是在抽取之前,預先定義好目標事件的類別及每種事件類型包含的事件元素,因此針對某一特定領域,限定域的事件抽取更具有研究價值。
傳統(tǒng)的事件抽取研究一般采用基于模式匹配的方法和基于機器學習的方法,前者需要領域專家設計模板,并且可移植性差,后者則涉及復雜的特征工程。隨著深度學習理論技術的快速發(fā)展,基于深度學習的方法成為了現(xiàn)在的主流方法。本文重點對基于深度學習的方法進行介紹?;谏疃葘W習的方法往往需要大量的訓練語料,但是現(xiàn)在事件抽取的數據集往往面臨訓練數據缺乏的問題,因此本文對少樣本條件下的事件抽取關鍵任務進行歸納總結。中文事件抽取因為中文的語言特性問題,面臨較大挑戰(zhàn),因此需要針對中文語言特性進行深入研究。
事件是發(fā)生在某個特定時間點或時間段、某個特定地域范圍內,由一個或者多個角色參與的一個或者多個動作組成的事情或者狀態(tài)的改變。根據ACE(automatic content extraction)的評測標準定義,事件是由觸發(fā)詞、事件類型、事件元素及元素角色四個部分組成的。因此事件抽取可以分解為以下四個子任務:觸發(fā)詞識別、事件類型分類、事件元素識別和元素角色分類。其中觸發(fā)詞識別,事件類型分類兩個任務可以合并為事件檢測任務,事件元素識別、元素角色分類兩個任務可以合并為事件元素抽取任務。
本文用ACE術語介紹幾個定義:
事件提及:描述事件的短語或者句子,包括觸發(fā)詞以及元素。
事件觸發(fā)詞:最能表達事件發(fā)生的詞,一般為一個動詞或者名詞。
事件元素:事件的參與者,主要由實體、時間和值組成。
元素角色:指的是事件元素在某個事件中扮演的角色。
例如在圖1中,檢測到一個“競賽行為-勝負”事件類型,其觸發(fā)詞為“打敗”,事件元素為“中國女排”“荷蘭女排”和“世界杯第九輪”。其元素角色分別為“勝者”“敗者”和“賽事名稱”。
圖1 事件抽取樣例Fig.1 Event extraction example
1.2.1 中文詞語與觸發(fā)詞不符問題
中文有自己的語言特性。不像英文,在中文的一句話中,詞與詞之間沒有明顯的間隔符。如果只是簡單的判斷一個單詞是否為觸發(fā)詞不夠準確,如圖2 所示,Zeng 等人[1]將分詞錯誤而造成觸發(fā)詞不能正確識別總結為以下兩種情況:
(1)觸發(fā)詞由多個詞組成
一個觸發(fā)詞是由多個詞語組成的。如圖2句子(a)中,“比賽結束”這個事件的觸發(fā)詞應該是“落下帷幕”,而不是“落下”或者“帷幕”。
(2)觸發(fā)詞含于一個詞
一個詞語中包含了多個觸發(fā)詞,或者觸發(fā)詞為這個詞語的一部分。如圖2 句子(b)中,“射殺”這個詞語中包含了兩個事件的觸發(fā)詞“射”和“殺”,這兩個觸發(fā)詞分別對應“射擊”事件和“擊殺”事件。圖2 句子(c)中,詞語“兇殺案”中包含了“謀殺”事件的觸發(fā)詞“兇殺”。
圖2 中文詞語與觸發(fā)詞不符樣例Fig.2 Examples of inconsistency between Chinese words and trigger words
1.2.2 觸發(fā)詞歧義問題
中文事件檢測除了在觸發(fā)詞識別階段的錯誤,還有在觸發(fā)詞分類時錯誤的問題,因為中文詞語的多義性,存在觸發(fā)詞不能被正確地分類到其所屬類別的可能性。例如,這個燈泡報銷了。這句話中的報銷兩個字在這個語境下指的是報廢的意思,但是報銷這個詞匯還有報賬的意思。所以鑒于以上問題,如何將觸發(fā)詞正確地從句子中抽取并正確地分類是中文事件抽取的難點。
1.2.3 中文觸發(fā)詞表達多樣問題
中文中對于同一個事件類型,觸發(fā)詞的表達方式較多,很多訓練集中出現(xiàn)的詞語可能不會在測試集中出現(xiàn)。很多學者如Li 等人[2]針對這個問題提出利用中文形態(tài)語義組合學進行事件檢測。
中文形態(tài)語義組合學指的是中文觸發(fā)詞的構成有一定的組成規(guī)律,漢語單詞的意義在很大程度上取決于其組成字符的意義。并且大多數中文觸發(fā)器都有一個中心字符來表示其事件類型。例如“受了傷”這個觸發(fā)詞是由一個動詞(受)、一個副詞(了)、一個名詞(傷)組成的,并且“傷”這個中心字符能夠表達出一個受傷事件。能夠充分利用這些中文特性或許是提高中文事件抽取系統(tǒng)性能的關鍵。
1.2.4 中文句子元素缺失問題
中文的句子結構較為松散,表達方式較為靈活。很多時候會對句子的主語、賓語進行省略。這會造成事件元素在句子層面的缺失,很多時候需要從文檔層面去補全事件元素。而且這種特性也意味著利用依存句法等特征在中文事件抽取的效果不如英文等語言明顯。因此需要針對中文特性提取出更適合的特征。
1.2.5 元素重疊問題
Sheng等人[3]將元素重疊問題總結為三種情況:
(1)一個詞匯在多個事件中擔任觸發(fā)詞,如圖3(1)所示,“收購”這個詞語不僅是“投資”事件的觸發(fā)詞,而且是“股權轉移”事件的觸發(fā)詞。
(2)一個元素在多個事件中充當不同的角色。如圖3(1)所示,“世紀華通”這個元素不僅是“投資”事件的“主體”角色,還是“股份股權轉移”事件的“股權收購者”角色。
(3)一個元素在一個事件中充當多個角色。如圖3(2)所示,“富達實業(yè)”這個元素同時是“股權減少”事件中的“主體”角色和“股權減少者”角色。
圖3 元素重疊樣例Fig.3 Element overlap example
在早期,事件抽取主要通過模式匹配的方法進行抽取,這種方法能在特定領域下取得很好的效果,但是卻需要專家來編寫模板,并且泛化能力較差?;跈C器學習的事件抽取方法將模型建立在統(tǒng)計學基礎上,將事件抽取任務視作分類或者序列標注等方法,這種方法的關鍵在于根據數據的分布情況選擇恰當的方法提取出合適的特征。
基于深度學習的事件抽取方法根據四個子任務是否聯(lián)合建??煞譃楣艿朗匠槿『吐?lián)合抽取,管道式抽取先抽取觸發(fā)詞,然后根據抽取結果抽取事件元素,例如DMCNN[4]模型。這種方法對觸發(fā)詞的抽取要求較高,觸發(fā)詞的抽取結果直接影響到事件元素的抽取,容易造成錯誤傳播,因此很多學者對聯(lián)合抽取進行研究。聯(lián)合抽取將四個子任務建模為一個聯(lián)合學習框架,這種方法能利用觸發(fā)詞與元素之間的潛在關系,從而相互促進觸發(fā)詞和事件元素的兩者之間的抽取效果,例如JRNN[5]模型,下面對這些方法進行詳細介紹。
基于模式匹配的事件抽取方法指的是在模式的指導下進行事件抽取,主要分為兩個步驟,模板的構建和事件抽取。最先,模板的設計是由領域專家手動設計的。第一個基于模式的抽取系統(tǒng)是1993 年Riloff 構建的用于恐怖事件的抽取系統(tǒng)AutoSlog[6]。AutoSlog依賴句法分析器和預定義的13種語言模式對人工標注的語料庫進行模式提取,然后根據提取的模式對文本進行預測。此方法在特定語料庫上取得了不錯的效果,隨后很多方法都借鑒了這種思想在很多領域取得成功。
但是這種方法需要專家消耗大量的精力來設計復雜的模板,而且模板構建的好壞直接影響抽取的結果。因此后續(xù)很多方法采用機器學習的方法自動設計模板,姜吉發(fā)在博士學位論文中提出了一種領域無關的模式自動學習方法GenPAM[7]。GenPAM 整個過程是在WordNet等外部知識庫的支持下完成的,用戶只需要對信息抽取任務進行定義,系統(tǒng)就能自動從未標注的語料中學習模式,這種方法很大程度上減輕了對人力的消耗。梁晗等人[8]提出了一種基于框架的事件抽取方法,利用框架的繼承方法對某些框架的構建過程進行了簡化,并完成了對災難性事件的抽取。
總體來說,基于模式匹配的方法雖然在特定領域上表現(xiàn)較好,但是可移植性以及靈活性較差,而且模板的制作過程費時費力。所以現(xiàn)在對事件抽取的研究主要集中在基于機器學習的方法和基于深度學習的方法上。
基于機器學習的方法將事件抽取任務轉化為分類或者序列標注任務,其中兩個關鍵步驟包括分類器的設計以及特征的提取。在特征的提取方面主要是依賴底層的NLP 技術,用NLP 工具從文本中提取語法級別特征、詞匯級別特征、實體類型特征等特征,然后利用最大熵模型、隱馬爾可夫模型、支持向量機等機器學習模型進行分類。
最早將機器學習方法引入事件抽取的是Chieu 等人[9],他們在事件抽取任務中引入了最大熵分類器,用于事件元素的分類,在講座通告、人事事件管理兩個數據集中取得了不錯的效果。Ahn[10]用了兩種機器學習算法實現(xiàn)了一個事件抽取系統(tǒng),先后使用MegaM 算法和Tim bl算法實現(xiàn)對觸發(fā)詞的識別和事件分類,然后針對每個事件類型訓練一個分類器抽取事件元素,這種方法在ACE 2005 數據集中取得了很高的F1 值。但是此方法判別觸發(fā)詞時對句子中的每個單詞都進行判別,這樣會引用大量的反例,使得正反例很不平衡。因此,趙妍妍[11]提出了一種自動擴展事件觸發(fā)詞的方法,使用《同義詞詞林》自動對訓練集中的觸發(fā)詞進行擴展,根據觸發(fā)詞獲取候選事件。然后結合底層特征通過最大熵分類器對觸發(fā)詞進行二元分類,對事件類型進行判別。這種方法減少了反例的個數。
Li等人[2]引用了中文的形態(tài)結構來更好地表示隱含在中文觸發(fā)詞內部的組合語義,并且提出了一個自動識別觸發(fā)詞中的支配義原的核心詞素的機制。例如,信任和擔任雖然有相同的BV(“任”),但是卻有不同的含義。而出任和擔任雖然詞性不同,但是卻指得是同一個事件。
因為中文詞與詞之間沒有間隔符,因此Chen 等人[12]提出了一種基于字符級別的事件抽取。提取出詞匯等特征使用隱馬爾可夫模型以字符級別對觸發(fā)詞進行檢測。侯立斌等人[13]在Chen等人[12]的基礎上,使用了條件隨機場(conditional random fields,CRF)解決了隱馬爾可夫模型的標記偏置問題。
為了避免管道式抽取的錯誤傳播問題,Chen等人[14]提出了一種聯(lián)合抽取的方法,將事件抽取任務轉化為兩個聯(lián)合抽取任務,并研究了很多從字符到篇章層面的特征,運用了豐富的語言學特征對中文進行事件抽取。李培峰等人[15]針對中文句法多省略的特點,提出了核心元素和輔助元素抽取方法,對觸發(fā)詞的抽取效果進一步提升。賀瑞芳等人[16]提出了一種基于CRF 的聯(lián)合抽取模型,采用一種分類訓練策略解決事件元素的多標簽問題。并且針對ACE數據集中同一大類中某子類數據量較少的問題,采用多任務學習的方法對子類進行互增強的聯(lián)合學習,解決了數據稀疏問題。
2.3.1 句子級別事件抽取
(1)基于卷積神經網絡的方法
傳統(tǒng)的方法通常需要復雜的特征工程和現(xiàn)有的NLP工具,這樣會造成錯誤傳播,并且消耗大量的人力、缺乏通用性。因此人們開始用深度學習的方法[4,17-18]自動提取特征。Nguyen 等人[17]提出使用卷積神經網絡(convolutional neural networks,CNN)進行事件檢測,和傳統(tǒng)方法相比不需要大量的外部資源,并且在跨域能力方面表現(xiàn)優(yōu)異。Chen等人[4]認為CNN只能捕捉句子中最關鍵的信息,然而一個句子中可能含有多個事件,并且一個元素在不同事件中扮演不同的角色,因此提出了DMCNN 框架,在CNN 的基礎上設計了一個動態(tài)多池層,提取一個句子的每個部分中的最關鍵的信息,對句子中的單詞進行分類判別事件觸發(fā)詞,DMCNN結構圖如圖4所示。
圖4 DMCNN模型結構Fig.4 DMCNN model structure
上述方法在事件抽取任務中得到了較好的效果,但是如果單詞和觸發(fā)詞不匹配的情況下,特別是在中文中,沒有明顯的單詞分隔符的情況下效果較差。因此Zeng等人[1]將事件檢測任務轉化為序列標注任務,分別使用Bi-LSTM和CNN捕捉句子級別特征和詞匯級別特征,并分別將文本處理成詞匯級別和字符級別作為模型的輸入,最后輸出為BIO格式標注的序列。后面元素角色的判定將其視為觸發(fā)詞和元素配對后進行分類的任務。Lin 等人[18]針對中文觸發(fā)詞組成特點提出了NPNs模型,模型分為觸發(fā)詞識別與分類兩個部分,以字符為檢測級別,先把詞匯級別特征融入到字符特征中,然后將觸發(fā)詞識別為以字符與上下文組成一定長度的塊狀結構,隨后對提出的觸發(fā)詞進行分類。
(2)基于循環(huán)神經網絡的方法
相比于CNN,循環(huán)神經網絡(recurrent neural network,RNN)隱藏層之間的節(jié)點有連接,隱藏層的輸入包含輸入層的輸出和上一時刻隱藏層的輸出,能夠更好地處理序列信息,因此RNN被廣泛應用于各種NLP的任務中,下面介紹使用RNN[5,19-20]處理事件抽取的方法。
Nguyen等人[5]提出了聯(lián)合抽取模型JRNN用于事件抽取,相較于pipeline 模型,Joint 模型能減少錯誤傳播。JRNN 分為編碼階段和預測階段,編碼階段使用雙向RNN學習句子的特征表示,在預測階段,引入記憶矩陣和記憶向量表示觸發(fā)詞類型和元素角色的依賴關系,同時預測事件類型和元素角色,這是第一個在神經網絡方法中進行聯(lián)合抽取的。
Sha等人[19]認為上述方法并沒有充分利用句法信息和事件元素之間的關系,因此提出了DBRNN 框架,通過依賴橋把句法信息建模到單詞中,在RNN 中同時使用了樹結構和順序結構增強單詞的表示,并且設計了一個張量層來捕獲事件元素之間的潛在關系。
在中文事件抽取中,針對觸發(fā)詞歧義問題,Ding 等人[21]提出了TLNN 框架用于事件檢測,模型結構如圖5所示。該模型引用了外部知識庫HowNet獲得了字符和詞匯的多含義特征,然后使用樹狀LSTM融合三種特征對每個字符進行分類,此方法能夠減輕觸發(fā)詞歧義問題。Xi 等人[22]則認為字符級別模型不能表達出觸發(fā)詞內部結構和句子層次的語義關系,因此通過字符級別表示、詞匯級別表示、位置表示、語言模型表示四種特征增強中文語義特征表示。
圖5 TLNN模型結構Fig.5 TLNN model structure
(3)基于圖神經網絡的方法
前面很多方法把句子表示為順序結構,然后通過CNN、RNN等模型對文本序列進行建模,但是這些方法不能很好地捕獲具有長依賴距離的單詞之間的關系,并且這些關系中很多關系如主謂關系能對事件檢測等任務有著較大幫助,因此文獻[23-24]利用依存句法樹將句子表示為圖結構,然后采用圖卷積神經網絡進行事件檢測,這種方法加強了觸發(fā)詞與關鍵元素之間的聯(lián)系,對觸發(fā)詞的識別與分類有較大幫助,并且這種方法能夠縮短觸發(fā)詞之間的距離,加強了事件之間的信息交互,對多事件識別有很大提升。
但是這種方法隨著層數的增加,相鄰節(jié)點會變得越來越相似,因此為了保證節(jié)點的多樣性,Yan等人[25]通過注意力機制顯性地建模和聚合觸發(fā)詞的多階句法特征,Lai等人[26]則利用了圖和模型之間的一致性增強了候選觸發(fā)詞的特征表示,而且在每層網絡引入門控機制過濾了與候選觸發(fā)詞無關的噪音信息。
上述方法沒有考慮依存句法樹中邊的類型,因此Cui 等人[27]將句法樹邊類型信息引入到圖結構中,根據上下文信息不斷更新關系表示。Liu 等人[28]則認為文獻[27]的方法會帶來噪聲,因此使用了自注意力機制深入挖掘節(jié)點之間潛在關系,并利用圖殘差網絡解決圖信息消失問題。
然而中文表達較靈活,經常會有主語或者賓語的省略,因此將句法特征在中文效果并不佳,所以Cui等人[29]利用圖結構加強了單詞與字符之間的信息交互,并利用事件標簽中的語義信息加強觸發(fā)器的識別,模型結構如圖6所示。Wu等人[30]給出了中文字符與依存句法結果相結合的方式,并使用圖注意力網絡充分捕捉依存句法樹中長依賴單詞之間的關系。
圖6 L-HGAT模型結構Fig.6 L-HGAT model structure
(4)基于注意力機制的方法
注意力機制最先被提出用于計算機視覺,注意力機制的提出是為了使計算機模仿人類的認知功能,使計算機能夠更加關注某些信息,現(xiàn)在廣泛用于NLP的各個領域中。因此文獻[31-33]將注意力機制引入事件抽取中,使模型關注更重要的信息。Liu等人[31]通過注意力機制把事件元素信息引入到事件檢測中。使用一種監(jiān)督學習方法來訓練注意力向量,從而使得事件元素在句子中得到更多的權重。Zhang等人[32]認為實體關系和事件類型之間存在潛在關系,因此提出利用實體關系進行事件檢測,使用注意力機制對單詞分配不同的注意力來捕捉更關鍵的信息。Ding 等人[33]為了表達單詞深層次的語義特征,使用語言模型對單詞進行表示而不是詞向量表,然后使用一種注意力機制把觸發(fā)詞和候選元素融入到句子特征中。
在中文事件抽取中,由于中文中沒有分隔符,因此Wu等人[34]提出一種字符級別注意力機制用于中文事件抽取,把字符特征融合到詞語特征中去,考慮到詞語的含義與詞語中各字符的含義并不一定相同,并且字符的含義與其在詞語中的位置也有關系,因此需要考慮各個字符與詞語之間的權重,然后對觸發(fā)詞和事件元素聯(lián)合解碼。字符與詞語的向量拼接方式如圖7所示。
圖7 字符向量與詞向量結合方式Fig.7 Combination of character vector and word vector
(5)基于Transformer模型的方法
預訓練模型可以根據單詞的上下文動態(tài)地獲得單詞的語義,在文本分類、信息抽取等多個NLP任務取得了非常好的效果。因此很多學者使用預訓練模型解決事件抽取任務。
Yang 等人[35]提出了PLMEE 框架用于事件抽取,首先為了解決訓練數據不足的問題,利用預訓練模型進行數據生成。然后為了解決元素重疊問題,在元素抽取時根據角色個數設計多組分類器,對每個元素角色分開抽取。最后根據元素角色在事件中的重要性重新加權損失函數。Xu等人[36]將預訓練模型應用到中文事件抽取中,把事件抽取任務轉化為抽取事件三元組(觸發(fā)詞,元素角色,元素)的任務,在文獻[35]的基礎上兩階段共享參數,設計多個二分類器中判別中觸發(fā)詞和元素的起始位置與終止位置,模型結構圖如圖8所示。
圖8 JMCEE模型結構Fig.8 JMCEE model structure
上面的方法通常通過分類或者序列標注的方法進行抽取,這些方法依賴命名實體識別并且需要大量數據。因此文獻[37-39]等將事件抽取任務轉化為閱讀理解任務。把事件中的每一個元素角色表述為相應自然語言描述的問題,通過BERT判斷出答案片段的起始位置和終止位置,這種方法更好地利用了元素角色類別的先驗信息。Zhou 等人[40]在閱讀理解框架的基礎上增加新的任務,借助于命名實體識別的結果,通過閱讀理解的方法對候選元素進行角色分類,并通過兩個過程的結果擴展訓練集。
Li 等人[41]認為一個事件的事件元素之間存在著強關系,某個元素的角色的確定可以通過其他元素角色判別出來。因此設計了一個多輪對話引導的事件抽取系統(tǒng),通過強化學習和增量學習建模事件元素之間的關系,使用已經提取的事件元素來提取難以提取的事件元素,并使用新獲得的知識改善之前提取元素的決策,此方法在事件檢測和元素抽取兩個任務上均取得了較好的效果。
文獻[42]將事件抽取任務轉化為文本生成任務,將觸發(fā)詞、元素以及它們的標簽統(tǒng)一作為自然語言生成,在數據標注方面只需要粗粒度的文本-事件記錄,而不需要細粒度令牌級的標注,提出了一種約束解碼算法,通過事件模式指導生成過程,并使用課程學習算法加強模型的訓練過程。這種方法簡化了數據標注過程,在一個模型中統(tǒng)一建模了多個任務,高效地以端到端的形式從文本提取事件。
基于深度學習的方法和基于機器學習的方法相比能自動提取高層次特征,避免了復雜的特征工程,近年來大多數事件抽取方法都基于深度學習,本文對這些方法進行了對比,如表1所示。
表1 基于深度學習的方法對比Table 1 Comparison of methods based on deep learning
2.3.2 文檔級別事件抽取
相較于句子級別事件抽取,文檔級別事件抽取任務中,一個事件的事件元素可能分散于一篇文檔的多個句子中,因此需要對整篇文檔的內容進行全面理解。而且一篇文檔可能包含多個事件,這使文檔級別事件抽取任務變得更加復雜。
現(xiàn)階段中文文檔級別事件抽取大多集中于金融領域,很多學者對大量金融通告進行了分析,提出了文檔級別事件抽取方法。其中文獻[43-45]仍在句子級別事件抽取的基礎上,增加了一些全局策略,對事件元素進行補全,從而得到篇章級的事件信息。但是這些方法僅在句子范圍內對元素角色進行判定,沒有考慮到全局上下文信息,忽略了跨句子的事件元素之間的信息交互。
因此,后續(xù)的很多方法[46-49]從全局角度出發(fā),對候選元素和句子進行聯(lián)合建模,并且放棄了句子級別中的對觸發(fā)詞的抽取,從全局的角度檢測事件,進而對事件元素進行分類。Zheng等人[47]先通過篇章層面特征獲取事件類型,然后定義好元素角色的識別順序,把元素角色識別任務轉化為多個路徑擴展的子任務。但是這種順序識別的方法,前序角色的識別沒有考慮后序角色的識別結果,因此文獻[48]使用了一種多粒度解碼器并行地對元素角色進行判定。
文獻[49-50]則將文檔建模為圖形結構,這種方法能夠加強事件之間的關系。Xu等人[49]通過了圖結構加強了候選元素和句子之間的信息交互,促進了相似事件之間的元素角色判定。Huang等人[50]通過實體共現(xiàn)關系把句子建模為圖結構,并使用圖注意力網絡加強了句子之間的關系,將事件表示為其中的子圖。
上述方法大多遵循監(jiān)督學習范式,這需要大量的標記數據,如果只是基于少量的標記數據,上述方法表現(xiàn)欠佳,因此很多學者[51-53]研究了少樣本事件抽取的一些方法,通過引入外部資源或者多任務學習等方法提高事件抽取的效果,本節(jié)對這些方法進行介紹。
2.4.1 訓練語料的補充
現(xiàn)有的研究大多基于ACE2005 數據集,數據集規(guī)模小、類型分布不均,因此模型訓練效果較差。所以,很多學者[51-53]提出利用外部資源庫對訓練語料進行補充。Liu等人[51]提出了利用FrameNet框架補充訓練語料。文中認為FrameNet中定義的框架與ACE定義的事件在結構上非常相似,框架中的詞匯單元類似事件中的觸發(fā)詞,框架中的元素類似于事件中的元素。因此,文中通過將FrameNet中的框架映射為事件從而補充了訓練語料。
Chen 等人[52]提出利用遠程監(jiān)督的方法對訓練語料進行自動標注。文中首先利用Freebase 挑選出每個事件類型的關鍵元素,然后通過關鍵元素標記出事件并找出觸發(fā)詞,然后利用FrameNet 過濾噪聲觸發(fā)詞并對觸發(fā)詞進行擴展。最后通過一種軟遠程監(jiān)督的方法自動標注訓練語料。Wang等人[53]使用生成對抗網絡進一步提升了生成數據集的質量,首先將候選集分為可靠集和不可靠集,然后把可靠集做為正例,將生成器選擇的數據做為負例,同時對判別器和生成器進行訓練,使生成器選擇容易混淆的實例來“欺騙”判別器。
BERT 等模型在大量語料庫上進行預訓練,能更好地捕捉上下文信息,因此Yang等人[35]通過預訓練模型生成標注樣本補充訓練語料,通過編輯原型的方法生成訓練語料。首先使用masked語言模型任務在ACE2005數據集上進行微調。然后將原型中的元素替換為與其扮演相同角色的相似元素,并通過微調后的BERT 重寫adjunct tokens。最后對這種方法生成后的事件進行打分,保證生成事件的高質量。
2.4.2 基于少樣本學習的事件抽取
前面的方法[4-5,24]大多在監(jiān)督學習下進行事件抽取的,但是這種方法卻需要大量標注語料,不能快速理解新事件類型,因此文獻[54-56]等探究了低資源條件下的事件抽取,包括零樣本學習與少樣本學習。
文獻[54-56]使用了零樣本學習的方法用于事件抽取。Huang 等人[54]先使用AMR 解析工具識別觸發(fā)詞和元素,然后將事件本體和事件提及映射到一個語義空間,將事件分類為空間中最接近的事件類型。這種方法能夠通過現(xiàn)有事件類型的手動注釋數據,來預測無標注數據的新事件類型,并且這種方法抽取性能可以和很多監(jiān)督方法相媲美。
Deng等人[55]在文獻[54]的基礎上擴展了事件本體,把事件之間的聯(lián)系建模到本體中,可以通過建立新事件類型與現(xiàn)有事件類型之間的關聯(lián),學習到新的事件類型。Zhang等人[56]將標簽語義信息引入到零樣本事件抽取中,通過預訓練模型計算觸發(fā)詞和元素與其相應標簽的語義相似度,從而實現(xiàn)觸發(fā)詞與元素的分類。
少樣本學習中往往會采用C-wayK-shot 的數據采樣方法,當K的值較小的情況下,可能會出現(xiàn)樣本偏差問題。因此Deng等人[57]提出了一個基于動態(tài)記憶的原型網絡,多次從事件提及中提取上下文信息,從而能在樣本較小的情況下更好地學習事件原型的上下文表示。Lai等人[58]則通過建模跨任務之間的關系來減輕樣本中異常值的影響。文獻[59]考慮了支持集樣本之間的關系,進一步提升了抽取效果。
因為考慮到不同事件的觸發(fā)詞差異較大,Cong 等人[60]將觸發(fā)詞識別與分類合并成一個序列標注任務,首先提出了PA-CRF來模擬少樣本場景下的標簽依賴性,并引入高斯分布緩解了因數據不足而造成的不確定性估計問題。
2.4.3 基于多任務學習的事件抽取
很多事件抽取的方法往往依賴于實體識別,但是大部分方法均將實體當作已知條件,這樣不符合一般應用場景,并且如果對多個子任務單獨抽取會造成錯誤傳播。因此文獻[61-64]使用了全局特征對實體識別、事件抽取等多個子任務聯(lián)合建模,Nguyen 等人[61]通過雙向RNN共享特征表示,對實體識別、事件檢測和元素識別三個任務聯(lián)合預測,通過三個子任務隱藏關系提高事件抽取性能。
文獻[62-63]則提出了一種基于全局跨度的方法,將觸發(fā)詞與實體表示為圖結構中的節(jié)點,將觸發(fā)詞與實體、實體與實體之間的關系表示為邊,對實體識別、關系抽取、事件抽取和共指消解四個任務聯(lián)合建模,根據它們的監(jiān)督信號通過圖傳播來捕獲全局上下文信息,不斷更新跨度表示。Lin等人[64]則認為上述方法對多個子任務使用獨立的分類器,沒有顯式建模了多個子任務之間和實例之間的關系,因此在解碼階段,使用全局信息捕獲子任務之間和實例之間的關系,并通過束搜索找到全局最優(yōu)圖。
2.4.4 利用文檔層面的事件抽取
大多數事件檢測方法只利用了句子層面的信息,但是很多時候句子層面的信息不夠豐富,只考慮句子層面的信息不足以推斷出事件類型,因此文獻[65-67]使用了文檔層面信息建模語義信息。這種方法能夠考慮文檔中事件之間的關系,對消除事件的歧義性有很大幫助。
文獻[65-66]通過注意力機制將文檔信息融入到句子特征中,但是這種方法不能很好地模擬句子之間的關系,因此Lou 等人[67]通過堆疊多個雙向解碼器的方式,在句子之間迭代地傳播信息。文獻[68]為了更好地捕獲長距離文檔級上下文信息,因此動態(tài)地從文檔中只選擇與目標句子最相關的上下文句子,輸入到BERT進行事件檢測,這樣也解決了BERT輸入限制問題。
2.4.5 跨語言事件抽取
由于數據的注釋成本較高,很多學者[69-71]提出利用多語言資源來提高事件抽取系統(tǒng)的性能。跨語言方法將多種源語言的知識遷移到目標語言中,以提高事件抽取的抽取性能。His等人[69]提出在多種語言的語料庫上進行訓練,并通過依賴于語言的特征和不依賴于語言的特征使性能得到提升。Liu等人[70]為了緩解單語中觸發(fā)詞的歧義性,使用了一種門控多語言注意力機制對兩種語言的特征進行融合。
很多跨語言方法都依賴機器翻譯系統(tǒng)或者通過人工來對齊文檔,這需要大量的并行資源,然而現(xiàn)實中可能沒有這么多的并行資源。因此Liu等人[71]提出了一種基于最少并行資源的跨語言事件檢測方法,針對不同語言的詞匯映射問題,提出了一種上下文相關的翻譯方法,然后針對不同語言的語序差異問題,提出了一種多語言協(xié)同訓練的共享句法順序事件檢測器。
Subburathinam 等人[72]和Ahmad 等人[73]將圖神經網絡應用到跨語言方法中,Subburathinam等人[72]利用語言無關特征,將實體提及、觸發(fā)詞以及上下文表示到一個多語言空間中,然后從資源豐富的源語言訓練一個抽取器,將其應用到在資源匱乏的目標語言中去,此方法在多種語言數據集上取得了良好的效果。Ahmad 等人[73]則為了更好地建模長依賴距離關系的單詞,引入了自我注意機制,明確地融合結構信息來學習不同句法距離的詞與詞之間的依賴關系。
前面方法大多只在單語中進行訓練,這可能導致單語偏見問題,因此文獻[74]利用了無標注的目標語言數據,通過類的語義特征和語言無關特征,更好地跨語言遷移知識。
金融領域、法律領域等具有大量復雜的非結構化信息,這些信息中包含很多有價值的內容,事件抽取可以幫助人們快速地對這些內容進行分析,得到規(guī)范化的信息,領域事件抽取方法如表2所示。
表2 領域事件抽取總結Table 2 Domain event extraction summary
Yang 等人[43]、Zheng 等人[47]對大量金融公告深入研究,給出了金融領域的文檔級別事件抽取方法,能幫助金融人員預測股市并做出正確的投資。
為了使法官更方便快捷地了解案情,Li等人[75]提出了法律領域的事件抽取方法,多個事件共享事件元素這一現(xiàn)象,作者定義了焦點事件這一機制,先抽取出預定義的12 個transition label,然后第二步再抽取出事件元素角色。文獻[76]在Li等人[75]的基礎上,增加了時間線機制,將提取的事件以時間序列的形式顯示。Shen 等人[77]為了區(qū)分相似法律事件,為事件檢測設置了分層的事件特征,并為了解決事件元素共指消解問題,提出了一種踏板注意機制。Feng 等人[78]提出使用事件抽取完成法律判決預測任務,先提出了一種層次化的事件結構,然后通過兩種約束聯(lián)合學習事件抽取與法律判決預測兩個任務。
生物醫(yī)學文本中含有大量事件信息,對生物醫(yī)學研究對藥物研發(fā)和疾病醫(yī)治有很大幫助。Wang等人[79]提出了一種生物醫(yī)學領域的多特征融合的事件抽取方法,在特征提取方面結合依存句法分析結果獲得詞匯豐富的語義表示信息,并利用詞性特征補充句子結構信息。Yu 等人[80]提出了一個基于LSTM 的端到端框架用于生物醫(yī)學事件抽取,通過依存句法分析使用Tree-LSTM完成了元素抽取,為了減少級聯(lián)錯誤,使用了一個整體的損失函數對模型進行訓練。此方法在BioNLP09等數據集取得了很高的F1值。
對中文事件抽取常用的數據集進行介紹,包括句子級別數據集和文檔級別數據集,句子級別數據集指的是某個事件的元素僅在一個句子的范圍內出現(xiàn),而文檔級別數據集指的是某個事件的元素分散于一篇文檔的多個句子中,并且一個文檔中可能包含多個事件,而且這些事件之間往往存在著因果、轉折等關聯(lián)關系。數據集規(guī)模如表3所示。
表3 中文事件抽取數據集統(tǒng)計Table 3 Chinese event extraction data set statistics
ACE2005 數據集:ACE 2005 數據集是語言數據聯(lián)盟(LDC)發(fā)布的包含漢語、英語和阿拉伯語三種語言的數據集,被用于2005 年自動內容提?。ˋCE)的評測。數據集由實體、關系和事件等多種數據類型組成,包含了8 大類事件類型和33 小類事件類型,共計633 篇文檔。ACE 數據集是事件抽取領域最具影響力的基準數據集。
上海大學CEC 數據集:CEC 數據集是由上海大學語義智能實驗室創(chuàng)建的中文突發(fā)事件數據集。實驗室從互聯(lián)網上收集了5種突發(fā)事件(地震、火災等)的新聞報道生成數據集,共計332篇文檔。CEC數據集的規(guī)模與ACE等數據集相比較小,但是事件要素的標注較為全面。
Text analysis conference knowledge base filling(TAC KBP)數據集:TAC KBP事件跟蹤的目標是提取有關事件的信息,并以合適的結構輸入到知識庫中。TAC KBP事件評測的任務包括檢測和鏈接事件的事件塊任務、提取事件參數和鏈接屬于同一事件參數的事件參數任務。其中TAC KBP 2016 和TAC KBP 2017 的數據集中包含了漢語、英語和西班牙語三種語言,共有8種事件類型和18種子事件類型。
DUEE[81]數據集:DuEE 數據來源于百家號,其事件類型涵蓋了百度搜索中的很多熱門話題。DuEE 具有19 640 個事件,包含65 種事件類型,是迄今為止最大的中文事件抽取數據集,被用于2020 語言與智能技術競賽的事件抽取任務的評測。DUEE 的抽取場景更有挑戰(zhàn)性,一個句子可能包含多個事件,并且存在事件元素重疊問題。
FewFC數據集:FewFC數據來源于真實的金融新聞數據,由金融專業(yè)人員標注,被用于CCKS 2020金融領域跨類遷移事件抽取評測任務。FewFC 是一個包含質押事件、股份股權轉讓事件、投資事件等10個事件類別的小樣本金融領域數據集。
LEVEN:LEVEN[82]是一個大規(guī)模的中文法律領域事件檢測數據集。該數據集事件本體涵蓋較全面,涉及法律案例中的常見事件如逃逸事件,對法律案例分析有較大幫助。該數據集包含8 116篇法律文檔,108個事件類型,超過15萬個事件實例。
DCFEE:DCFEE[43]是金融領域的文檔級別數據集,其數據來源于搜狐證券網上企業(yè)發(fā)布的公告,并通過遠程監(jiān)督的方法對數據進行標注的,包含股權凍結事件、股權質押事件、股權回購事件和股權增持事件四種類型,共計2 976個公告。
ChFinAnn:ChFinAnn[47]數據集是實驗人員搜集了近10年的金融公告并通過遠程監(jiān)督的方法生成的金融領域數據集。ChFinAnn 包括32 040 份文件,由股權凍結、股權回購、股權減持、股權增持和股權質押5個事件類型組成,其中超30%的文檔中包含多個事件。
DUEE-FIN:Duee-Fin 是百度發(fā)布的金融領域文檔級別數據集,由1.17 萬個文檔組成,包含13 個事件類型,同時存在一部分非目標文檔作為負樣本,數據來源于真實金融領域的公告和新聞。被用于2021語言與智能技術競賽的文檔級別事件抽取的評估。
FinReason:文獻[83]提出了一個金融領域的用于事件因果關系抽取的數據集FinReason。此數據集總共包含8 794 個文檔,由12 861 個金融事件和11 006 個原因片段。數據集包含了多事件、多重原因和隱含原因等多個復雜場景。
事件抽取常用的指標有精準率、召回率、F1值。事件抽取的四個子任務分別為:
(1)觸發(fā)詞識別:識別出句子中的觸發(fā)詞片段,如果預測的觸發(fā)詞片段與標注中的觸發(fā)詞片段一樣,則認為抽取正確。
(2)事件類型分類:對識別后的觸發(fā)詞進行分類,如果與標注中的事件類型一樣,則認為是分類正確。
(3)事件元素識別:在獲得事件類型后,識別出句子中的事件元素,如果預測的事件元素片段與標注中的事件元素片段一樣,則認為抽取正確。
(4)事件元素分類:對抽取后的事件元素進行分類,如果識別的事件元素類型與標注中的類型一樣,則認為分類正確。
研究選擇使用標準精確度(Precision,P)、召回率(Recall,R)和F測度(F1)作為評價指標來評估結果。計算公式分別如下所示:
其中,TP表示為被模型預測為正類的正樣本個數、FP表示為被模型預測為正類的負樣本個數、FN表示被模型預測為負類的正樣本個數。
除此之外,由于中文識別最小單位為字符,在2020年百度舉辦的語言與智能技術競賽的事件抽取任務[74]中,還使用了字級別的評測方法對事件元素的抽取結果進行評價:
字級別匹配P值:預測出的元素和人工標注的元素共有字的數量/預測元素字數。如式(4)所示,表示第i個預測的元素與對應標注的元素共有的字數,表示標注元素的字數。
字級別匹配R值:預測出的元素和人工標注的元素共有字的數量/人工標注的元素的字數,表示預測元素的字數。
字級別匹配F1值:2×字級別匹配P值×字級別匹配R值/(字級別匹配P值+字級別匹配R值)
預測元素得分=事件類型是否準確×元素角色是否準確×字級別匹配F1 值。如式(5)所示,Met和Mar分別表示事件類型和元素角色是否正確。
P=預測元素得分總和/所有預測元素的數量。NP表示預測元素個數。
R=預測元素得分總和/所有人工標注元素的數量。NA表示所有定義元素角色個數。
本節(jié)主要總結事件抽取模型優(yōu)缺點,比較其在基準數據集上的性能,評價指標主要有精確率、召回率和F測度。
4.2.1 事件檢測結果對比
目前大多數中文事件抽取的研究集中在事件檢測任務上,本文選取ACE 2005 中文數據集與TAC KBP 2017 兩個基準數據集進行事件檢測效果對比,如表4所示。
表4 事件檢測方法的精確率、召回率、F1值對比Table 4 Comparison of accuracy,recall and F1 value of event detection methods %
從結果上可以看出,基于傳統(tǒng)機器學習的方法Rich-C[14]在事件分類任務上有著較高的F1值,能與很多深度學習方法相媲美,但是這種方法需要人工提取特征。由于基于深度學習的方法能自動提取高層特征,近幾年的方法[18,21,29]要明顯優(yōu)于基于機器學習[14]的方法。
NPN[18]、TLNN[21]和L-HGAT[29]等方法在兩個數據集中均表現(xiàn)較好,證明了其方法的魯棒性。BERT 等預訓練模型在龐大的語料庫進行預訓練,能夠更好地捕捉全局信息,因此在所有深度學習的方法中,基于BERT 的方法效果最好。JMCEE[36]和CAEE[30]在一個統(tǒng)一的框架下聯(lián)合訓練,對事件抽取兩階段任務進行聯(lián)合抽取,避免了錯誤傳播,在抽取的效果上要優(yōu)于pipeline的方法。
4.2.2 元素抽取結果對比
目前對中文事件元素抽取的研究大多基于ACE 2005中文數據集,本文選取ACE 2005中文數據集作為元素抽取的基準數據集,事件元素抽取結果如表5 所示,從結果可以看出,中文事件元素識別和分類的F1值并不高,還有很大的提升空間。基于深度學習的方法明顯優(yōu)于機器學習的方法,基于聯(lián)合抽取的方法避免了管道模型方法的錯誤傳播問題,效果要優(yōu)于管道模型方法。
表5 元素角色識別方法的精確率、召回率、F1值對比Table 5 Comparison of accuracy,recall and F1 value of element role recognition methods %
其中MTL-CRF[16]并沒有使用深度學習模型,使用了一種基于CRF的多任務學習框架有效挖掘了元素之間的相互關系,在元素的識別和分類上均有較高的精準度。MRC-EAE[39]方法將任務轉化為機器閱讀理解的任務,在模型中編碼了元素角色信息,在召回率和F1值上有著明顯提升。
4.2.3 文檔級別抽取結果對比
本文選取F1 值作為評價指標,并把ChFinAnn[47]作為文檔級別事件抽取方法的評價數據集,此數據集包含股權凍結(EF)、股權回購(ER)、股權減持(EU)、股權增持(EO)和股權質押(EP)五種數據類型。各方法的F1值對比如表6所示。
表6 文檔級別事件抽取方法F1值對比Table 6 Comparison of F1 values of document level event extraction methods %
DCFEE-O 和DCFEE-M 是DCFEE[43]的兩個版本,DCFEE-O只從文檔中抽取一個事件,DCFEE-M能抽取多個事件。GreedyDec 是Doc2EDAG[47]的簡化版,只貪婪地從文檔中抽取單個事件記錄。
從結果中可以得出,由于DCFEE[43]對全局信息理解不夠充分,因此F1 值要明顯低于后面對全局進行建模[47-50]的方法。GIT[49]和SCDEE[50]使用了圖神經網絡對事件關系進行建模,對文檔有著更充分的理解,有著較高的F1值,并在股權回購事件類型上效果最好,明顯高于其他方法。
(1)中文特性挖掘
近年來,對中文事件抽取的研究大多集中在事件檢測上,由于中文詞語之間沒有分隔符并且觸發(fā)詞表達方式較多,因此中文事件檢測難度較大。因此需要挖掘如中文觸發(fā)詞組成特點等中文語言特性,與深度學習模型相結合提取出更適合中文的語義特征應用到事件抽取中。
(2)文檔級事件抽取
中文是一種篇章驅動的語言,中文語法多省略,某個事件的元素往往需要從篇章層面補全或者共指消解,而且文檔級事件抽取更符合現(xiàn)實生活中的應用場景,因此對中文文檔級事件抽取有較深的研究意義,如何對文檔內事件關系進行建模是對文檔整體理解的關鍵。
(3)零樣本事件抽取
現(xiàn)有的事件抽取方法大多需要大量的訓練語料,但是無法快速地應對新事件類型,零樣本事件抽取方法能快速理解新事件類型,研究價值較大,如何正確地建立事件本體與事件實例的關系從而提升抽取效果值得深入研究。
(4)基于問答的事件抽取
近幾年,很多學者使用基于問答的方法進行事件抽取,這種方法能利用元素角色的語義信息,在樣本較少的情況下表現(xiàn)較好。問題的設計的好壞及問題與文本特征融合的方式等都會對結果有所影響,需要進一步討論。
(5)面向開放域的事件抽取
現(xiàn)在很多深度學習的方法都基于限定域的事件抽取,事件本體是預定義的情況下。但是面對新領域,事件類型未知的情況下,開放域的事件抽取能快速幫助人們理解新事件。
(6)面向領域的事件抽取研究
日常生活中人們常常需要對某一領域進行研究,但是領域中有很多專業(yè)術語,如何設計更有效的方法,來提取領域文本的深層語義信息和上下文信息[84],使深度學習模型深入理解領域知識很關鍵。因此需要針對特定領域展開深度研究。
本文全面介紹了中文事件抽取的研究現(xiàn)狀,對基于模式匹配、基于機器學習、基于深度學習的方法進行歸納總結,其中基于深度學習的方法能自動提取特征,成為了現(xiàn)在的主流方法,因此本文詳細介紹了基于深度學習的事件抽取方法。由于中文特性問題,本文對中文事件抽取中面臨的挑戰(zhàn)進行了總結,并對監(jiān)督學習方法中樣本缺失的條件下,少樣本事件抽取方法進行總結,然后介紹了中文事件抽取相關數據集,最后對未來的發(fā)展趨勢進行了分析和展望。