李鴻鵬,馬 博,楊雅婷,王 磊,王 震,李 曉
(1.中國科學院新疆理化技術研究所,烏魯木齊 830011;2.中國科學院大學,北京 100049;3.新疆民族語音語言信息處理實驗室,烏魯木齊 830011)
事件抽取的目標是對非結構化文本中的重要事件信息以結構化形式進行識別提?。?]。在事件抽取中,最能代表事件發生以及事件類型的詞稱為觸發詞,圍繞著觸發詞的相關人物、時間、地點等實體稱為事件論元,事件論元在事件中扮演的角色稱為論元角色[2]。篇章級事件抽取任務要求從篇章層面對分布在不同句子內的事件要素同時進行抽取。早期的事件抽取方法的抽取范圍局限于單個句子,其假定目標事件位于單句內,通過圖對問題進行簡化,與現實情況不符,且早期研究將事件抽取任務看作實體分類任務,多采用管道式實體識別與事件論元分類方式進行實現,在模型訓練過程中需要大規模標注數據,該類方法在低資源領域表現不佳,抽取過程中容易產生累積誤差問題[3]。
隨著預訓練語言模型的出現,基于提示學習的序列生成式方法在篇章級事件抽取任務中得到應用。通過對預訓練語言模型添加不同的提示(Prompt),能夠在模型參數不變的情況下對包含不同事件類型的篇章文本實現事件要素的判別與分類。提示學習方法基于預訓練語言模型的自然語言理解能力,通過注意力機制計算篇章文本的全局特征,從而實現篇章級文本的端到端表征學習,相比傳統方法具有更高的泛化能力與訓練效率。然而,現有的提示學習方法多數基于自然語言描述與事件論元槽位構造提示模板,模型對提示模板中的槽位進行答案生成與填空,在槽位值預測過程中存在論元角色分類錯誤的問題,無法對預訓練模型的預測答案空間起到很好的約束作用。
針對上述問題,本文提出一種基于槽位語義增強提示學習的篇章級事件抽取方法。在提示學習方法的基礎上對傳統事件抽取任務進行重構,將傳統事件抽取范式的事件論元角色作為語義信息融入提示模板槽位中,對提示模板形成槽位語義提示,對模型的生成答案空間進行約束,從而提高篇章級事件抽取的論元角色分類準確率。本文模型屬于端到端的編碼解碼器模型,利用序列生成式預訓練語言模型對輸入篇章添加對應的提示模板,對篇章文本進行編碼表示。模型根據輸入篇章及提示模板對論元槽位生成對應的填空預測,實現事件論元抽取。在中英文篇章級事件抽取公開數據集上進行實驗,在不同訓練數據規模下驗證模型的自適應能力,同時在篇章級事件抽取任務中應用知識遷移機制驗證模型的遷移學習能力。
篇章級事件抽取需要同時考慮句子與篇章的文本特征,涉及更多的事件類型和論元角色,是事件抽取領域的難點問題。如圖1 所示,與觸發詞“約談”相關的事件論元同時存在于句子S1 與S2 中,且論元角色“約談機構”和“公司名稱”在篇章中存在多個對應論元。

圖1 篇章級事件抽取示例Fig.1 Example of document-level event extraction
JI 等[4]較早將論元時態信息作為篇章級特征應用到事件 抽取中。YANG 等[5]將卷積 神經網 絡(Convolutional Neural Network,CNN)與雙向長短時記憶(Bidirectional Long Short-Term Memory,Bi-LSTM)網絡相結合,利用CNN 進行觸發詞識別,使用Bi-LSTM完成句子的論元抽取,通過上下句論元補齊方式實現篇章級事件抽取。陳斌等[6]提出一種基于長短時記憶(Long Short-Term Memory,LSTM)網絡的觸發詞抽取方法,利用上下文信息提高抽取準確率。
近年來,具有更強表征學習能力的Transformer以及大規模預訓練語言模型得到研究與應用[7]。ZHENG 等[8]利 用Transformer 進行篇 章實體 抽取和事件類型判別,基于有向無環圖對事件進行建模,通過圖路徑拓展方式實現中文篇章級事件抽取。仲偉峰等[9]提出一個基于聯合標注和全局推理的篇章級事件抽取模型,該模型結合注意力機制與多層感知機實現篇章級事件抽取。
在中文篇章級事件抽取公開數據集方面:百度提出了中文金融領域的篇章級事件抽取數據集Duee-fin;YANG 等[5]提出一個中文金融篇章級事件抽取數據集,ZHENG 等[8]在此基礎上利用遠程監督擴充得到數據規模較大的中文事件抽取數據集。在英文篇章級事件抽取公開數據集方面:EBNER 等[10]提出一個新聞領域篇章級事件抽取數據集RAMS;LI 等[11]提出一個新聞篇章級事件抽取數據集WikiEvent,并利用生成式預訓練語言模型實現了英文篇章級事件抽取。
以GPT-3 為代表的序列生成式預訓練語言模型在各項自然語言處理(Natural Language Processing,NLP)任務中具有優秀的閱讀理解能力,通過對下游任務添加提示,能夠以問答或填空形式進行回答[12]。受到此類工作的啟發,將傳統下游任務重構為語言生成任務的研究開始出現,以解決目標領域的低資源問題。
LEVY 等[13]提出一個基于機器問答(Question Answering,QA)的關系抽取模型,實現了英文的關系判別與抽取。PETRONI 等[14]通過將關系抽取任務修改為填空式三元組補齊問題,在不修改預訓練語言模型的情形下得到了比知識庫更好的關系抽取效果。SHIN等[15]將提示學習應用于關系抽取任務,基于梯度搜索得到優質提示模板,提升了模型的關系分類能力。LI等[16]將提示學習方法應用于命名實體識別任務,通過機器閱讀理解形式實現命名實體識別。
在事件抽取領域,DU 等[17]利用問答提示形式提出一個基于BERT 的問答式事件抽取模型,在英文數據集上實現了句子級事件抽取。李珂等[18]提出一個基于RoBERTa 的實體抽取模型,以解決新聞文本的時間線挖掘問題。LIU 等[19]在QA 問答形式的基礎上對篇章級事件抽取任務設計多輪問答和問答模板生成方法,實現了英文的篇章級事件抽取。
傳統QA 方法的不足之處在于只能單次對單個目標論元進行抽取,當事件論元數量較多時,會產生效率下降與累積誤差的問題。LI 等[11]將事件抽取任務轉化為基于提示模板的條件生成式任務,但是其未充分考慮模型對模板槽位答案空間的準確約束,提示模板的數量和形式有限,也缺乏在中英文低資源領域和跨領域知識遷移上的應用。
對篇章級事件抽取任務進行如下定義:設篇章文檔D包含事件論元集合E,事件類型對應事件觸發詞trge和論元角色集Re。對于論元角色集中的論元角色r?Re,事件抽取需要在文檔D中識別出屬于論元角色r的事件論元α?E,抽取出論元角色與事件論元的關系對(r,α)。
以圖1 文本“河北日報7 月19 日消息。近日,石家莊市文明辦會同該市市場監管局召集美團、餓了么兩大網絡訂餐平臺運營商進行了行政約談會議?!睘槔瑐鹘y事件抽取方法通過預定義的抽取范式,輸出抽取結果為:(披露日期:7 月19 日)(約談時間:近日)(約談機構:石家莊市文明辦,市場監管局)(公司名稱:美團,餓了么)。
本文將傳統事件抽取任務的輸入部分重構為篇章文本與提示模板的組合,如圖2 中的編號2 模塊所示,以[s]與[sep]分別作為起始標識符與分隔標識符。

圖2 事件抽取模型結構Fig.2 The structure of event extraction model
給定篇章D,模型通過提示模板知識庫B對輸入篇章匹配對應的提示模板tin?B,其中,tin是一種對事件的精簡自然語言描述,模板構成如式(1)所示:
其中:wi表示組成自然語言描述的單詞;argj表示論元角色集Re中第j個事件論元在提示模板中的槽位;n代表模板單詞長度。模型目標在于給定篇章和提示模板(D,tin),對tin的論元槽位arg 進行預測,輸出填空后的生成模板tout,如式(2)所示:
其中:αj代表模型對槽位argj所填充的預測論元。若存在預測結果,則αj?D;若不存在預測結果,則模型對槽位不進行填充,αj=argj。
以圖1 文本為例,通過與提示模板“日期[arg]的報告稱[arg]在[arg]約談了[arg]”進行拼接,模型根據篇章內容輸出槽位arg 的預測填空。新任務目標如式(3)所示:
其中:(D,tin)代表模型輸入的篇章與提示模板;w?E代表篇章D的對應事件論元。模型的目標轉化為預測提示模板槽位的對應正確論元,最大化事件論元集合E的條件概率。
文獻[12]闡明經過提示學習重構下游任務,能夠提高預訓練語言模型下游任務的一致性,更好地挖掘模型的潛在模式與先驗知識,從而獲得更優的少樣本性能表現。
傳統提示模板方法由自然語言描述與論元槽位組合構成,槽位使用相同的編碼值參與模型訓練,在模型填空預測中無法起到足夠的類型提示作用。文獻[15]在關系抽取任務中驗證了對模板添加提示的有效性。如式(4)所示,通過在提示模板槽位[M]前添加觸發向量[T],構造新的模板,可以使得模型在關系抽取中獲得更高的準確率。
本文將傳統事件抽取范式中的論元角色作為外部知識,與提示模板槽位標簽argi以及論元角色向量rrolei進行拼接,經過詞嵌入層進行編碼表示,構成增強后的槽位表示向量,將其輸入模型編碼層,如圖3所示。模型解碼層采用單向自回歸式文本生成方法,對論元槽位進行類型約束,從而有效提高預測準確率。

圖3 模板槽位語義增強過程Fig.3 Template slot semantic enhancement process
為實現提示模板槽位語義增強,本文以事件觸發詞作為關鍵值構建提示模板知識庫?;诒疚膶嶒灁祿?94 類事件類型構造提示模板庫,基于216 類論元角色構建事件論元角色庫,匹配流程如圖4 所示。

圖4 提示模板知識庫Fig.4 Knowledge base of prompt template
以圖1 文本為例,通過事件觸發詞“約談”,知識庫以鍵值匹配的方式,從事件論元角色庫內匹配與“約談”事件相關的論元角色“披露日期”“約談時間”“約談機構”“公司名稱”作為論元角色語義信息,輸入到模板槽位語義增強模塊;從提示模板庫匹配預定義提示模板“[arg]的報告稱[arg]在[arg]約談了[arg]”,輸入到模板槽位語義增強模塊。
給定篇章D={w1,w2,…,wn}及對應的提示模板tin,其中,wi??d表示篇 章詞語。將D與tin進行拼接,作為重構后的輸入提供給模型。編碼層結構如圖5 所示,經過詞嵌入層對(D,tin)進行嵌入表示。模型編碼層與解碼層共享詞嵌入層的參數。

圖5 模型編碼層結構Fig.5 Model encoding layer structure
編碼層通過多頭自注意力機制計算得到編碼向量,學習篇章與提示模板的表征關系[7]。如式(5)~式(7)所示,構造Q、K、V作為注意力權重矩陣,將多組編碼器的注意力頭進行拼接與線性變換,得到的輸出作為(D,tin)編碼后的向量表示。通過編碼層輸出詞編碼表示向量Ei與最末隱含向量提供給自回歸解碼層。
解碼層接收來自雙向編碼層的詞編碼向量和隱含向量,輸入與輸出間通過右移進行自回歸式序列生成,生成填空后的提示模板tout。每層解碼器接收前一個生成向量Ei-1以及編碼層隱含向量作為輸入,利用跨注意力機制進行計算,獲得文本全局特征表示,輸出預測詞向量[20]。模型通過式(8)進行自回歸式序列生成:
其中:c代表輸入文本;xi代表對模板第i位詞的生成預測。
為防止模型在預測過程中生成不屬于篇章內的預測詞,設計模型生成答案約束機制,如式(9)所示。若預測詞w??d在篇章詞表Vc??d×|D|內,輸出解碼層向量與預測詞嵌入向量的點積,經過Softmax函數得到生成概率;若預測詞不在篇章詞表內,輸出概率為0,從而將解碼層的生成結果約束在篇章范圍內,約束模型的生成答案空間,提升預測的準確率。
在模型的事件論元生成階段,對于代表特定論元角色的槽位argi,若篇章中存在復數事件論元與其對應,則在英文中使用“and”、在中文中使用“和”來對論元進行合并。在生成預測環節,使用top-k采樣法進行預測采樣,輸出填空后的提示模板tout[21]。對預測結果為空的論元槽位進行槽位還原,輸出“arg”表示空值,模型根據式(10)進行論元槽位填空生成:
模型的訓練使用最大似然估計作為損失函數,如式(11)所示,遍歷篇章D中的所有事件,對給定篇章文本ci條件下的生成序列xi,計算其預測值與真實標簽的最大似然估計值。
在論元槽位映射層中,依據各個槽位在提示模板中對應的角色,對槽位預測值進行論元類型分類與論元抽取,得到結構化事件信息,如圖2 模塊1 中的模板槽位結果映射層所示。
知識遷移指模型在任務形式相似的源任務上進行學習,以獲取有效的領域知識,再將其遷移到目標任務上進行訓練[22]。LIU 等[12]驗證了提示學習方法在知識遷移上具有較高的自適應性以及較小的遷移成本。本文在中文數據集上進行跨領域知識遷移實驗,由如下2 個部分組成:
1)跨領域預訓練。在對目標任務進行訓練前,使用領域相似任務T對模型進行跨任務預訓練,訓練目標如式(12)所示:
其中:T代表預 訓練任 務;代表任 務中的訓練樣本表示給 定輸入條件下預測 結果的最大似然估計。訓練過程中針對整體損失Lcross進行學習。
2)目標任務訓練。對獲得領域知識的模型進行目標任務訓練,訓練目標如式(13)所示:
其中:D為目標任務輸入篇章;e代表D中的單個事件;(r,α)代表事件e中的事件論元與論元角色對。
通過提示學習的任務重構,本文方法保持了預訓練語言模型上下游任務的一致性,對目標損失值Lin進行學習,能夠利用模型預訓練階段的領域知識提高目標領域內的收斂效果與自適應能力。
本文在英文篇章級事件抽取數據集WikiEvent與RAMS 上進行實驗,并選擇RAMS 數據集驗證模型在100%、50%與25%數據規模下的性能表現。在中文事件抽取任務上,使用包含大規模數據量的中文篇章級事件抽取數據集ChFinAnn 進行跨領域預訓練,該數據集包含5 種金融主題的事件類型和35 種論元角色,共有約3 萬條篇章[8]。當模型收斂后,在百度金融篇章級數據集Duee-fin 上進行目標任務訓練,并與基線模型的結果進行比較。在消融實驗環節,分別去除模型的提示模板槽位語義增強機制、將提示模板更換為傳統事件抽取范式,對比模型性能變化。在跨領域知識遷移實驗中,分析模型在不同數據規模下的性能表現。
3.1.1 數據集
WikiEvent 來源于英文維基百科新聞篇章,事件類型的定義依據語言數據協會的KAIROS 事件抽取范式,包含31 種事件類型與59 種論元角色。RAMS數據集的事件類型定義依據語言數據協會的AIDA 范式,包含150 種事件類型與65 種論元角色。Duee-fin來源于金融財經領域的新聞篇章,包含13 種金融事件類型和92 種論元角色。數據集的詳細信息如表1所示。

表1 實驗數據集信息Table 1 Experimental datasets information
3.1.2 超參數設置
實驗環境為Ubuntu 18.04,GPU Tesla V100×4,采用Python3.7,PyTorch1.6.0。訓練批次大小為8,學習率為0.000 5,迭代次數為10 次,使用Adam 作為優化器,優化器權值衰減為0.000 1。
3.1.3 評價指標
使用精確率(P)、召回率(R)與F1作為評價指標。在論元識別(Arg Identify)環節,模型抽取出正確事件論元視為正例,反之視為負例;在論元分類(Arg Classify)環節,模型對論元角色進行正確分類視為正例,反之視為負例,以論元分類指標作為最終評估指標。由于WikiEvent 數據集在標注過程中遵循頭實體(Head Entity)標注法,并且額外標注了事件論元的指代關系,因此分別使用HeadF1與CorefF1進行評估。
3.1.4 對比模型
本文在英文篇章級事件抽取實驗中,使用WikiEvent 與RAMS 數據集上的Sota 模型作為對比基線模型,包括:
1)BERT_QA,基于預訓練模型機器閱讀理解機制實現的英文事件抽取模型[17]。
2)BERT-CRF,基于BERT 和條件隨機場實現的序列標注式事件抽取模型[23]。
3)DocMRC,在BERT_QA 基礎上實現問答模板生成的英文篇章級事件抽取模型[19]。
4)BartGen,基于手工設計提示學習模板的生成式英文篇章級事件抽取模型[11]。
在中文篇章級事件抽取實驗中,使用Duee-fin數據集上的Sota 模型作為對比基線,包括:
1)Doc2EDAG,基于Transformer 篇章實體標注與圖路徑拓展的篇章級中文事件抽取模型[8]。
2)GIT,利用圖神經網絡對實體進行編碼的中文事件抽取模型[24]。
3)PTPCG,基于偽觸發詞完全修剪圖的中文篇章級事件抽取模型[25]。
3.2.1 英文事件抽取實驗
在WikiEvent 數據集上進行實驗,結果如表2 所示,其中,Arg Identify 評估模型對論元的識別能力,Arg Classify 評估模型對識別論元進行正確分類的能力,最優數據加粗標注。從表2 可以看出:傳統事件抽取方法在低資源數據上無法獲得理想的性能表現,在2 個指標上表現均較差,論元識別指標F1均小于60%,論元分類指標F1均小于50%;基線BartGen采用傳統提示學習方法,本文方法引入了槽位語義增強機制,有效提高了論元分類準確率,在論元分類指標F1上提高2.6 個百分點,在論元識別指標F1上提高2.2 個百分點,表明本文方法能夠提高模型的論元抽取準確率。

表2 WikiEvent 數據集上的實驗結果 Table 2 Experimental results on the WikiEvent dataset
在RAMS 數據集上進行不同數據規模的實驗。RAMS 數據集包含150 種事件類型與65 類論元角色,對模型的泛化性能具有較高要求。從表3 可以看出:傳統方法在面對多分類任務與低資源場景時,表現出較低的F1與較多的性能折損;基線DocMRC與BartGen 在訓練數據規模從100%降低至25%后,F1分別下降4.0 與6.0 個百分點;由于采用了更優的提示學習方法,本文模型相較基線模型在精確率等指標上均得到提高,獲得了49.8%的F1,并在低資源場景下保持了3.9 個百分點的性能損失率,表現出更好的泛化能力。

表3 RAMS 數據集上的實驗結果 Table 3 Experimental results on the RAMS dataset %
3.2.2 知識遷移實驗
利用ChFinAnn 數據集作為跨領域預訓練數據進行模型預訓練。為得到更大的訓練數據規模,提高模型的自然語言理解能力,在訓練集中引入不同類型的隨機噪聲,提高模型在下游任務中的泛化能力。本文在訓練過程中以同等概率隨機對數據集的輸入篇章做如下處理:
1)對篇章字符進行15%掩碼操作。
2)對篇章字符進行15%刪除操作。
3)替換篇章中15%的字符位置。
4)保持不變。
通過20 輪迭代使模型達到收斂。在目標任務Duee-fin 數據集上進行下游訓練,選擇遷移后的模型參數作為初始化參數并迭代收斂。從表4 可以看出,本文模型對比傳統基線模型在召回率與F1上取得了較大提升。傳統數據驅動型模型在面對復數事件論元時性能表現不佳,取得了較低的召回率。本文模型通過跨領域預訓練與知識遷移并引入隨機噪聲,獲得了更高的魯棒性與較好的自適應能力,相較于次優基線模型在召回率上取得了6.7 個百分點的提升,在F1上取得了2.9 個百分點的提升,驗證了跨領域知識遷移機制在事件抽取中的有效性。

表4 Duee-fin 數據集上的實驗結果 Table 4 Experimental results on the Duee-fin dataset %
利用領域相近的大規模語料訓練模型在復雜文本上的機器閱讀理解能力,在不同的數據規模下,驗證模型相較未經知識遷移時能否獲得更好的性能表現。在Duee-fin 數據集不同訓練數據規模下進行模型遷移前后的性能對比,結果如圖6 所示。從圖6 可以看出,經過知識遷移的模型只需10%的訓練數據便能達到60%以上的F1,在低資源情況下具有更好的性能表現。

圖6 不同數據規模下的知識遷移效果Fig.6 Knowledge transfer effects under different data scales
3.2.3 消融實驗
本文在Duee-fin 數據集上進行如下消融實驗:
1)去除提示模板的槽位語義增強機制,將其命名為PlainTemp。
2)將自然語言描述的提示模板更改為非自然語言描述的傳統抽取范式,將其命名為SchemaTemp。
3)不進行跨領域知識遷移的預訓練,將其命名為NonTransfer。
從表5 可以看出:消融項PlainTemp 去除提示模板知識庫以及槽位語義增強機制,槽位預測答案空間增大,導致F1出現1.8 個百分點的下降;消融項SchemaTemp 使用結構化語言作為提示模板,由于模型預訓練階段無法理解非自然語言描述的結構語義,因此降低了上下游任務的一致性,導致F1下降5.3 個百分點;NonTransfer 消融項去除知識遷移機制后模型也表現出一定的性能下降,在大規模樣本上F1降低了0.8 個百分點。此外,圖6 結果表明,知識遷移機制在低資源情形下也能得到較好的性能提升。

表5 消融實驗結果 Table 5 Results of ablation experiment %
以RAMS 測試集篇章為例,對比本文模型與基線模型DocMRC、BartGen 在同一例子上的預測結果。表6 所示為篇章原文和各模型的事件抽取結果,其中,括號內“T”代表抽取結果正確,“F”代表抽取結果錯誤,原文下劃線片段對應事件論元正確答案。篇章包含的事件類型為“poison/attack”,論元角色包括“attacker”“target”“instrument”“place”。原文為:

表6 案例分析結果 Table 6 Case analysis results
Read more:The stealthy,nefarious way an ex-KGB officer was murdered in London.Full report:Russian President Vladimir Putin implicated in fatal poisoning of former KGB operative.Russian tycoon found dead in Britain after falling out with Putin.The ancient art of poisoning.
從表6 可知:本文模型能夠正確識別篇章中的事件論元,并根據論元槽位分類到正確的論元角色;BartGen 的模板設計并未考慮槽位語義增強機制,導致預測槽位時無法抽取準確的論元角色“place”;DocMRC 使用問答形式對每個論元角色設計問題,模型輸出答案,但是同樣出現了答案錯誤的情況,對“target”角色的論元抽取出了多余結果,對“attacker”論元角色無法抽取答案,輸出了空值。由此表明,在篇章級事件抽取中,本文模型相比傳統模型具有更好的抽取效率和準確率。
本文提出一種基于槽位語義增強提示學習的篇章級事件抽取方法。將基于提示學習的提示模板填空生成機制應用到篇章級事件抽取任務中,并將傳統事件抽取范式以外部知識形式融入提示模板構造中。通過對傳統事件抽取任務進行重構,更好地利用預訓練模型的自然語言理解能力,在一定程度上緩解不同任務間范式不統一、難以遷移的問題。實驗結果表明,該方法可以在低資源場景下取得較好的性能表現,能以較低的成本進行知識遷移,具有較好的泛化能力。下一步將探索更好的提示模板形式和知識遷移方式,提高模型在零樣本和跨領域方面的性能表現。