肖夢南 賀瑞芳 馬勁松
(天津大學智能與計算學部 天津 300350)
(天津市認知計算與應用重點實驗室(天津大學) 天津 300350)
(mnxiao@tju.edu.cn)
作為信息抽取的子任務,事件抽取旨在從大量非結構化的文本中抽取出用戶感興趣的事件,并以結構化的形式呈現,其可以進一步應用到事理圖譜[1]、信息檢索、自動文摘[2]、對話系統及故事生成[3]等下游任務中. 根據自動內容抽取(automatic content extraction,ACE)評測組織的定義,事件抽取包括4 個任務:1)觸發詞識別. 二分類任務,判斷候選詞是否觸發事件.2)觸發詞分類. 多分類任務,已知候選詞是觸發詞的情況下,判斷其觸發的事件類型. 3)事件論元識別.二分類問題,判斷候選實體是否是事件的參與者. 4)事件論元分類. 多分類任務,已知候選實體是事件參與者的情況下,判斷其在事件中扮演的角色. 其中前2個任務可以合并為事件檢測,后2 個任務可以合并為事件論元抽取. 事件檢測可形式化為一個單詞級的多分類問題,旨在為句子中的每個單詞分配1 個所屬的事件類型或非事件類型. 考慮到事件檢測仍然面臨著嚴峻的挑戰, 本文聚焦該任務并采用ACE2005英文數據集進行探索. 例 1 是一個標準的 ACE 事件標注樣例,它包含一個由觸發詞“lost”觸發的 End-Position 事件,該事件涉及一個事件元素Person(“two million Americans”).
例1. In all, two million Americans (A1) have lost(E1) their jobs under President Bush so far, not to mention three of them being the top three leaders of his economic team.
傳統基于特征的方法[4-9]主要是將單詞的分類線索(如詞法、句法、文檔等信息)轉換為特征向量,然后輸入分類器中進行事件檢測. 盡管此類方法在一定程度上有效,但是特征工程需要專家知識和豐富的外部資源,并且人為設計特征模板通常耗時耗力.近幾年,基于表示的神經網絡方法在事件抽取中也取得了不錯的成績. 此類方法[10-23]主要將候選事件提及用詞嵌入表示,通過神經網絡學習更抽象的特征表示,并進行事件分類. 然而該類方法忽略了2 個很重要的問題:
1)受句子語境的影響,同一個事件觸發詞會觸發不同的事件類型. 以例1 中的事件觸發詞“lost”為例,表1 展示了ACE2005 英文訓練集中“lost”觸發的事件類型、頻數和上下文. 從表1 可以看出,“lost”一共觸發了8 個事件,共包括4 個事件類型. “lost”在這8 個事件中的意思均為“失去”,但由于句子語境的不同,“lost”作為“失去”的意思觸發的事件類型也不同. 由此可見,事件觸發詞觸發的事件類型不僅和觸發詞本身有關,同樣受其所在句子的語境的影響.

Table 1 Context of “lost” and the Event Type and Frequency It Triggers表1 “lost”的上下文及其觸發的事件類型、頻數
2)受自然語言表達多樣性的影響,不同的事件觸發詞會觸發同一個事件類型. 在日常表達中,每個句子都對應一個潛在語義. 由于自然語言表達的多樣性,使得相同的潛在語義有不同的外在表達. 對應到事件檢測中,就是觸發同一個事件可能對應的事件觸發詞有多個,將其定義為多詞觸發同一個事件類型問題. 以Transport 事件類型為例,其在ACE2005英文數據集中一共出現603 次,由233 個不同的事件觸發詞觸發,事件觸發詞包括“land”“got”“move”“arrive”等. 圖1 展示了ACE2005 英文訓練語料中每種事件出現的次數、觸發事件的觸發詞的種類數以及二者的比值. 圖1 中“count”表示每種事件類型出現的次數, “unique”表示觸發事件的觸發詞的種類數(相同的觸發詞看作一類), “ratio”表示“unique”和“count”的比值. 圖1 中,在 ACE2005 英文訓練語料中,多個詞觸發同一個事件類型的現象非常頻繁,平均(“unique”之和與“count”之和的比值)占比為29.1%.

Fig.1 Distribution of various events in ACE2005 English training dataset圖1 ACE2005 英文訓練數據集中各類事件的分布
前人基于表示的模型在處理1 詞觸發多個事件類型問題時,將其當作歧義問題對待. 其中Liu 等人[16]通過知識蒸餾的方式提高模型識別句子中實體的能力,利用實體來輔助解決歧義問題,但是需要對數據進行實體標注;Zhao 等人[19]通過有監督的方法來獲取全局文檔表示,以此來增強文檔中所有單詞的表示;Chen 等人[20]通過注意力機制為每個句子選擇不同的文檔形式,從而使得選擇的句子和當前句子更相關. 從例1 和表1 可以看出,“lost”在句子中的意思是確定的,其觸發的事件類型不僅受觸發詞本身的影響,還受到句子語境的影響. 如果我們考慮顯式地將句子的語義作為特征來輔助進行分類,那么就能為觸發詞增加更多的判別知識. 這對于只觸發1 次的事件類型是有幫助的,對觸發多次的事件類型雖然也能起到促進作用,但不可避免地會帶來一定的噪聲,這源于觸發多次的事件的上下文不完全相同,句子的語義也就不完全相同. 表1 中“lost”一共觸發了5 次“Die”事件,而這5 個“Die”事件的上下文不盡相同,因此句子的語義信息也不完全相同,但它們觸發的事件類型都是“Die”. 此種情況下,只考慮淺層的句子語義信息,將給觸發詞識別帶來噪聲. 因此我們更需要句子的潛在語義信息,這樣對于不同上下文的觸發詞觸發同一個事件類型來說,既能有效利用句子信息,又可以減少不同上下文帶來的噪聲.
同樣地,對于多個事件觸發詞觸發同一個事件類型的情況,我們可以通過單詞的潛在語義信息來緩解. 對應同一事件類型的不同的事件觸發詞經過上下文編碼后得到的表示可能是不同的,但若挖掘到單詞的潛在語義信息,并將其作為分類特征來輔助事件檢測,則具有相似潛在語義的單詞,被識別為同一個事件類型的概率就會變大. 為解決如上問題,受變分自編碼器(variational auto-encoder, VAE)中隱變量以及其他自然語言處理(natural language processing,NLP)任務中分層結構的啟發,本文提出了一種基于分層潛在語義驅動網絡(hierarchical latent semantic-driven network,HLSD)的方法進行事件檢測. 具體來講,我們首先利用BERT 來對候選的事件提及進行編碼,得到句子的表示和句子中單詞的表示,并分別采用VAE 建模得到不同粒度的潛在語義表示,最后設計一個由粗到細的分層結構,先利用句子的潛在語義信息再利用單詞的潛在語義信息來完成事件檢測.本文的主要貢獻有3 個方面:
1)提出一種新的由粗到細的分層潛在語義驅動網絡模型進行事件檢測,模型從文本表示空間中分層降維到新的潛在語義空間,探索事件宏微觀語境中更本質的影響信息.
2)利用變分自編碼器捕獲句子和單詞的潛在語義信息. 據我們所知,這是第1 個顯式考慮不同粒度潛在語義信息的事件檢測,且不需要對數據進行額外的標注.
3)在ACE2005 英文數據集上的實驗表明我們的模型是有效的,在1 詞觸發多個事件類型上,模型的正確率有所提高,在多個詞觸發同一個事件類型上,模型識別的觸發詞的種類數有所提高.
目前,事件檢測主要歸納為3 類:基于特征、基于表示和基于外部資源的方法.
該類工作將單詞的分類線索如詞法、句法、文檔等信息轉換為特征向量,然后輸入分類器中進行事件檢測. Ahn[4]使用詞性特征(如單詞全拼、詞性標記)、句法特征(如依賴關系)以及額外的知識特征(如WordNet). Ji 等人[5]將事件抽取的范圍從單個文檔擴展到與其相關的多個文檔,結合來自相關文檔的全局信息和局部決策來進行事件檢測. 為了從文本中捕獲更多的線索,Liao 等人[6]利用跨事件的方法以捕獲事件之間的共現信息. Hong 等人[7]則采用跨實體的方法,通過查詢大規模語言資源來形成對實體的豐富描述. 此外,還有一些方法考慮詞對之間的特征,Li 等人[8]利用結構化感知機模型融入全局特征以顯式地捕獲觸發詞和事件論元之間的依賴關系;Liu 等人[9]利用概率軟邏輯方法編碼事件之間的聯系. 然而人力設計特征模板通常耗時耗力,且特征工程還需要專家知識和豐富的外部資源.
深度學習的進步極大地推動了事件檢測的發展.基于表示的方法將候選事件提及用詞嵌入表示,再采用各種神經網絡模型自動學習更抽象的特征表示,最后通過分類層來進行事件檢測. 首先,Chen 等人[10]和Nguyen 等人[11-12]成功地將卷積神經網絡(convolutional neural network,CNN)應用到事件檢測中,并獲得了較好的性能. 隨后,Nguyen 等人[13]用循環神經網絡(recurrent neural network,RNN)來進行事件檢測和事件論元抽取的聯合學習. 此后Feng 等人[14]利用CNN 和RNN分別捕獲與語言無關的短語塊信息和文本序列信息,在中英文事件抽取任務上均獲得了良好的效果. 此外,為了解決觸發詞的歧義性問題,Duan 等人[15]采用文檔級信息來改進句子級的事件檢測;Liu 等人[16]提出采用基于知識蒸餾的對抗模擬方法進行事件檢測,提高模型從原始文本中獲取抽象事件知識的能力,從而解決事件觸發詞的歧義問題,并且減少對外部自然語言處理工具的依賴.Yang 等人[17]利用預訓練語言模型進行事件抽取和生成新的訓練數據,在事件檢測任務上取得了不錯的性能.
為提高事件檢測模型的泛化能力和魯棒性,一些工作引入知識增強的方法. Lu 等人[18]提出一種Delta表示學習方法,力圖將事件表示解耦為詞匯具體部分和詞匯無關部分,而不是僅學一個單獨完整的表示,以蒸餾出事件的判別和泛化知識. Nguyen 等人[21]在句子的依存分析圖上使用圖卷積網絡,并提出一種新的池化方式來聚合卷積向量,用于事件類型預測,取得了良好的性能. Liu 等人[22]將事件抽取轉化為機器閱讀理解任務,將需要抽取的事件類型和論元通過無監督方法轉化為問題,借助閱讀理解模型來促進事件抽取. Lai 等人[23]基于圖卷積網絡引入門控機制來整合語法信息,提升事件檢測性能.
整體上,基于表示的事件檢測方法很難解決數據稀疏和分布不平衡的問題.
FrameNet 中定義的框架(frame)與ACE 事件抽取任務中的事件存在高度相似的結構,其包含的語法單元與框架元素分別對應觸發詞和事件論元. 因此,Liu 等人[24]首先建立FrameNet 中的框架與ACE2005中的事件間的匹配對應關系,進而得到FrameNet 事件數據集,然后結合ACE2005 數據集對模型進行聯合訓練;Chen 等人[25]利用遠程距離監督的方法結合Freebase, FrameNet, Wikipedia 生成一批高質量的標注數據以輔助事件檢測. Liu 等人[26]利用文本注意力機制捕獲多語數據的一致性信息以緩解數據的稀疏性,同時采用門控跨語言注意力機制捕獲多語數據的補充性信息以應對單語數據的歧義性. Wang 等人[27]基于Freebase 建立一個覆蓋率良好的大型事件相關候選集,然后利用對抗訓練機制從候選數據集識別出信息實例,并過濾掉有噪聲的實例;Tong 等人[28]借助WordNet開放域觸發詞知識,設計一種教師-學生網絡模型,實現對事件觸發詞的知識感知表示,從而提高模型性能.Wang 等人[29]采用對比學習在大規模無標記語料上基于抽象語義表示(abstract meaning representation,AMR)進行預訓練,利用無標注數據中的事件知識來提高事件抽取性能.
然而,引入外部資源得到的數據,質量很難保證,并帶來一定的噪聲. 本文嘗試在不引入外部資源、不使用額外標注信息的情況下,從不同的潛在語義空間角度,探索事件宏微觀語境中更本質的影響信息.
變分自編碼器[30]是將變分分布引入自編碼器的一種生成模型,其從重構的角度挖掘出數據的代表性潛在信息,在自然語言處理中取得了不錯的效果.例如Miao 等人[31]以及Srivastava 等人[32]將變分自編碼器運用于主題模型中,獲得一致性更佳的主題.Xu等人[33]在中文隱式篇章關系識別任務中考慮變分自編碼器中的潛在語義變量,獲得了更好的性能. 在本文中我們試圖通過VAE 中的潛在語義變量捕獲句子和單詞的潛在語義. 如何合理地利用不同粒度的語境進行事件檢測成為一個關鍵問題.
分層結構在許多自然語言處理任務上取得了比較好的結果. 例如,Yang 等人[34]通過層次化的注意力網絡在文本分類任務上取得了良好的性能;Xiong 等人[35]在Yang 等人[34]的基礎上使用層次輸出層,取得了更好的性能. 考慮語言的多樣性,Pappas 等人[36]通過多任務學習訓練多語言層次注意力網絡,用以學習文檔結構,提高模型的遷移能力. 受分層結構的啟發,本文將從VAE 中捕獲的不同粒度語境信息,采用分層結構進行事件檢測;不同于前人由細粒度到粗粒度的分層結構,本文采用一個由粗粒度到細粒度的策略. 這源于事件檢測是一個細粒度的單詞級分類任務,而文本分類是粗粒度的句子級/篇章級分類任務.
與前人工作[16]一致,我們將事件檢測建模為一個單詞級分類任務,即我們將句子中的每個單詞都看作候選觸發詞,判斷其觸發的事件類型,對于未觸發事件的單詞,其類別設置為 None.下面對ACE2005語料中出現的概念進行簡要描述.
1)實體(entity). 包含某種特定語義類別的對象或對象集合,例如人(PER)、組織機構(ORG)等.
2)事件提及(event mention). 發生事件的短語或句子,包含1 個觸發詞和任意數量的論元.
3)觸發詞(trigger). 代表事件發生的核心詞,大多數為動詞或名詞.
4)事件類型(event type).ACE2005 語料中共包含8 種事件類型和33 種事件子類型.
5)論元(argument). 在事件中扮演一個角色,可能是實體提及、時間表達式或值.
6)論元角色(argument role). 每一種事件子類型均對應著一定數量的角色,ACE2005 語料共涉及35種角色,但沒有一種事件類型可以有35 種角色.
圖2 展示了本文提出的HLSD 模型框架,其主要包含4 個模塊:1)詞嵌入與序列編碼. 將句子中的每個單詞都轉換為連續向量,同時對句子進行編碼.2)雙重潛在語義挖掘. 利用句子級變分自編碼器挖掘句子的潛在語義信息,利用單詞級變分自編碼器挖掘單詞的潛在語義信息. 3)分層結構. 采用由粗到細的分層結構,充分利用句子和單詞的潛在語義信息.4)事件類型預測. 計算每個候選觸發詞對應每個子類的概率. 下面將詳細介紹模型的各個部分.

Fig.2 The architecture of HLSD圖2 HLSD 架構
近年來,單詞表示學習有了新進展[37-39],有效的單詞表示能夠為模型帶來性能上的提升. 為了充分挖掘單詞表示帶來的潛在性能提升,本文模型的單詞嵌入和序列編碼使用BERT[39].
BERT 是一種由多層雙向Transformer[40]堆疊、經掩碼語言模型(masked language model,MLM)預訓練的語言表示模型,在特定語料上進行微調后編碼句子,可以得到高質量的語境化單詞表示. 給定事件提及句子,xi是句子中第i個位置上的單詞,L是句子中單詞的個數,在句子的開頭和結尾處分別加上“[CLS]”和“[SEP]”符號,然后將句子中每個單詞的字塊嵌入(wordPiece embedding)、位置嵌入(position embedding)和段嵌入(segment embedding)加和,加和后的句子作為BERT 模型的輸入,經編碼得到句子的表示hcls∈Rd和句子中單詞的表示h=(h1,h2,…,hL),hi∈Rd表示第i個單詞的表示,其中d表示BERT 隱層向量維度.
針對同一個觸發詞可觸發多個事件類型,以及同一個事件類型可由多個不同的事件觸發詞觸發的問題,為了探索事件宏微觀語境中更本質的影響信息,考慮變分自編碼器可以從重構角度捕捉數據中潛在的表征,本文依據事件提及所在上下文范圍的不同粒度(即句子、單詞),采用變分自編碼器進行雙重潛在語義挖掘,并用來驗證如何輔助事件檢測.
變分自編碼器是Kingma 等人[30]提出的一種生成模型,它由神經網絡參數化的變分分布來近似后驗分布,通過最小化2 個分布間的KL 散度(Kullback-Leibler divergence) ,使得模型更好地重構原始輸入,在本文的HLSD 模型中指BERT 編碼后的句子或單詞表示.
VAE 由編碼器(encoder)和解碼器(decoder)組成,編碼器通過神經網絡得到變分分布的均值 μ和方差σ2,在此基礎上通過重參數化方法得到潛在語義向量,解碼器通過對潛在語義向量進行解碼,對原始輸入進行重構,以輔助挖掘宏微觀語境中更本質的事件判別信息.
3.2.1 句子潛在語義挖掘
為了解決同一個觸發詞觸發多個事件類型的問題,我們采用變分自編碼器來挖掘句子的潛在語義.給定句子經過BERT 編碼后的語義表示hcls,我們將hcls送入編碼器,將其映射到隱空間中.
其中和均是編碼器的參數,我們將函數relu作為激活函數. 與文獻[30]類似,本文假設BERT 編碼后的句子表示hcls的先驗分布和后驗分布為高斯分布. 高斯分布均值μcls和方差σcls2通過線性變換獲得,如式(2)(3)所示:
其中 ε服從標準高斯分布. 至此我們就得到了句子的潛在語義,但是為了保證句子的潛在語義能夠盡可能地包含句子的主要信息,需要通過解碼器來對得到的潛在語義進行解碼,重構原始的輸入.
我們首先利用softmax函數將句子的潛在語義向量歸一化,得到 θcls,例如向量 θcls的第i個元素計算如式(5)所示:
其中m表示zcls的維度,然后將 θcls送入解碼器,得到重構之后的輸出,形式化如式(6)所示,其中是解碼器的參數.
通過讓盡可能接近hcls來實現句子的潛在語義zcls,盡可能包括hcls的主要信息.
根據變分自編碼器的損失函數,句子潛在語義部分的損失函數如式(7)所示:
式(7)中等號右側的第1 項表示KL 散度,用來衡量變分分布q(θcls,zcls|hcls)和真實后驗分布p(θcls|μcls,σcls2)的接近程度,該距離越小越好,即隱變量能更好地表示輸入數據;等號右側第2 項中的Eq(θcls,zcls|hcls)[logp(hcls|zcls,θcls,]表示重構期望,通過從變分分布中采樣隱變量的值,結合重參數化的方法,使得對數似然函數越大越好,即隱變量的值能更好地重構原始輸入. 綜上,在最小化損失函數的約束下,模型會產生更好的潛在語義變量和重構原始輸入數據.
3.2.2 單詞潛在語義挖掘
多個事件觸發詞可以觸發同一個事件類型,說明具有多樣性的觸發詞存在一些深層的共性語義聯系. 在宏觀語境信息的約束下,使用變分自編碼器來挖掘句子中每個單詞的潛在語義,我們通過捕捉這些事件觸發詞的共同特性,為事件檢測提供精準的語境信息. 對比而言,句子的潛在語義表示一句話的主要信息,單詞的潛在語義則是單詞在某個特定上下文的主要語義信息,這樣當不同的上下文表達相似的語義時,單詞的潛在語義也相似. 具體的實現過程與3.2.1 節相同,唯一的不同點在于1 個句子只需要挖掘1 個潛在語義zcls,而在挖掘單詞的潛在語義時,需要對句子中每個單詞都挖掘1 個潛在語義.
得到句子和單詞的潛在語義后,我們設計一個由粗到細的分層結構進行不同粒度語境的融合. 首先利用句子的潛在語義信息進行整體把握,然后利用單詞的潛在語義信息以促進事件檢測.
1)句子級. 通過3.2.1 節得到句子的潛在語義信息zcls,考慮句子中的大部分單詞不觸發事件,然而散在句子中的核心事件元素對觸發事件的判斷起到重要的支撐作用. 因此我們設計一種注意力機制來自動選擇句子潛在語義的相關部分,以削弱對事件判斷的無用信息:
其中MLP代表多層感知機,sigmod代表激活函數,αi表示第i個單詞的注意力得分. 第i個單詞選擇的句子潛在語義zi如式(9)所示:
然后將h和單詞選擇的句子潛在語義進行拼接得到句子級表示hsen=((h1,z1),(h2,z2),…,(hL,zL)).
對于得到的句子級表示,我們采用類似于Transformer[40]的Layer Normalization,得到單詞語義和句子潛在語義的深度交互表示s=(s1,s2,…,sL),si∈Rd表示第i個單詞的中間表示,形式化如式(10)所示:
其中FFN表示FeedForward Network.
2)單詞級. 通過3.2.2 節得到單詞的潛在語義zword=(z1,z2,…,zL),然后將單詞的潛在語義和s進行拼接,得到單詞級表示hword=((s1,z1),(s2,z2),…,(sL,zL)).
對于得到的單詞級表示,我們同樣采用Layer Normalization,得到單詞語義和單詞潛在語義的深度交互表示o=(o1,o2,…,oL),oi∈Rd表示第i個單詞的最終表示,形式化如式(11)所示:
我們將oi輸入到具有softmax層的前饋神經網絡中,獲得r維歸一化標簽概率向量計算形式如式(12)(13)所示:
其中r為預定義的事件類型的個數(本文中r=34),是將單詞xi分類為第j個事件類型的概率值. 如果的概率值最大,則將第j個事件類型作為該候選觸發詞xi的事件類型.
給定所有的H個訓練樣例((x1,y1),(x2,y2),…,(xH,yH)),我們采用平均負對數似然函數作為該模型的損失函數,如式(14)所示:
結合式(7)(14)以及3.2.2 節的損失,我們計算本文模型HLSD 的聯合損失,如式(15)所示:
其中Lword為3.2.2 節單詞潛在語義挖掘部分的損失,λ1, λ2為平衡J,Lsent,Lword的超參數.
本文采用ACE2005 的英文數據集,該語料由美國賓夕法尼亞大學的語言數據聯盟(linguistics data consortium,LDC)提供,包含實體、關系和事件注釋等,主要支持英文、中文和阿拉伯文.
ACE2005 英文語料包括599 篇文檔,定義了8 種事件類型和33 種事件子類型. 為了公平比較,本文遵循前人[7-9]的語料劃分方法,即隨機選擇40 篇新聞文檔作為測試集,來自不同類別的30 篇文檔作為驗證集,剩下的529 篇文檔作為訓練集,預處理后的訓練集、驗證集、測試集包含的句子數、事件類型數如表2 所示.

Table 2 ACE2005 English Dataset Statistics表2 ACE2005 英文數據集統計
目前,事件抽取主要用3 個評價指標來衡量事件抽取性能的好壞:精確率(precision,P)、召回率(recall,R)、F1 值(F1-measure).
本文方法沒有引入大規模外部資源,選擇相關的基線模型包括:
1)HBTNGMA. Chen 等人[20]通過門控多級注意力自動抽取并動態融合了句子級信息和文檔級信息.
2)DEEB-RNN. Zhao 等人[19]采用有監督的分層注意力機制來學習文檔嵌入,并使用它來增強事件觸發詞檢測.
3)Delta. Lu 等人[18]提出一種Delta 表示學習方法,力圖將事件表示解耦為詞匯具體部分和詞匯無關部分,而不是僅學一個單獨完整的表示,以蒸餾出事件的判別和泛化知識.
4)GCN-ED. Nguyen 等人[21]使用圖卷積網絡在句子的依存分析圖上進行卷積,并提出一種新的池化方式來聚合卷積向量,增強單詞的表示.
5)TS-distill. Liu 等人[16]采用基于知識蒸餾的對抗模擬方法進行事件檢測,提高模型從原始文本中獲取抽象事件知識的能力.
6)PLMEE. Yang 等人[17]提出利用預訓練語言模型進行事件檢測和自動數據增強.
7)DMBERT. Wang 等人[27]提出了用一種對抗訓練機制來迭代識別信息實例并過濾掉噪聲的實例.
8)CSMG. Liu 等人[41]提出一個新的預訓練機制,即上下文選擇性掩碼,以提升事件檢測模型的魯棒性,從而減小詞匯的微小擾動對神經模型的影響.
9)CDSIGM. 陳佳麗等人[42]采用門控機制融合依存與語義信息來進行事件檢測.
10)MSBERT. 王捷等人[43]采用基于共享BERT和門控多任務學習的方法來提高事件檢測性能.
11)RCEE_ER. Liu 等人[22]將事件檢測轉化為閱讀理解任務,借助閱讀理解模型來促進事件檢測.
12) GatedGCN. Lai 等人[23]基于圖卷積神經網絡引入門控機制和語法信息來提高事件檢測性能.
我們在ACE2005 數據集上使用PyTorch 微調了一個bert-base-cased 模型. 該模型具有12 層,每層包括12 個head attention,句子和單詞經BERT 編碼后的維度均為768. 本文使用驗證集進行調參,最終設置句子的潛在語義和單詞的潛在語義的維度均為50,批次大小為48,dropout 率為0.2,學習率為0.000 02,優化器采用Adam, epoch 設置為50,early stop 設置為10,即在連續10 個epoch 中模型在驗證集上的性能沒有提升,則結束訓練過程, λ1和 λ2均設置為0.5.
表3 為HLSD 在相同測試集下與基準方法的性能對比. 為了進行公平的比較,基線方法的結果除了PLMEE 均來自原始論文. 考慮PLMEE 的事件檢測部分與我們的HLSD 基線方法均屬基本的BERT 模型,因此我們重構實現. 從表3 可得到3 點觀察:

Table 3 Overall Performance Comparison表3 總體性能比較 %
1)在不引入外部資源的情況下,HLSD 的性能優于所有的基準模型. 具體地,和基于LSTM 作為Encoder 的模型DEEB-RNN 相比,HLSD 在F1 上至少提高了3.9 個百分點;和基于ELMo 的Delta 方法相比,HLSD 在F1 上提高了3.9 個百分點;和基于GCN的GCN-ED 方法相比,HLSD 在F1 上提高了4.8 個百分點;和基于GAN 的TS-distill 方法相比,HLSD 在F1上提高了3.1 個百分點;和基于BERT 的模型MSBERT相比,HLSD 在F1 上至少提高了1.4 個百分點.
2)基于BERT 的模型DMBERT,CSMG,MSBERT,HLSD 的性能超過了大部分基于LSTM,ELMo,GCN的模型的性能,這源于大規模的預訓練語言模型改善了單詞的表示能力,使得BERT 能更好地捕獲上下文語境信息,從而提升了事件檢測的性能.
3)和基于BERT 的最新模型MSBERT,GatedGCN相比,HLSD 在F1 上取得了更好的性能,這表明HLSD的有效性不僅僅源于BERT 預訓練語言模型. 對由BERT 得到的表示空間進一步降維可輔助挖掘更加本質的潛在語義信息.HLSD 通過VAE 挖掘句子和單詞不同粒度語境的潛在語義信息為觸發詞帶來了更多的事件判別知識. 同時,通過分層結構動態地整合不同粒度語境有助于探索事件檢測中更本質的宏微觀影響要素.
4.5.1 句子和單詞潛在語義的作用
為了驗證HLSD 中潛在語義挖掘的有效性,我們選擇4 個消融模型用于比較:
1)BASE.基本模型,僅使用BERT 進行事件檢測,不考慮句子和單詞的潛在語義.
2)BASE+SENT.在1)的基礎上,考慮句子的潛在語義.
3)BASE+WORD.與2)類似,在1)的基礎上,考慮單詞的潛在語義.
4)BASE+SENT+WORD.考慮句子和單詞的潛在語義,但不采用分層結構,只是將句子和單詞的潛在語義進行拼接.
表4 展示了基準模型和退化模型的性能;由于只考慮句子或單詞的潛在語義時,無法再使用分層結構,因此BASE+SENT 和BASE+WORD 模型均將BERT 編碼后的表示和句子或單詞的潛在語義進行拼接. 從表4 可以看出:

Table 4 Performance Comparison of Integrating Different Latent Semantic Modules表4 整合不同潛在語義模塊的性能比較 %
1)相比于BASE,僅考慮句子的潛在語義的模型無論是在精確率、召回率還是F1 值上都有一定程度的提高,精確率最高提高為0.9 個百分點,召回率最低提高為0.2 個百分點. 這表明考慮句子的潛在語義可以帶來有效的宏觀語境信息.
2)相比于BASE,僅考慮單詞潛在語義的模型在精確率、召回率和F1 值上也都有提升,但和BASE+SENT 模型相比,BASE+WORD 的精確率提升更明顯,召回率略有下降(下降了0.1 個百分點),這是因為BASE+WORD 僅考慮了單詞的潛在語義,對于潛在語義不明顯的觸發詞直接當作非觸發詞,同時減少了把非觸發詞識別為觸發詞的情況.
3)BASE + SENT + WORD 模型在不使用分層結構的情況下性能有提升,但沒有HLSD 模型高,這充分說明融合句子潛在語義和單詞潛在語義均對事件檢測有幫助.
4.5.2 層級結構的作用
為了更加直接地驗證HLSD 分層結構的有效性,我們選擇下面的消融模型用于比較:
1)HLSD-1. 見4.5.1 節的BASE + SENT + WORD.
2)HLSD-2.采用由細到粗的分層結構,即先利用單詞的潛在語義,然后再利用句子的潛在語義.
3)HLSD. 本文提出的模型,先利用句子的潛在語義,再利用單詞的潛在語義.
不同模型結果如表5 所示. 從表5 可以看出:

Table 5 Performance Comparison of Different Hierarchical Structures表5 不同分層結構的性能比較 %
1)HLSD-2 和HLSD 相比于HLSD-1,F1 值均有提高,說明了采用分層結構比直接拼接不同粒度的潛在語義信息更能有效提高模型的性能. HLSD-2 在F1 上不如HLSD,可能是由于由細到粗的分層結構對句子的整體把握不如由粗到細的分層結構.
2)HLSD 模型沒能在全部指標上超過HLSD-2 模型,在精確率上下降了1.5 個百分點. 這可能由于句子的潛在語義不僅改善了觸發詞的表示,而且改善了非觸發詞的表示;再經過由粗到細的分層結構,結果傾向于把非觸發詞識別為觸發詞,同時減少把觸發詞識別為非觸發詞的情形. 但可以看到HLSD 模型兼顧宏微觀語境,進而提高模型的整體性能.
為了更加具體分析模型的性能,我們對模型在測試集上的結果進行了統計. 測試集中一共包括422個事件,其中有75 個事件是由1 詞觸發多個事件類型而引發的,占比為17.8%.
計算BASE,BASE+WORD,BASE+SENT,HLSD正確識別的事件數量以及正確率(正確識別的事件數量與總的由1 詞觸發多個事件類型而引發的事件總數之比),如表6 所示.

Table 6 Performance of Different Models on One Word Triggering Different Event Types表6 不同模型在1 詞觸發不同事件類型上的性能
從表6 可以觀察到:
1)相比于BASE,BASE+WORD 正確率有小幅度提升,而BASE+SENT 提升在10 個百分點以上. 這源于在1 詞觸發不同的事件類型情況下,考慮宏觀句子的潛在語義可以為觸發詞分類提供額外的判別信息,因此挖掘句子的潛在語義有助于正確率的提升.
2)相比于BASE+SENT 模型,HLSD 模型性能有額外的提升,這也從側面說明了分層結構和單詞潛在語義的有效性.
考慮不同的事件觸發詞觸發同一個事件類型的情況,測試集中一共包括422 個事件,對每個事件類型的事件觸發詞進行去重,然后求和可以得到不同的事件觸發詞數量共計239 個,占比為56.7%.
我們考慮觸發詞去重后由2 種及以上不同的觸發詞觸發的事件類型,然后統計BASE,BASE+SENT,BASE+WORD,HLSD 模型在這些事件類型上識別出的觸發詞類別數,如圖3 所示,其中ALL 表示每種事件類型的所有觸發詞類別數. 從圖3 可以看到,對于每種事件類型,BASE+SENT 識別的觸發詞類別數均大于等于BASE 識別的觸發詞類別數;BASE+WORD識別的觸發詞類別數大于等于BASE+SENT 識別的觸發詞類別數. 這表明,對于多個事件觸發詞觸發的事件類型,考慮句子的潛在語義可以提升識別的觸發詞類別數,但效果不如單詞的潛在語義,這源于考慮微觀的單詞潛在語義可以為不同的事件觸發詞提供更多的相互促進作用. 對于不同模型識別觸發詞類別數相等的情況,是源于同一事件類型下不同種類觸發詞數量分布不均衡,未識別出來的觸發詞類別在數據集中出現的數量很少. HLSD 識別的觸發詞類別數大于等于BASE+WORD 識別的觸發詞類別數,這進一步表明,綜合考慮句子和單詞的潛在語義信息可以更加有效地進行觸發詞的識別.

Fig.3 Number of event trigger types identified by different models圖3 不同模型識別出的事件觸發詞種類數
抓住事件檢測面臨1 詞觸發多個事件類型和多詞觸發同一個事件類型的挑戰,受變分自編碼器中隱變量和其他NLP 任務中分層結構的啟發,提出了一種新的分層潛在語義驅動網絡(HLSD)的事件檢測方法,以探究事件宏微觀語境中更本質的影響要素.1)通過句子級變分自編碼器來捕獲句子的潛在語義信息,為觸發詞識別提供顯式的句子級別輔助信息,同時盡可能地去除句子中的無關信息,保留句子中的主要信息; 2)通過單詞級變分自編碼器來捕獲單詞的潛在語義信息,為觸發詞識別提供顯式的單詞級別輔助信息. 在文本表示的基礎上,句子和單詞均被映射到更低維的語義空間,使得模型更易于捕捉最核心的潛在語義,也等效于間接利用了跨文檔語境信息. 為了有效利用句子和單詞的潛在語義信息,本文采用一個由粗到細的分層結構來充分融合不同層級的信息,以提高事件檢測的性能. 在ACE2005英文數據集上的實驗結果驗證了本文提出方法的有效性,特別地,在1 詞觸發多個事件類型問題上,顯式考慮并自適應選擇句子的潛在語義信息,模型可以為事件觸發詞提供更有效的判別信息;在多個詞觸發同一個事件類型上,顯式考慮單詞的潛在語義可以為每種事件類型的不同觸發詞提供相互促進的作用. 通過對比模型各個模塊的表現,驗證了潛在語義和分層結構對事件檢測的促進作用. 具體分析對比各個消融模型在測試集上的表現,驗證了2 點:1)句子的潛在語義對1 詞觸發多個事件類型問題具有指導作用;2)單詞潛在語義對不同觸發詞觸發同一個事件類型具有促進作用.
作者貢獻聲明:肖夢南提出了算法思路、完成實驗和撰寫論文;賀瑞芳提出指導意見并修改論文;馬勁松修改論文.