張 震,谷 雨,耿小航,俞海亮
(杭州電子科技大學自動化學院,浙江 杭州 310018)
事件抽取是信息抽取領域的一個重要研究方向。事件抽取就是從自由文本中檢測出事件的發生并提取出事件的要素,對人們認知世界有著深遠的意義,是信息檢索、知識圖譜構建等實際應用的基礎,廣泛應用于檢索、問答、推薦等應用系統[1]。一般將事件抽取分為2個子任務,即事件觸發詞抽取和事件元素抽取。事件觸發詞抽取是指檢測事件句中的觸發詞位置并識別出其所屬事件的類型,事件元素抽取則是識別出事件句中的事件組成元素及其所對應的元素角色類型。觸發詞是事件句中的核心詞,是事件類型的決定性因素,事件觸發詞的抽取在事件抽取任務中起著關鍵作用。
目前,關于事件抽取的研究主要集中在機器學習領域,大致分為基于特征工程的方法和基于深度神經網絡的方法。傳統的事件抽取主要采用人工構建特征的方式。Ahn[2]利用詞性、實體類別等特定特征進行事件抽取。Li等[3]不滿足局部特征的構建,通過構建全局特征,建立事件抽取模型。McClosky等[4]借助詞性標注、句法依存分析等自然語言處理工具來獲取特征。文獻[5-6]使用跨實體推理和跨篇章推理的方法進行觸發詞的抽取。隨著深度學習的快速發展,基于海量公開文本數據的神經網絡特征提取方法避免了人工構造特征的主觀性,逐步應用于事件抽取領域。文獻[7-8]將卷積神經網絡模型(Convolutional Neural Networks, CNN)應用于事件抽取領域,文獻[9]在CNN模型基礎上,使用跳窗卷積神經網絡(Skip-window Convolutional Neural Networks, S-CNNs)來構造事件的全局特征。此外,遞歸神經網絡模型(Recurrent Neural Network, RNN)也逐漸應用到事件抽取領域[10],文獻[11]采用RNN模型的變體長短式記憶模型(Long Short-Term Memory, LSTM)學習事件的特征,文獻[12]結合CNN和雙向LSTM模型挖掘詞語間隱藏關系信息,提高了事件抽取效率。文獻[13]在雙向RNN基礎上,引入動態注意力機制,捕捉更豐富的上下文信息。
事件觸發詞抽取任務主要存在兩個問題,一是觸發詞一詞多義,二是同一個句子中可能存在多個事件,特征提取的不充分導致抽取事件的缺失。為了解決上述問題,本文提出一種基于預訓練模型和多特征融合的事件觸發詞抽取方法。首先,采用預訓練語言模型雙向Transformers偏碼表示(Bidirectional Encoder Representation from Transformers, BERT)進行文本向量化;然后融合CNN提取的詞匯特征和圖卷積網絡(Graph Convolutional Network, GCN)提取的句子特征,進行觸發詞標簽預測,并在ACE2005數據集上進行測試,性能指標得到了提升。
與文本分類任務不同,本文將事件觸發詞抽取當成序列標注任務處理。序列標注的流程處理中,輸入的是包含事件的句子,經過模型處理,輸出的是句子序列標簽。事件觸發詞抽取的標簽示例如圖1所示。

圖1 觸發詞抽取標簽示例
圖1中,每一個詞都有對應的標簽作為預測結果。因為存在跨單詞的觸發詞,本文采用“BIO”標注模式。其中,“O”代表非觸發詞,“B-Attack”代表類型為“Attack”的觸發詞開始位置,“I-Attack”代表類型為“Attack”的觸發詞的其他位置。
本文提出的事件觸發詞抽取模型的算法主要包括文本向量化、多特征提取及融合、輸出層等3個部分,整體結構如圖2所示。

圖2 觸發詞抽取模型整體結構圖
目前文本向量化的主要方法包括One-hot編碼、詞袋模型(Bag-of-words Model, BOW)、N-gram模型、word2vec模型[14]以及GloVe模型[15]等。但這些方法編碼得到的詞向量均為靜態詞向量,即單詞的詞向量是固定不變的,無法解決觸發詞抽取任務中一詞多義的問題。本文采用BERT預訓練模型進行詞向量編碼,使用BERT模型的多層雙向Transformer編碼器,通過對單詞上下文信息進行編碼,得到動態變化的詞向量,有效解決觸發詞抽取任務中一詞多義的問題。
特征提取部分由兩部分組成:(1)基于卷積網絡的詞匯級別特征提取;(2)基于圖卷積網絡的句子級別特征提取。通過卷積神經網絡捕獲詞匯級別特征,利用卷積核在單詞及其周圍單詞上下滑動來獲取單詞及其上下文特征。應用句法分析挖掘事件句中的隱藏信息,采用圖卷積網絡來編碼句法依存關系從而增強事件的信息表示,以達到提高觸發詞抽取效果的目的。
CNN網絡提取的詞匯級別特征,僅能表示當前單詞及其順序結構上前后單詞的信息;GCN網絡通過對事件句的句法依存關系進行編碼來表示當前單詞以及和當前單詞有依存關系的單詞信息。將詞匯級別特征和句子級別特征進行融合拼接,既能表示當前詞匯的上下文信息,又能表示其關聯信息,有效彌補了觸發詞抽取任務中特征提取不充分的問題。
輸出層的作用是利用融合拼接后的特征進行觸發詞標簽預測,實現觸發詞的抽取。與傳統的分類方法不同,序列標注問題中,預測的標簽序列之間具有強互相依賴關系。例如,預測觸發詞標簽不允許在“B”標簽和“I”標簽之間出現“O”標簽。本文應用條件隨機場(Conditional Random Field, CRF)模型對序列標簽進行約束,防止不合理標簽的出現。
BERT預訓練模型是一種新型語言表示模型,可以獲取單詞的動態向量表示[16]。模型在雙向Transformers編碼器基礎上,增加了掩碼語言模型(Masked Language Model, MLM)和下一句預測任務(Next Sentence Prediction, NSP)。MLM通過隨機遮蓋語料中15%的信息,使模型最大程度獲取深度的表征能力。具體做法是80%的遮蓋詞匯用[MASK]替代,10%隨機替換為其他詞,剩余10%保持不變。NSP任務利用語料中的句子對A和B訓練一個二分類模型來表征句子關系特征。具體做法是將50%句子對中的B隨機替換成其他句子,并標記為NotNext,剩余50%句子對的B保持不變,并標記為IsNext。
BERT的模型結構主要分為輸入層、編碼層和輸出層。BERT的輸入表示是詞向量、分段向量和位置向量的和。詞向量采用單詞的WordPiece向量編碼[17]。分段向量表示單詞所在句子的位置編碼。位置向量表示單詞在句子中的位置編碼。同時輸入表示使用[CLS]和[SEP]作為開頭和結尾的標志。
BERT編碼層采用多層雙向Transformer編碼器,編碼單元如圖3所示。編碼單元由多頭注意力機制層和全連接前饋神經網絡層組成。

圖3 Transformer編碼單元
為提取深層語義特征,增大模型空間表達能力,本文采用多頭注意力機制層[18]進行編碼:
式中,Q,K,V均為詞向量矩陣,hi為單頭注意力機制層,Wo為權重矩陣,WQ,WK,WV為投影矩陣。另外,模型中的注意力機制均采用縮放點積的方式:
(2)
式中,dk為向量維度。通過自注意力機制編碼,對句中的詞向量進行加權組合,可以獲取句子中詞與詞的相互聯系,從而捕獲句子的結構特征。然后再對上一步的輸出做殘差連接和歸一化操作。最后將處理后的信息輸入到全連接前饋神經網絡層,重復進行一次殘差連接和歸一化后輸出結果。
對于給定的句子,通過BERT預訓練模型得到句中每個單詞的向量表示xi∈Rd,其中d表示詞向量的維度。長度為n的句子表示為X∈Rn×d:
X=[x1,x2,…,xn]
(3)
詞匯級別特征包括單詞特征及其上下文特征。為了提取詞匯級別特征信息,采用卷積神經網絡進行處理。先將不同大小卷積核在句子序列上滑動以獲取單詞及其上下文特征,再將這些特征進行全局處理,以特征圖的形式表現出來。
應用卷積核w∈Rh×d(窗口大小為h)在文本序列上滑動生成新的特征圖:
ci=f(w·xi-h/2:i+h/2+b)
(4)
式中,xi-h/2:i+h/2表示詞向量xi-h/2,xi-h/2+1,…,xi,…,xi+h/2-1,xi+h/2的組合,w∈Rh×d表示單個維度為h×d的卷積核,f為激活函數,b為常數項。對整個句子的所有單詞進行卷積操作,得到整個句子序列的卷積圖:
g=[c1,c2,…,cn]
(5)
假設使用m1個大小不同卷積核,得到特征圖為:
C=[g1,g2,…,gm1]
(6)
式中,C∈Rn×m1表示句子中的n個單詞經過卷積操作提取出的單詞及其上下文特征。
傳統的卷積神經網絡一般通過對特征圖進行池化層操作以獲取顯著特征,但池化層的操作會丟失事件句的序列信息。為了保留事件句的原始序列信息,本文不添加池化層操作。
圖卷積神經網絡是由Thomas等[19]提出并應用于圖數據,為圖結構數據處理提供了嶄新思路,可以用于編碼圖數據信息。為了充分挖掘句子的隱藏信息,本文使用圖卷積網絡來提取句法依存關系特征,為事件觸發詞識別提供幫助。圖卷積網絡不僅能表示當前節點信息,而且能聚集更多鄰居節點的特征信息,通過句法依存關系捕獲到單詞的句法上下文信息。
根據每一個事件句的句法依存關系,構成簡單的圖結構。使用自然語言處理工具Stanford CoreNLP生成的句法依存關系示例如圖4所示。圖4中,構造了一個以單詞作為節點,單詞之間的依存關系為邊的有向圖。

圖4 利用Stanford CoreNLP生成的依存關系圖
對于具有n個節點的圖,用鄰接矩陣A∈Rn×n表示圖結構。當節點i和節點j存在邊,則Aij=1。考慮到節點自身的影響,給鄰接矩陣A添加自環操作,令Aij=1。最后,對鄰接矩陣進行歸一化處理:
(7)

(8)
式中,H(l+1)為圖卷積網絡第l層的輸出向量,Relu為激活函數,W(l)為權重矩陣,b(l)為偏置項。圖結構中的每個節點通過卷積操作匯聚鄰接節點的特征,并將其傳入下一層的網絡作為輸入。使用文本向量化得到的詞向量X∈Rn×d初始化第一層圖卷積網絡的輸入H(0)。經過l層的卷積神經網絡模型,得到句子級別的特征H(l+1)∈Rn×m2,其中m2表示句子級別特征向量的維度。
將卷積網絡提取的單詞級別特征C∈Rn×m1和圖卷積網絡提取的句子級別特征H(l+1)∈Rn×m2進行拼接,得到融合后的事件特征:
F=C⊕H(l+1)
(9)
式中,F∈Rn×(m1+m2)表示事件特征,特征維度為m1+m2,⊕為向量拼接運算。將融合后的事件特征F放入分類器進行觸發詞標簽預測。在此過程中,需要考慮標簽之間的依賴關系,避免出現標簽不合理的情況,加入CRF對標簽序列進行建模。
對于給定的句子序列x=(x1,x2,…,xn)和對應的標簽序列y=(y1,y2,…,yn),CRF模型的計算如下:
(10)
式中,T為轉移矩陣,Ti,j表示由標簽i轉移到j的概率。Pi,yi表示該詞第yi個標簽的分數。在給定原始句子序列x的條件下產生標簽序列y的概率為:
(11)
式中,y′表示真實的標簽值。在訓練過程中,標簽序列的對數似然函數為:
(12)
式中,YX表示所有可能的標簽集合。預測時,由以下公式得到整體概率最大的一組序列。
(13)
本文研究的是基于ACE評測語料的事件觸發詞抽取,采用英文ACE2005語料進行驗證實驗。ACE評測語料中定義了8種事件類型,33種子類型。為了對比實驗的合理性,數據集的劃分參照文獻[2]的方法,選取529篇文檔作為訓練集,30篇作為驗證集,剩下的40篇作為測試集。
觸發詞抽取實驗同樣采用和文獻[2]相同的評價指標和性能指標。評價指標為:觸發詞抽取位置正確,則表示觸發詞識別正確;觸發詞抽取位置和類型都正確,則表示觸發詞的類型分類正確。實驗性能指標為:準確率P(Precision)、召回率R(Recall)以及F1值(F1 scores)。
實驗選用的BERT模型是Google公司提供的BERT-Large。BERT-Large模型層數L=24,隱藏層維度H=1 024,采用多頭自注意力機制頭數A=16,總參數量個數約為3.4×108。卷積網絡卷積核數目為30,圖卷積層層數為2。損失函數使用交叉熵損失函數,優化器選用Adam算法[20],學習率為1E-5。最長序列長度為60,批處理大小為12,epoch為20。
本文提出基于預訓練模型和多特征融合的事件觸發詞抽取模型,簡稱為BCGC模型。為了驗證BCGC模型各模塊在觸發詞抽取中的作用,在相同實驗環境下,進行了對比實驗,實驗結果如表1所示。

表1 不同模型的實驗結果 %
從表1可以看出,第4組實驗融合CNN提取的詞匯特征和GCN提取的句子特征進行觸發詞抽取,觸發詞分類階段效果要優于第2組單獨使用CNN提取特征和第3組單獨使用GCN提取特征的實驗結果。因為CNN能夠編碼單詞順序結構上下文信息,GCN網絡可以編碼單詞非順序結構上的關聯信息,融合兩種模型提取的特征能更充分地表示事件信息,提升觸發詞抽取任務的性能。
第4組實驗與第1組實驗對比,僅將實驗1中使用的傳統的300維word2vec詞向量替換成BERT表示的詞向量,觸發詞分類任務F1值提高了將近4個百分比。而且,所有使用BERT預訓練模型詞向量表示的模型,實驗效果都要優于利用傳統詞向量表示的模型。結果表明,擁有雙向Transformer編碼的BERT模型具有很強的表征能力,在觸發詞抽取任務上表現更出色。

圖5 不同層數的GCN網絡的實驗對比圖
本文分別選取不同層數的GCN網絡進行對比試驗,觸發詞分類階段的實驗結果如圖5所示。
由圖5可知,在GCN層數為2時,觸發詞分類效果最好,F1值最高。當GCN層數為1時,準確率最高,但召回率和F1值不高。隨著GCN層數的增加,P值下降,但R值和F1值回升,說明GCN網絡提取依存關系特征是有效的,但隨著GCN層數的增加,聚合節點特征過多可能會對觸發詞的抽取造成干擾。
為進一步驗證本文提出方法的有效性,將基于BCGC模型的觸發詞抽取方法和其他方法進行對比實驗。對比方法分為3組,分別為:
(1)傳統組主要通過人工選擇合適特征進行觸發詞抽取,例如文獻[2]的MaxEnt方法和文獻[3]的J-global方法。
(2)CNN組主要通過CNN網絡提取事件特征。例如文獻[8]的DMCNN方法利用候選觸發詞位置將事件句切分成兩部分,并分別對每個部分進行動態多池化的卷積操作,從而實現對事件特征的提取;文獻[9]的S-CNNs方法提出跳窗卷積神經網絡提取事件全局特征,實現對事件的聯合抽取。
(3)RNN組主要通過RNN網絡提取事件特征。例如文獻[10]的JRNN方法提出基于雙向RNN網絡的聯合事件抽取,例如文獻[12]的Conv-BiLSTM方法結合卷積神經網絡和長短記憶網絡進行觸發詞抽取。
BCGC事件觸發詞抽取方法與這些方法的對比結果如表2所示。

表2 不同方法對比實驗結果 %
由表2可以看出,本文提出的BCGC方法比其他方法更出色,觸發詞分類階段F1值最少提升了1.6%,召回率也相對較高,觸發詞識別階段實驗結果也較理想,說明本文提出的CNN提取詞匯級別特征和GCN提取句子級別特征的融合能充分表示事件特征,促進事件觸發詞抽取任務性能的提升。對比CNN組和RNN組,BCGC方法在觸發詞分類上效果突出,但在觸發詞識別上優勢并不明顯,對比S-CNNs方法的F1值略有下降。S-CNNs方法進行事件的聯合抽取,同時抽取事件觸發詞和事件元素,在觸發詞抽取階段也利用上事件元素的特征信息,促進了觸發詞抽取性能的提升。對比傳統組,其他3組基于深度學習的抽取方法在事件抽取各階段實驗效果更好,說明深度學習網絡在特征提取方面比傳統方法更具優勢。
本文提出了一種基于預訓練模型和多特征融合事件觸發詞抽取方法,使用BERT預訓練模型表示詞向量,通過融合CNN網絡提取的詞匯特征和GCN網絡提取的句法特征,提高了觸發詞抽取的效果。本文方法的局限性在于沒有充分利用事件元素的信息,沒有探索后續任務中事件元素對觸發詞抽取任務的影響。下一步將考慮如何構建模型以實現多任務聯合,進一步提高事件觸發詞抽取的實驗性能。