胡瑞娟,周會娟,劉海硯,李 健
戰略支援部隊信息工程大學,鄭州 450001
事件抽取主要研究從非結構化文本中抽取出結構化的事件信息,如何人、何時、在何地、做了何事。事件抽取是一項十分重要且具有挑戰性的課題,可以為知識圖譜構建[1-2]、推薦系統[3-4]、智能問答[5-6]以及其他任務[7-9]提供有效的結構化信息。按照文本抽取的粒度,事件抽取可分為句子級事件抽取和篇章級事件抽取。目前研究較多的是從一個句子中提取事件信息的句子級事件抽取,然而,由于事件的異質性和事件描述的多樣性,會存在事件信息(事件數量、類型、要素)提取不全面、不完整的情況,而篇章級事件抽取是從文檔級文本出發,側重更為全面、完整的事件信息提取,這有助于用戶從大量的信息中快速、準確地捕獲感興趣的內容。篇章級事件抽取在熱點追蹤、輿情監控、軍事情報、金融投資等領域發揮著重要作用[10]。
根據文本抽取的領域范圍,事件抽取通常分為限定域事件抽取和開放域事件抽取。限定域事件抽取是指在進行抽取前,預先定義好目標事件的類型及每種類型的事件元素,通常會給出一定量的標注數據,不同的領域背景知識和應用需求使得定義的事件類型和事件元素各不相同。開放域事件抽取是指在進行事件識別之前,可能的事件類型以及事件的結構都是未知的,所以這項任務通常沒有標注數據,主要是基于無監督的方法和分布假設理論,如通過事件實例中的觸發詞事件元素進行聚類等方式進行抽取。由于開放域事件抽取沒有預定義的事件類型和明確固定的場景,所用文本來自于類似社交媒體等大量復雜的語料,導致抽取難度大,且相關研究還不夠深入,目前學術界研究較多較深的是限定域事件抽取。下文重點對篇章級事件抽取的任務、挑戰、模型和方法等進行闡述。
事件抽取的主要任務包括事件檢測和論元識別,此外還包括事件關系抽取、事件消歧等外延任務,當前針對于篇章級事件抽取,大部分研究聚焦于事件檢測和論元識別兩項主要任務。其中事件檢測包括觸發詞識別和事件類型發現兩個子任務,論元識別包括論元抽取和角色分配兩個子任務,根據自動內容抽取評測會議(automatic content extraction,ACE)定義的與事件相關的概念,結合篇章級事件抽取的實際問題,梳理了幾個任務之間的關系如圖1所示。

圖1 篇章級事件抽取的主要任務Fig.1 Main tasks of document-level event extraction
觸發詞識別:識別事件的觸發詞,觸發詞是最能代表或觸發一個事件發生的詞,一般是動詞或是名詞,事件觸發詞確定了事件類型。
事件類型發現:一個文檔中通常包含任意數量、多種類型的事件,發現文檔中的包含多少個事件(事件數量)并明確每個事件分別是屬于何種事件類型(事件種類)。通常一個事件類型由觸發詞觸發,能夠根據識別出的觸發詞確定事件類型,但也會存在描述事件的文檔中沒有觸發詞的情況,則可以根據文檔中描述事件的中心句來確定事件類型。
論元抽取:抽取事件的論元,論元指事件的參與者,是組成事件的核心部分,它與事件觸發詞構成了事件的整個框架。一個事件通常包含多個論元,這些論元可能分散在文檔的多個不同句子中,這種現象稱為“論元分散”,文檔中不同的事件類型或相同事件類型可能共享一個事件論元,這種現象稱為“論元重疊”,因此,篇章級論元抽取時會存在“論元分散”和“論元重疊”的問題。
角色分配:明確事件論元與事件觸發詞之間的語義關系,即論元在相應的事件中扮演什么角色。文檔中同一個論元可能會出現在不同事件中且擔任不同的角色,這種現象稱為“角色重疊”,因此,篇章級事件抽取中會存在“角色重疊”的問題。
目前很多測評和任務(如ACE)都為事件制定了事件類型[11],每個類型下又定義類若干子類型并為每個事件子類別制定了模板,方便事件論元的抽取及角色的分配。然而,從上述對四個子任務的分析可以得出,篇章級事件抽取面臨的兩個重大挑戰:事件論元分散和多事件問題。
(1)論元分散問題,即指一個事件的論元分散在文檔中多個不同的句子中。假設一個文檔doc包含n個句子,用doc={S1,S2,…,Si,…,Sn}表示,如圖2所示,文檔中共有2個句子,包含一個捐贈事件,論元分散在兩個句子中,其中S1中的“中國”“塞爾維亞”“15日”分別扮演捐贈方、接收方、時間的角色,S2中“新冠病毒檢測試劑盒”“口罩”“呼吸機”“防護服”扮演著捐贈物的角色。

圖2 文檔doc1(觸發詞:“捐贈”)Fig.2 Document doc1(trigger word:donation)
(2)多事件問題,即一個文檔中通常包含多種類型的事件或同一類型的多個事件,且存在論元重疊、角色重疊的問題。如“在巴格達,當一個美國坦克對著巴基斯坦酒店開火時,一個攝影師死去了”,包含“死亡”和“攻擊”兩種事件類型,“攝影師”這一論元分別在兩個事件中擔任著“受害者”和“攻擊目標”兩個不同的角色。很多情況下,論元分散和多事件問題并不是兩個絕對獨立的問題,二者同時存在于篇章級事件抽取任務中,如圖3所示,粗斜體是分散在不同句子中的事件論元,文檔中共有31個句子,包含兩個股權質押事件,Event-1的論元分散在S12、S21和S22中,Event-2的論元分散在S18、S21和S22中,且Event-1和Event-2都 包含“塔城國際”這一論元。

圖3 文檔doc2(無觸發詞)Fig.3 Document doc2(no trigger words)
目前研究較多的是句子級事件抽取,句子級事件抽取只使用句子內部獲取的特征,傳統基于特征工程的方法手工設計特征[12],無法適應依賴復雜語義關系的任務,最近的事件抽取工作基于深度學習框架自動學習特征,主要使用流水線(pipeline)模型[13-16]和聯合抽取(joint)模型[17-20]兩類。基于流水線模型的方法,不管是用卷積神經網絡(convolutional neural networks,CNN)還是循環神經網絡(recurrent neural network,RNN),均采用流水線的方式將抽取過程拆分為兩個獨立的過程,先抽取事件觸發詞、確定事件類型,根據事件類型和觸發詞的預測結果提取論元并分類論元角色。這種方法雖然能使論元識別部分充分利用事件觸發詞的語義信息,但也造成了誤差傳播的問題,觸發詞的預測結果直接影響論元識別的結果。為了克服由事件檢測引起的錯誤傳播,研究者提出了聯合抽取模型,針對事件觸發詞之間、事件論元之間、事件觸發詞和事件論元之間的全局特性,通過聯合訓練事件檢測和論元識別任務來減少誤差的傳播[21-22]。
這些方法核心思路是從句子級出發,難以應對“論元分散”和“多事件”等問題。為了應對“論元分散”和“多事件”的挑戰,篇章級事件抽取相關研究陸續展開。
針對論元分散和多事件問題,可以從以下幾個方面考慮:首先,從篇章全局感知上下文,通過獲取不同粒度的語義表示(詞語粒度、句子粒度、文檔粒度),擴大感受野以更好地識別分散在多個句子中的觸發詞和事件論元;其次,文本序列中的句子結構信息(句法解析樹)、語義信息(語義解析樹)可以用于增強原始序列數據的表示,通過建模圖結構來學習、捕獲文檔數據的獨特特征,以獲取篇章內事件的關聯;再次,將前兩類方法結合,融合不同層級的語義特征和不同粒度的結構特征,獲取全面、完整的事件信息;最后,借鑒閱讀理解、智能問答等自然語言處理任務或其他任務的有效解決方案,將事件抽取任務巧妙地轉化為其他任務來解決。
鑒于以上考慮,將現有的篇章級事件抽取方法歸納為四類:獲取不同粒度語義表示的方法、捕獲結構特征的方法、融合語義和結構特征的方法以及任務轉化的方法。
將文本的語義信息表示為低維稠密向量,在固定長度的稠密向量中編碼詞語、句子或文檔,在獲取詞語、句子或文檔的語義表示時,一篇文檔的語義由其各組成部分的語義,以及它們之間的組合方法所確定。因此,從獲取詞語、句子、文檔三種不同粒度的語義表示分析事件抽取典型模型和方法。
2.1.1 獲取詞語粒度語義表示
傳統詞袋模型表征文本,依靠統計每個詞在句子或文檔里的頻率,無法捕捉詞語之間順序和詞語之間的語義關系。通過神經網絡將稀疏的離散詞向量表示為分布式的低維稠密向量,通過模型訓練使向量包含語義信息,通過距離函數計算相似度來表示向量間的語義關系。2013年Google團隊提出的word2vec[23],映射每一個詞到一個固定的向量,包括通過上下文預測中心詞(continuous bag of words,CBOW)和通過中心詞預測上下文(Skip-gram)兩種方法,word2vec詞向量使相似的文本擁有相似的嵌入,可以較好地表達不同詞之間的相似和類比關系,但只考慮了詞的局部信息,且不能有效解決多義詞的問題,Glove利用共現矩陣[24],同時考慮了局部信息和全局信息,但屬于靜態詞向量,也不能表示一詞多義,于是產生了根據上下文隨時變化詞向量的ELMO模型[25],該模型通過不同的語句對同一個詞語訓練得到不同的詞向量,有效區分出同一個詞在不同語境下表示的不同含義,從而解決了多義詞的問題,但實質也沒有很好地利用上下文。BERT利用雙向transformer語言模型結合上下文語義采用mask方式訓練從而得到語義更加豐富的詞向量[26]。
Zhu等從詞粒度出發設計高效的離散特征,包括特征詞中包含的所有信息的局部特征,以及將觸發詞與論元連接起來的全局特征[27]。羅明等針對中文自然語言的歧義性、多樣性等問題,提出了基于有限狀態機驅動的層次化詞匯-語義模式的金融事件抽取模型[28]。Liu等使用論元的局部特征來輔助角色分類,首次將實體識別和論元抽取作為聯合任務學習[29]。
2.1.2 獲取句子粒度語義表示
通過訓練詞向量或設計詞語離散特征的方式可以獲取詞語的語義表示,這促進了單一地觸發詞識別和論元抽取任務,但對于句子中論元與觸發詞之間的語義關聯、觸發詞與事件類型之間的語義關聯等,僅僅依賴詞語粒度的語義這種局部特征是遠遠不夠的,因此需要獲取句子粒度的上下文語義表示。
(1)通過CNN獲取句子語義表示
將事件抽取看做分類任務,使用CNN進行事件分類(事件類型發現)和角色分類(論元角色分配)兩個相對獨立的任務是一種簡單易實現的方式。CNN以ngram作為基本單位建立句子的表示,通過將多個卷積核的結果特征矩陣合并,再利用池化層對抽取的特征進行特征壓縮(取最大或平均),減少模型參數,增強泛化能力。Nguyen等人使用CNN解決事件檢測任務[13]。Chen等提出了動態多池化卷積神經網絡模型(dynamic multi-pooling convolutional neural network,DMCNN)[14],在捕獲詞語級有意義的語義規則基礎上,采用基于CNN的框架來學習句子級表示,并使用動態多池化策略抽取觸發詞和事件論元,動態多池化策略與普通最大池化機制相比,可以更好地保留有效的特征,有效應對句子級“多事件”和“論元重疊”問題,但卻存在事件分類階段的誤差會傳播至角色分類階段的問題。
(2)通過RNN獲取句子語義表示
將事件抽取視為序列標注任務,使用RNN對序列信息進行建模,考慮上下文語義信息,為句子中每個字標注對應的標簽,能夠同時區分觸發詞和事件論元,并且避免了CNN方式的誤差傳播問題。但RNN存在梯度爆炸或梯度消失問題,其改進的長短時記憶網絡(long short term memory networks,LSTM)巧妙地使用遺忘門和記憶門存儲遠距離信息有效解決了RNN的長期依賴問題,但沒有考慮上文信息,雙向BiLSTM能夠更好地依賴上下文獲取句子的有效表示。Nguyen等基于RNN構建了局部特征和全局特征[18],用于觸發詞識別和論元分類的聯合抽取;Feng等采用了添加CNN的RNN模型[15],分別獲取文本的詞語和序列特征,然后將詞語特征和序列特性合并作為最后的特征進行事件抽取。游飛使用BiLSTM模型,融合詞向量、詞性、局部特征向量、句法分析結果和武器裝備實體等特征,實現了軍事領域事件抽取[30]。路揚使用BiLSTM模擬上下文輸入,利用組合特征完成多任務的生物醫學事件抽取[31-32]。
(3)注意力機制獲取句子語義表示
CNN、RNN在建模句子語義表示時忽略了句子中不同部分關注程度的異同,而與事件類型、觸發詞密切相關論元分散、角色重疊等問題需要給予句子不同部分不同的關注度才能更好地表示它們之間的語義關聯。注意力機制能夠對結構化關系進行建模,通過控制模型對句子中不同部分的關注程度,注意力機制引導模型對句子中和事件相關的重要部分賦予更高權重,而對不相關部分賦予較低權重。Liu等將識別出的論元的特征添加到觸發詞抽取模型中[33]。黃細鳳為了獲取更多的上下文序列之間的信息,在雙向RNN模型中增加了動態掩蔽注意力機制(DyMAN)[34-35],提升了抽取效果。針對句子級多事件,主要利用各種特征、保留更多的上下文特征、引入關系弧、引入篇章級的特征等,這些方法沒有考慮到事件之間的關系。聯合多事件抽取框架JMEE通過引入語法弧和注意力機制來實現詞語之間的信息流聯系,并利用上下文語法表示聯合抽取觸發詞和事件論元,特別保留了多個事件之間的聯系[36]。
Transformer使用注意力機制結構代替了LSTM對序列進行表示,摒棄了之前傳統的encoder-decoder模型必須結合CNN或RNN的固有模式,可以綜合考慮句子兩個方向的信息,在減少計算量和提高并行效率的同時取得了更好的效果。預訓練語言模型BERT等采用Transformer進行編碼的同時雙向綜合地考慮上下文特征。針對多事件中存在論元角色重疊問題,采用預訓練語言模建模句內和句間上下文信息,從整體上提高了任務的準確度[37]。DYGIE++是一個基于BERT的框架,它對文本跨度建模并學習句內和句間上下文信息[38]。MLBiNET使用基于encoder-decoder模型的多層雙向網絡同時識別篇章內的多個事件,該模型包括語義編碼器、雙向解碼器、信息集成層、多層雙向打標器四個部分[39]。其中,語義編碼層由BiLSTM和自注意力機制構成;雙向解碼層融合前向解碼和后向解碼來捕獲雙向事件依賴關系;信息集成層基于簡單的LSTM結構,將事件標簽信息和語義信息集成到句子中;多層雙向打標器逐層傳遞相鄰句子信息,最終捕獲較大鄰域中的語義和事件信息,從而實現跨句子事件的聯合抽取。
2.1.3 句子和文檔多粒度混合語義表示
從詞粒度、句子粒度出發獲取詞語、句子的有效特征進行事件抽取,可以提升句子級事件抽取的效果,但不能有效解決論元分散和多事件問題。如果將整篇文檔作為輸入,輸出事件元素,是否可以在一定程度上提升篇章級事件抽取的效果呢?Du等通過實驗證明了這種方法效果并不好。隨著輸入長度的增加,即一次輸入一個句子、k個句子(k取2,3,4,5)和整篇文檔,其準確率先上升后下降,而召回率先下降后上升,最終F1值并沒有得到改善。這表明,篇章級事件抽取不僅要關注整個文檔,還要關注句子層面的語境[40]。因此,出現了使用句子和文檔多粒度混合的抽取方法。
思路一是從整體角度將篇章級事件抽取轉換為序列標注任務,其輸入是句子級表示和文檔級表示的融合特征。如圖4所示,左半部分逐句將句子進行編碼,并將其輸入至句子級BiLSTM,然后拼接產生的編碼以獲取這k個句子的句子級表示。右半部分將這k個句子編碼在一起,同時將它們輸入到文檔級BiLSTM,以獲得這k個句子的文檔級表示,然后通過門控機制將兩者融合。實驗表明,與單獨輸入句子或單獨輸入文檔相比,使用門控機制動態結合來自不同級別文檔的信息可以獲得更好的效果。

圖4 句子和文檔多粒度混合方法(思路一)Fig.4 Sentence and document multi-granularity hybrid approach(idea 1)
思路二是先將句子級抽取轉化為序列標注,然后將句子級抽取的輸入與輸出拼接作為文檔級別抽取的輸入。一般來說,一個事件在一個文本中通常會有一個最能表達該事件的句子,也就是事件的中心句,從語義層面看,該句子包含了該事件的最多的元素和信息,如觸發詞和較多的論元。如果能在句子識別的基礎上將論元補充完整,那么論元分散問題就會得到解決。基于“事件中心句+論元補充”的方法構建了一個DCFEE框架[17],如圖5所示,將事件抽取過程分成了句子級抽取和文檔級抽取兩部分。句子級抽取采用BiLSTM-CRF序列標注模型,將句子分割成字符輸入模型抽取觸發詞和論元。然后,將句子級抽取的輸入與得到的序列標注結果拼接起來,作為文檔級抽取的輸入。對于輸入的句子,判斷其是否為事件的中心句,在中心句基礎上,獲取文檔中該句周圍句子中的論元,對事件進行補充。

圖5 句子和文檔多粒度混合方法(思路二)Fig.5 Sentence and document multi-granularity hybrid approach(idea 2)
語義特征和結構特征是文檔的兩種表示方式,2.1節從詞語、句子和文檔等不同粒度來獲取語義特征的方式,局限于從詞語本身、句子的語法關系、前后位置的序列關系等角度捕獲語義信息,對于任意位置、更深層次的語義關系卻無能為力。文檔中的句子結構信息(如句法解析樹)可以增強原始文本序列數據的表示,同時,文本序列中的語義信息(如語義解析圖)也可以用來增強原始文本序列數據。這些圖結構的數據能夠編碼事件元素之間的復雜關系,將文本表示成圖后,就不再局限于前后位置的序列關系,可以捕獲到任意兩個位置之間的關系,除了位置關系、語法關系,還可以捕獲更深層次的語義關系。因此,篇章級事件抽取可以從結構特征考慮,用圖結構捕捉文本元素之間更豐富的關系進行最佳表達。
目前,捕獲結構特征的事件抽取解決方法有三種:一是將原始文本的句法、語義等特征轉化為圖結構的數據,以利用底層結構信息使用圖神經網絡(graph neural network,GNN)解決,如構建句法依賴圖。圖神經網絡是基于消息傳遞的學習框架,通過對節點、邊的特征進行轉換、傳播和聚合,從而學習更好的圖表示,可以為任意的圖結構數據建模。二是有效地建模復雜的篇章級文本序列數據,學習基于圖的輸入和高度結構化的輸出數據之間的映射,如構建篇章級事件連通圖。三是進行恰當的圖表示學習,利用專門設計的GNN來學習不同圖結構數據的獨特特征,如無向、有向、多關系和異質圖,如構建句子和實體提及的異質圖。
2.2.1 構建句法與語義圖
句法表示為事件檢測提供了一種有效的機制,根據句法依存關系直接將詞語鏈接到上下文,句法依存關系可以捕捉句子的句法信息,更注重兩個詞之間的句法關系,用圖表示整個文檔,可以結合連續邊的信息來表示文檔中句子之間的前后關系,如圖6所示。語義角色圖(abstract meaning representation parsing,AMR)是有根、有標注、有向、無環的圖,用于表示非結構化的具體自然文本的抽象概念之間的高級語義關系,如圖7所示,AMR圖由AMR解析樹衍生出來,在語義上相似的不同句子可能共享相同的AMR解析結果。

圖6 句法依存關系Fig.6 Syntactic dependencies

圖7 語義依存關系Fig.7 Semantic dependencies
DBRNN通過橋接句法依存樹上相關聯的詞語來增強表示[41],從依存分析樹中提取依賴關系,并將其轉換為依賴圖,使用GCN融合句法信息以提升模型性能,同時引入了句法依存邊來增強信息流并結合注意力機制和GCN以對圖進行表示學習[42-43]。Cao等通過GCN融合句法信息從局部和全局視角更好地融合信息[20],進行多事件監測。此外,Ahmad等提出了GATE框架[44],將依賴關系嵌入到上下文表示中,引入自注意力機制學習不同句法依存距離的關系表示,該表示和語言無關,在跨語言場景下具有更好的效果。
2.2.2 構造篇章級連通圖
將文檔有效建模為篇章級事件連通圖[45],通過疊加句子級事件抽取結果來提取最能代表篇章核心內容的事件(不一定是最頻繁發生的事件,但篇章中的所有事件都一定與核心事件有關聯),但由于一篇文章經常描述多個事件,簡單地疊加無法獲取核心事件。同一論元可以對應多個事件,以論元為橋梁,構建篇章事件連通圖,并使用計算網頁重要度的PageRank方法挖掘連通圖以獲取重要信息。
篇章級事件表示基于以句子級事件,首先利用句法樹結構提取句子級觸發詞和事件論元,將其作為節點構造句子級事件多邊形,然后根據節點的共現性和詞語的詞匯相似性或相關性連接事件多邊形,構造篇章級事件連通圖,然后使用隨機游走計算節點權重,從而計算事件相關度。連通圖的作用僅限于提取權重較高的節點,而沒有充分利用到圖結構信息來計算事件相關度。
2.2.3 建模事件異質圖
與僅有一類節點與一類邊構成的同質圖不同,異質圖是由多種節點和多種邊構成的網絡如AMR圖、知識圖譜等。將事件抽取轉化為構建基于實體的有向無環圖[46],首先識別出文檔中所有的事件論元,然后通過文檔級信息融合解決句子級抽取造成的信息沒有跨句流通的問題。然后根據設定的事件類型,判斷文檔中是否包含某一事件類型的事件,如果是,則逐步生成該事件類型的有向無環圖。有向無環圖的生成更類似于表格的填寫,每個事件類型的論元都是根據設定好的一步步填寫的。由于所有設定的事件類型都是逐個判斷的,理論上可以提取一個文檔中的多個事件,這就解決了單文檔多事件的問題。
Doc2EDAG忽略了事件之間內在關聯性,考慮將當前篇章中抽取的事件記錄存儲下來,在預測時使用。GIT方法考慮構建句子和實體提及的異質圖[47],將實體之間、句子之間、實體和句子之間的信息建模構圖(節點:句子、候選實體提及;邊:句-句關系、句內屬性之間關系、屬性-句關系、跨句同名屬性關系),使用GNN網絡進行編碼,增強實體提及和句子向量表示。GIT方法基于異質圖網絡完成篇章內句子、實體提及之間的交互,并引入tracker跟蹤預測事件記錄。
文檔中的語義特征和結構特征并不是孤立地對事件抽取起作用的,通常會綜合考慮上下文語義信息和結構特征兩個方面來共同應對“論元分散”和“多事件”問題[39,46-48]。
Doc2EDAG模型[46]使用命名實體識別模型將所有的事件論元識別出來,然后在添加位置編碼后,將句子編碼向量與事件論元編碼拼接一起輸入Transformer中,以促進文檔級上下文信息的互通,并獲得文檔級跨句子信息,然后按照預定義的事件角色順序為觸發的事件類型創建一個有向無環圖,最后轉化為事件抽取的二分類問題,一定程度上解決了論元分散和多事件問題。GIT[47]基于異質圖網絡完成篇章內句子、實體提及之間的交互,并引入tracker跟蹤預測事件記錄以及論元對應抽取記錄;DE-PPN設計了基于編碼器/解碼器結構的端到端模型[48],其中文檔級編碼器用于獲取對整個文檔的感知表示,多粒度解碼器用于并行地生成事件。對每個句子分別進行編碼,經過池化(max-pooling)操作后拼接為文檔編碼,將事件抽取過程劃分為候選論元識別、事件預測、角色填充等多個步驟。面向新冠新聞的三階段篇章級事件抽取方法將抽取過程分為事件類型分類、事件句抽取和篇章級論元抽取三個階段。
一些研究人員試圖借鑒閱讀理解[49-54]、智能問答[55-58]等其他任務的有效解決方案來應對復雜的篇章級事件抽取問題。
2.4.1 轉化為閱讀理解問題
將論元抽取當作機器閱讀理解任務[53],把論元角色表述為自然語言描述的問題,通過在上下文中回答這些問題來抽取論元,更好地利用了論元角色類別的先驗信息。模型主要包含四個部分:輸入層、編碼層、跨度預測層和論元分配層。其中,輸入層是按照機器閱讀理解的設置,利用語料中的事件模式信息生成具有論元表征的問題和原句子作為初始輸入表示;編碼層通過BERT預訓練模型編碼字級別特征,利用雙向GRU學習序列特征;跨度預測層根據編碼層的輸出,對每個字進行二分類來確定答案的跨度;論元分配層利用實體提及過濾抽取結果,最后給實體提及分配論元角色。如,問題模板見表1。

表1 問題模板Table 1 Question template
Du和Cardie采用了模板方法[51],表明構建的問題更自然,事件提取性能更好。然而,這些方法都沒有一種直接通過簡化來解決長期依賴問題。針對長距離依賴問題,通過句子簡化方法研究了基于閱讀理解的事件抽取[56]。
2.4.2 轉化為多輪問答問題
基于多輪問答范式的事件抽取,充分利用觸發詞、事件類型和論元之間的交互信息,同時多輪的策略可以捕捉相同事件類型中不同論元角色之間的依賴。將事件抽取分成三輪遞進式問答:第一輪問觸發詞是什么?第二輪基于觸發詞問事件類型是什么?第三輪基于事件類型和觸發詞問論元[58-59]。
2.4.3 轉化為其他任務
以前的一些方法試圖從圖像中轉移視覺知識以改進純文本事件提取,或者從文本和圖像中聯合抽取多模態事件,圖像包含事件的快照,但可能無法在單個快照中捕獲事件的所有論元或參與者。因此,提出視頻多模體事件抽取,使用多模體Transformer結構,利用特定的解碼器進行聯合文本和視頻事件以及論元提取,同時構造了一個新的數據集(包含事件類型、事件論元和角色、論元邊界、文本和視頻中事件的跨模態共指解析)。文獻[60]認為寫作風格是文件內容組織的一種特殊方式,在具有特殊領域的文件(如財務、醫療文件等)中相對固定,因此將文檔中的寫作風格建模為論元角色的分布,即角色-等級分布,由此提出了一種基于角色-等級分布的監督機制的事件抽取模型。
在事件模式是未知的情況下,開放域事件抽取不拘泥于精確地將事件具體要素全部抽取,其主要目的一般是從開放的文本數據中分析、檢測出事件,其目標事件類型和結構不受限制,有更好的事件覆蓋率。大多數情況下,開放域事件抽取沒有人工標注數據,采用無監督的方法,通常假設當事件觸發詞和事件論元相似時,其表達的事件類型也相似。開放域事件抽取一般流程是先通過關鍵詞識別進行事件類型發現,關鍵詞進一步分為觸發詞和事件論元,然后通過關鍵詞聚類相似的事件,最后進行事件模式歸納,如圖8所示。

圖8 開放域事件抽取一般流程Fig.8 General process of open domain event extration
按照特征提取方式,將開放域事件抽取方法分為兩類:基于傳統聚類的方法和基于神經網絡的方法。
基于傳統聚類方法的開放域事件抽取[61-64]主要采用LDA(隱含狄利克雷分別)和基于單詞距離的層次聚類算法進行聚類。Sha等采用歸一化割的聚類算法計算事件論元所屬角色的類別[61],Huang等將觸發詞和論元的組合表示進行譜聚類,同時發現事件類型并進行事件模式歸納[62],Ferguson等采用半監督的方法,首先將提及同一事件的文本聚類,然后給每個聚類中貼上一個標簽,最后,將新示例與原始訓練集一起重新訓練事件抽取器[63]。這幾種方法都是先識別出觸發詞和論元,再為論元進行角色分類,Ahn等則采用逆向思維,提出先利用表示學習進行角色分類,再進行事件類別聚類的方法[64]。
傳統聚類的方法依賴人工提取特征,且沒有充分利用文本語義信息,事件模式歸納的性能嚴重依賴依存句法分析、AMR語義分析等工具的性能,而神經網絡及其增強的模型能夠有效利用上下文語義信息進行自動特征提取[65-70]。Liu等提出一種基于神經網絡的深度隱變量模型,對開放域新聞數據進行聚類抽取[65];Wang等提出生成對抗網絡的事件抽取模型,使用狄利克雷(Dirichlet)分布對事件建模,利用生成器網絡捕獲潛在事件模式,利用鑒別器區分原始文檔和從潛在事件中重建的文檔[66];文獻[70]嘗試使用對抗域自適應模型采用對抗訓練的方法,按照表示學習、事件分類和領域預測三個步驟進行觸發詞識別。最近的一些研究將零樣本學習(zero-shot learning)應用于事件抽取[71-72],將其視為分類問題。把帶有標簽事件提及的事件類型視為可見類型,將其他事件類型視為不可見類型,利用神經網絡架構通過最小化事件類型之間的距離來共同學習,并將二者的結構表示映射到共享的語義空間中,以此完成事件抽取。隨著prompt技術的發展,信息抽取任務中命名實體識別、關系抽取等使用prompt learning達到了較好的效果[73-76],同時也有些學者開始研究利用prompt進行事件抽取。
篇章級事件抽取常用數據集有以下幾種:
ACE2005數據集,包含599篇文檔,18 117個句子。
MUC-4數據集[77]是在第四次信息理解會議中提出的,定義了5種事件類型,包含1 700篇發生在拉丁美洲的恐怖襲擊的新聞報道。
Google數據集是GDELT[78]事件數據庫的一個子集,與事件相關的包含30種事件類型,11 909篇新聞文章。
Twitter數據集是從2010年12月發布的應用Twitter流媒體API發布的推文中收集的,包括20種事件類型和1 000條推文。
NO.ANN,NO.POS,NO.NEG(DCFEE),在文獻[17]中定義了5種金融事件類型:股權凍結、股權質押、股權回購和股權增持。通過遠程監督的方法自動標注了2 976個公告(文檔)。NO.ANN表示每種事件類型標記的公告數量,NO.POS表示正例數,NO.NEG表示負例數。其中91%的事件的論元均分散在多個句子中。
ChFinAnn(Doc2EDAG),中文金融領域數據集ChFinAnn,共包含32 040篇文檔,5種事件類型同DCFEE定義。
RAMS數據集。跨多個句子的角色(RAMS)由Ebner等人[79]發布,用于論元鏈接任務,包含139種事件類型,3 194個文檔和65個角色。
WIKIEVENTS,由Li等人作為文檔級基準數據集發布[80]。該數據集收集自描述真實世界事件的英文維基百科文章。
DuEE是百度發布的金融領域數據集[81],包含13種事件類型,11 700篇文檔。
CEC是由上海大學語義智能實驗室構建的中文突發事件數據集[82]。共332篇文檔,5類突發事件(地震、火災、交通事故、恐怖襲擊和食物中毒)。
MAVEN是一個大規模通用領域事件檢測數據集[83],包含168種事件類型,4 480篇文檔,49 873個句子。
表2列出了常用數據集的語種、文檔數量、句子數量和事件類型種類。

表2 篇章級事件抽取數據集Table 2 Datasets of document-level event extraction
事件抽取三個基本的評價指標為準確率P、召回率R和F1值。其中,準確率是指抽取出的正確個數占抽取出總數的比例,用來衡量抽取的準確程度;召回率是指正確抽取的個數占所有正確總數的比例,用來衡量抽取的全面程度;F1值是準確率和召回率的加權平均值,用于系統性能的總體評估,F1值越大,模型性能越好。這三個評價指標的具體公式如下:

其中,TP是正確抽取的正例數,FP是錯誤抽取的正例數,FN則是錯誤抽取負例數。
近年來事件抽取領域部分經典模型的效果如表3所示,由于所使用數據集和方法的不同評估指標不盡相同,有些只給出了觸發詞檢測結果(T),有些則給出了論元角色分配結果(Rl),表中P、R、F1均來自對應方法的原文實驗結果。

表3 在測試集上的準確率(P)、召回率(R)和F1值Table 3 Overall event-level precision(P),recall(R)and F1-score(F1)evaluated on test set
單事件與多事件評估結果見表4。其中S表示一個句子中只有一個事件,M代表多事件,S&M表示測試數據中既包含單事件也包含多事件。EF、ER、EU、EO、EP是ChFinAnn數據集的5種事件類型。

表4 所有事件類型在單事件(S.)和多事件(M.)的F1值Table 4 F1-score for all event types on single-event(S.)and multi-event(M.)set 單位:%
篇章級事件抽取從文檔級文本出發進行事件檢測和論元識別,主要面臨“論元分散”和“多事件”問題,相關研究針對這兩個問題陸續開展。獲取不同粒度語義表示的方法限于從詞本身、語法關系、前后位置關系的角度捕獲語義特征,但對于任意位置、更深層次的語義關系顯得蒼白無力;通過建模句法語義圖、事件連通圖和異構圖等圖模型,利用GCN等來捕獲文檔結構特征的方法能夠有效捕捉文本元素之間更豐富更深層的關系;融合語義表示和結構特征的方法將兩者有機結合進行最佳表達來完成事件抽取;同時,也可以將抽取任務轉化為閱讀理解、智能問答等其他任務來有效應對。盡管這些方法一定程度上解決論元分散和多事件的問題,但抽取效果還有很大的上升空間。因此,未來的研究工作可以關注以下幾個方面:
(1)改進基于預訓練語言模型的事件抽取。針對目前采用的預訓練語言模型BERT作為編碼器進行事件抽取的方法,由于事件抽取任務和BERT預訓練階段的任務存在較大差距,且BERT編碼過程由于文本片段長度的限制導致缺乏片段之間的交互,不能有效地感知篇章全局信息并建模事件間關系,因而模型學習到的特征表示在事件語義層面可能出現偏差。因此,研究如何使用基于transformer的長文本編碼,如Reformer、Longformer等模型作為編碼器,充分利用文檔中事件之間的關系建模整個文檔的全局編碼,有利于更好地感知上下文信息有效應對“論元分散”和“多事件”問題。
(2)小樣本事件抽取。目前的事件抽取方法多是基于深度學習,需要大量地標注數據,然而,由于標注成本高、數據來源多樣等問題,導致事件數據存在稀疏性問題。現有事件抽取數據集大多存在標注數據少的問題,如最主流的數據集ACE2005,只有33種事件類型,599篇文檔,其中有些事件類型的標注數據少于10條,在深度學習時代,這么小規模的數據集是難以支持訓練比較復雜的模型,測試結果也常常不穩定。因此,一些學者開始研究小樣本關系抽取、小樣本領域知識抽取等[84-86],未來研究可以更加關注這項富有研究價值和高挑戰度的小樣本事件抽取。
(3)數據增強的事件抽取。為了解決事件抽取標注數據規模有限的問題,除了研究小樣本學習外,還可以從數據增強的角度來緩解,對于文本數據,常用的數據增強方法有回譯法、簡單數據增強(easy data augmen‐tation,EDA)。回譯法是將原來的句子翻譯為其他語言,然后再翻譯回原語言,可以進行一到兩次的翻譯,這種方法能夠增加文本數據的多樣性,但產生的數據依賴于翻譯的質量;EDA是通過同義詞替換、隨機插入、隨機交換和隨機刪除的方式產生新數據,這種方法操作過程中有可能改變句子原來的意思,導致模型性能的降低。2022年最新的研究提出了基于數據增強和弱監督對抗訓練的中文事件檢測[87],但文中的數據增強采用的是回譯和Mix-Text等常用方法,因此,研究新的數據增強方法為模型提供充足的數據支撐是一項有意義的工作,基于此深入研究模型結構、性能,比如能否將事件論元與現有知識圖譜中實體融合采用知識增強的方法、能否使用對比學習、多任務學習來訓練模型,進而提高模型的魯棒性。
(4)開放域事件抽取。現有大多數事件抽取關注的是預定義好事件類型的限定域事件抽取,然而預定義的事件模式畢竟有限,事件類型覆蓋率較低,抽取模型泛化性不理想,不能推廣到新的領域。面對大數據時代積累并隨時產生的多源異構數據和多域多元事件,開放域事件抽取的研究勢在必行,如何從海量復雜的數據中發現豐富的事件類型和結構,構建高質量的事件模式,并實現事件模式自動歸納與學習,是值得進一步思考和研究的內容。