苗 佳,段躍興,張月琴,張澤華
(太原理工大學信息與計算機學院,山西晉中 030600)
隨著科技的飛速發展,網絡成為人們獲取信息的有效途徑。然而,面對這些海量的網絡信息,人們從中挑選出真正感興趣的信息變得異常困難。作為信息抽取[1]的重要組成部分,事件抽取的研究具有重要的現實意義。事件抽取[2]技術的主要作用是為用戶抽取結構化信息,從而提高用戶的工作效率。事件抽取在自動文摘[3]、信息檢索[4]、自動問答[4]、情報收集[5]等領域有著廣泛的應用。在事件抽取任務中觸發詞抽取的研究很有必要,因為觸發詞直接引起事件發生,事件類型主要由觸發詞決定。觸發詞抽取的步驟就是先判斷出觸發詞,然后劃分出觸發詞屬于的事件類別。
近年來,事件抽取得到了許多研究機構和研究者越來越多的關注。作為事件抽取領域最具有影響力的評測會議,自動內容抽取(Automatic Content Extraction,ACE)評測會議對事件[6]的定義如下:事件是指發生了的事情,包含直接引起事件發生的觸發詞和事件的參與者。以S1 為例闡述觸發詞抽取任務,如在S1中,包含Life_Die 和Conflict_Attack 2 種事件,其對應的觸發詞分別為died 和fired。
S1:In Baghdad,a cameraman died when an American tank fired on the Palestine Hotel.(在巴格達,當一架美國坦克向巴勒斯坦酒店開火時,一名攝影師死亡。)
作為信息抽取領域的重要研究方向,事件抽取在近年來得到了人們的關注,國內外研究人員也紛紛展開了對事件抽取的研究。AHN 等[4]提出的MaxEnt 方法采用最大熵模型進行事件抽取,將事件抽取任務分為若干串行的子任務;LIAO 等[7]提出基于跨事件推理的事件抽取模型;HONG 等[8]提出采用跨實體推理的方法進行事件觸發詞的抽取;LI等[9]提出在基于結構化感知機的基礎上,將觸發詞識別和元素識別相結合,利用多種局部特征和全局特征,從而更有效地提高了抽取的效果。以上這些方法在特征提取過程中過分依賴自然語言處理工具,容易出現錯誤傳播和數據稀疏的問題。
隨著詞向量在自然語言處理領域的成功應用,詞向量技術吸引了事件抽取研究者的關注,并在事件抽取任務中運用詞向量技術。NGUYEN 等[10]使用CNN 自動挖掘隱含特征,取得了良好的效果;CHEN 等[11]提出一種DMCNN 模型,該模型增加一個動態多池化層,使得模型能夠抽取到多個事件,達到較好的抽取效果。除CNN 的特征學習模型外,還有研究者采用循環神經網絡(RNN)對文本中的序列信息進行建模。NGUYEN 等[12]設計一種雙向循環神經網絡的聯合框架,實現了觸發詞與元素的聯合抽取模型,并探究了多種不同的記憶特征;陳斌等[13]提出一種事件觸發詞抽取方法,該方法將卷積神經網絡和長短期記憶網絡相結合進行事件觸發詞抽取;LIU 等[14]分別利用多種有監督和無監督機制挖掘實體信息,在測試集元素未知和元素已知的條件下,研究對觸發詞抽取產生的作用。
將CNN 和BiGRU 模型融合在很多關聯領域或其他領域都有應用。鄭巧奪等[6]提出用雙層CNNBiGRU-CRF 模型進行事件因果關系的抽取;王麗亞等[15]提出在CNN-BiGRU 模型中引入注意力機制來進行文本情感分析,都取得了較好的效果。因此,將CNN 和BiGRU 模型進行融合是完全具有必要性和可行性的。
本文提出雙向門控循環單元(CNN-BiGRU)模型并運用于事件觸發詞抽取任務中。該模型通過CNN 提取詞級別特征,利用BiGRU 獲取文本上下文語義信息得到句子級別特征,對詞級別特征和句子級別特征進行拼接,最后通過softmax 層對提取出的事件相關特征進行分類,識別觸發詞并預測觸發詞所屬事件類別。
本節介紹一種新的事件觸發詞抽取模型CNNBiGRU。該模型通過融合CNN 和BiGRU 進行事件觸發詞抽取,模型流程結構如圖1 所示。

圖1 CNN-BiGRU 模型整體流程Fig.1 Overall procedure of CNN-BiGRU model
輸入映射層是將句子序列中的每個詞轉換為向量表達,將文本數據表示為計算機能夠理解的方式。一個句子序列可表示為:

其中:n表示句子的長度,即S中單詞的個數;Wi表示句子中第i個單詞,本文將每個單詞Wi轉化為實值向量Xi,Xi由詞向量和位置向量拼接而成。
一個長度為n的句子序列可表示為:

其中:Xi表示X中每個單詞的特征向量。
本文將句子的最大長度設置為50,因為在CNN 中一般會將輸入向量設定為固定的長度。如果句子長度大于50,則截取前50 個單詞作為該句子;如果句子長度小于50,則采用補零的方式將句子補齊。
1.1.1 詞向量
詞向量是表示詞語特征的最常用方式,具有良好的語義特征,是把深度學習相關模型引入到自然語言處理領域的一個關鍵技術。本文的實驗采用谷歌預訓練的Word2vec 詞向量表進行初始化。Word2vec 技術包括CBOW 和Skip-gram 2 種模型。CBOW 模型是已知當前詞的上下文,對當前詞進行預測;Skip-gram 模型恰恰相反,是已知當前詞的情況下對其上下文進行預測。本文的訓練方式采用Skip-gram 模型,其模型結構如圖2 所示。本文采用300 維的詞向量來表示詞語特征,單詞Wi的詞向量表示為V(Wi)。

圖2 skip-gram 模型結構Fig.2 Structure of skip-gram model
1.1.2 位置向量
位置向量[16]形成的方式是通過隨機初始化,它代表上下文單詞在窗口中的相對位置。本文采用50 維的位置向量來表示位置特征,單詞Wi的位置向量表示為V(pei)。
綜上所述,單詞Wi的特征向量Xi可表示為:

其中:表示將詞向量和位置向量拼接,Xi∈Rd。
本文通過CNN 和BiGRU 將詞級別特征與句子級別特征相結合提高觸發詞的抽取效果。
1.2.1 CNN 詞級別特征提取
CNN[17]是一種前饋神經網絡,本文主要利用卷積神經網絡的特性,對句子中的每個詞提取局部特征,最后以特征圖的形式表現出來。觸發詞抽取是一個由序列到標簽的分類問題,卷積就相當于采用卷積核在輸入矩陣上滑動進行乘積求和的一個過程。
卷積過程如圖3 所示,給定句子的向量表示X={X1,X2,…,Xn},Xi∈Rd。

圖3 基于卷積的詞級別特征提取Fig.3 Lexical-level feature extraction based on convolution
設計一個u∈Rk×d的卷積核來抽取單詞語義和相關上下文特征,卷積核的寬度和本文輸入的寬度一樣,因為在文本處理中,句子矩陣的每一行代表一個詞的詞向量,卷積核通常覆蓋上下幾行的詞。單詞Wi通過卷積核ui進行卷積操作,可得到特征向量ci,如式(4)所示:

其中:Xi-k /2:i+ k/2表示單詞Wi周圍k個單詞的特征;f表示一個非線性激活函數;b表示一個偏置量;ci代表單詞Wi通過卷積操作得到的局部特征。
將卷積核掃描句子中的每個單詞,最終可得到整個句子的特征圖:

其中:g∈Rn,n表示句子的長度。
本文設計一個卷積集合u={u1,u2,…,um}來獲取不同的特征,選擇卷積核大小k=5,卷積核數量m=400。重復以上的卷積過程,根據窗口的大小,采用補零的方式將句子邊界補齊。整個句子的特征圖可表示為:

其中:C∈Rn×m,C中每行表示當前單詞通過CNN 所提到的詞匯級別特征。
1.2.2 BiGRU 句子級別特征提取
循環神經網絡容易產生梯度消失和長期依賴等問題,因為隨著輸入的逐漸增多,RNN 較難學習到連接之間的關系。為解決該問題,研究人員先后提出了LSTM 和GRU 這2 個擴展模型。本文選擇GRU[7],GRU 在各種任務中表現出的性能與LSTM類似,但GRU 結構較為簡單,相較于LSTM 少了一個門,參數也比較少,因此收斂速度比LSTM 更快,更加適合觸發詞抽取的任務。
GRU是由CHO 等提出的,GRU不使用單獨的存儲器單元,而是使用門控機制來跟蹤序列的狀態。GRU 有重置門r和更新門z2 種類型的門,它們共同負責更新信息的方式。GRU 的單元結構如圖4所示。

圖4 GRU 單元結構Fig.4 GRU unit structure
在圖4 中,zt為更新門,用于控制保留過去的信息量,以及被添加的新信息量;rt為重置門,用于控制前一時刻狀態有多少信息被寫入到當前候選集上,如果rt的值為0,則表示忘記之前所有的狀態。
在t時刻,GRU 計算新狀態如式(7)~式(10)所示:


其中:Wz、Wr、W為權重參數;Xt為t時刻GRU 的輸入;表示一個GRU 單元在t時刻的激活值;ht表示當前GRU 單元的激活值;σ為sigmoid 函數。
在GRU 對文本序列建模時,不考慮反向上下文,不能將上下文信息全部利用起來,因此增加反向輸入的GRU。雙向GRU 利用了2 個并行通道,使得模型既能獲得正向的累積依賴信息,又能獲得反向的未來的累積依賴信息。通過這種方式,使得提取的特征信息更加豐富。在訓練過程中,假設BiGRU將隱藏層的數量設定為s,那么BiGRU 的輸出結果如式(11)所示:

其中:H∈Rn×(2×s),H中每一行代表一個單詞通過BiGRU 提取得到的句子級別特征。
由上文可 知,C∈Rn×m為CNN 提取到 的詞特征,H∈Rn×(2×s)為BiGRU 提取到的句子全局特征,將這2個特征進行拼接,如式(12)所示,這樣可以將特征提取的更加充分。輸出層的目的是將CNN-BiGRU模型提取得到的特征放入softmax 層進行觸發詞預測,如式(13)所示:

其中:⊕表示向量的拼接;y∈Rn×(m+2×s)。

其中:W1表示連接權重矩陣;b1表示偏置。
CNN-BiGRU 模型如 圖5 所 示。

圖5 CNN-BiGRU 模型Fig.5 CNN-BiGRU model
本文使用的數據集是ACE2005 英文語料庫和中文突發事件語料庫CEC,它們是事件觸發詞抽取任務中最常使用的數據集。
ACE2005 英文語料庫是事件抽取任務一直被廣泛采用的數據集,該語料庫包含599 篇文檔,內容涉及新聞、廣播、對話、博客、論壇和電話錄音等。ACE評測會議的主要目標是識別出新聞語料中的實體、關系和事件。在ACE2005 英文語料庫中,事件被分為8 個大類和33 個子類,本文把識別子類作為主要任務。本文隨機選取校驗集30 篇,測試集40 篇,再將訓練集選取為剩下的529 篇。
中文突發事件語料庫CEC[18]是上海大學開源的數據集,該數據集共包括地震、食物中毒、恐怖襲擊、火災以及交通事故5 類新聞報道。CEC 事件語料庫的標注格式是XML 語言,該語料庫對事件、事件元素以及環境等全面標注,總共包含11 908 個事件。本文實驗設定訓練集、校驗集和測試集的比例為7∶1∶2。
事件觸發詞識別/分類:觸發詞被正確識別?觸發詞在文本的位置和類型與標準標注文檔中的候選事件觸發詞的位置和類型完全匹配。
本文與大多數事件抽取研究的評價方法一致,將準確率(precision)、召回率(recall)和F1 值(F1-measure)作為衡量事件抽取模型好壞的指標。precision 表示系統正確標注結果的總數與系統標注結果總數的比值;recall 表示系統正確標注結果的總數與語料中標注結果的總數的比值;F1 是precision值和recall 值的一個綜合度量。具體計算公式如下:

事件抽取模型的性能通常通過F1 值來綜合判斷,F1 值越大,模型性能越好。
在訓練過程中,采用softmax 函數作為分類器,進而預測出觸發詞類型的概率矩陣,觸發詞類型的判斷是通過argmax 函數、損失函數為交叉熵代價(cross-entropy error)函數,將Adam 優化算法作為梯度下降算法。本文模型實驗參數的設置如表1所示。

表1 超參數設置Table1 Hyperparameters setting
為驗證本文模型對于實驗的有效性,采用多種模型與本文模型進行對比。表2、表3 分別展示了在ACE2005 英文語料庫上不同模型觸發詞抽取性能和觸發詞分類性能的對比;表4 展示了在中文突發事件語料庫CEC 上不同模型觸發詞抽取性能的對比(粗體為最優結果)。

表2 ACE2005 英文語料庫上觸發詞抽取性能對比Table 2 Comparison of trigger word extraction performance on ACE2005 English corpus %

表3 ACE2005 英文語料庫上觸發詞分類性能對比Table 3 Comparison of trigger word classification performance on ACE2005 English corpus %

表4 中文突發事件語料庫CEC 上觸發詞抽取性能對比Table 4 Comparison of trigger word extraction performance on Chinese emergencies corpus CEC %
由表2 可知,傳統的事件觸發詞抽取方法表現出來的效果普遍不如基于神經網絡的事件觸發詞抽取方法效果。在觸發詞抽取性能中,本文模型準確率雖然較DMCNN 低0.3 個百分點,但召回率卻提升2.7 個 百分 點,F1 值 提升1.4 個百分 點;S-CNNs 模 型召回率比本文模型高1.4 個百分點,準確率卻比本文模型低2 個百分點,F1 值比本文模型低0.6 個百分點。總體來講,在觸發詞抽取性能對比中,本文提出的模型表現最好。
由表3 可知,在觸發詞分類性能對比中,JRNN的事件抽取方式雖然召回率的提高非常顯著,但是它的準確率卻較本文模型低8.9 個百分點,F1 值較本文低0.4 個百分點。綜上所述,在觸發詞抽取這一任務中,本文提出的模型是目前所有模型中效果最好的。
分析表4 可知,本文提出的模型達到的抽取效果是最好的,相比起現有表現最好的模型F1 值提高1.44 個百分點。雖然本文模型準確率比CNN[22]模型低0.05 個百分 點,但召回率卻比CNN[22]模型高 出2.89 個百分點,整體表現出的抽取效果也是最好的。
本文研究了調整CNN 重要參數對模型的影響。實驗結果如圖6 所示。

圖6 窗口大小對模型的影響Fig.6 Effect of window size on the model
由圖6 可知,當把其他參數設為定值,卷積窗口的大小設定為5 時,可使得模型的F1 值達到最大,效果達到最好。分析可知,當CNN 卷積窗口過小時,不能充分利用上下文語義進行特征提取,對應的F1 值較小;當卷積窗口過大時,也不能達到最好的特征抽取效果,由于當窗口過大時,不利于提取句子的局部特征,因此參數的選取對于實驗非常重要。
本文提出的CNN-BiGRU 模型具有很好的事件觸發詞抽取效果,因為該模型特征提取相當充分。同時本文模型也具有很好的收斂特性,收斂情況對比如圖7 所示。

圖7 收斂情況對比Fig.7 Convergence comparison
由圖7 可知,本文提出的模型迭代次數達到500 次左右就可收斂,而CNN-BiLSTM 模型迭代次數達到1 000 次左右才可收斂。分析可知,BiGRU 在事件觸發詞抽取任務上的表現比BiLSTM 效果更好,能更快地達到收斂,本質是因為BiGRU 網絡結構相對BiLSTM 更加簡單,所需參數少,能有效縮短模型訓練時間。
本文提出一種基于CNN-BiGRU 模型的事件觸發詞抽取方法。通過卷積神經網絡提取詞級別特征,并根據BiGRU 提取句子級別特征,提高觸發詞效果。同時BiGRU 所需參數較少,可縮短模型的訓練時間。實驗結果表明,相比現有事件觸發詞抽取方法,本文模型的抽取效果有明顯提升。下一步將考慮引入更多的有效特征作為輸入來提高模型的抽取性能。另外,由于主題事件抽取是未來的發展方向,因此可嘗試將模型擴展到主題事件抽取任務中。