沈蘭奔,武志昊,紀宇澤,林友芳,萬懷宇
(北京交通大學 計算機與信息技術學院,北京 100044)
事件抽取是信息抽取領域非常重要的研究任務之一。事件抽取的目標是把人們用自然語言表達的事件以結構化的形式展現出來。事件抽取作為文本信息處理領域的關鍵技術,在信息檢索、自動問答、自動摘要、推薦系統等方面均有廣泛應用。事件抽取又分為事件檢測和事件參數識別兩個環節。事件檢測是指從文本中發現事件并確定事件的類別及子類別,事件參數識別是指對確定事件類型所包含的元素進行識別。本文重點關注中文事件抽取中的事件檢測環節。
事件檢測的目標是定位文本中事件的觸發詞,并將其精確分類為特定的事件類型。觸發詞是能夠清楚地表示事件發生的主要單詞,通常是動詞或動名詞。例如,對于句子例1,在事件檢測任務中,“成立”應該被識別為觸發詞,且被標記為Business事件類型。
例1Intel在 中國成立了 研究中心。
準確的事件檢測十分具有挑戰性,因為相同的事件類型可能以不同的觸發詞出現。例如,句子例2和例3中的觸發詞分別是“誕生”和“出生”,盡管它們是不同的觸發詞,但它們都應被標記為Life事件類型。另外,相同的觸發詞可能在不同的上下文中表示不同的事件類型。例如,句子例4和例5中的觸發詞都是“釋放”,但例4中的“釋放”是一種攻擊行為,應被標記為Conflict事件類型,而在例5中,“釋放”與犯罪和法律有關,應被標記為Justice事件類型。
例2毛澤東誕生于1893 年。
例3魯迅出生于 浙江 紹興。
例4面對 危險,黃鼠狼釋放出 一種 難聞 的 氣體。
例5因為 證據 不足,他 被 無罪釋放。
傳統的事件檢測方法通常依賴一系列的NLP工具來提取詞匯特征(如詞性標注、命名實體識別)和句子特征(如依存關系分析)。盡管這些方法也能獲得不錯的效果,但由于受制于外部的NLP工具的硬性特征工程和誤差傳播,通常泛化能力較差。
近幾年,神經網絡模型已被廣泛應用于NLP領域,也包括中文事件檢測任務。例如,Zeng等[1]提出了結合卷積神經網絡和雙向長短期記憶模型的事件檢測方法,在中文事件檢測方面取得了不錯的效果。Feng等[2]提出了基于混合神經網絡模型的中文事件檢測方法,也取得了較好的效果。與此同時,因注意力機制(Attention mechanism)能捕獲全局特征信息,所以在自然語言處理各項任務中也得到了廣泛的應用。
受此啟發,為了更好地捕捉文本的局部特征和全局特征,本文提出了一種結合注意力機制和雙向LSTM的事件檢測方法ATT-BiLSTM,該方法能同時捕獲句子的特征信息和詞的特征信息,而不需要POS標簽或NER的幫助。
同時,我們也受到Chen和Ji的工作[3]的啟發,引入基于詞的BIO機制來解決中文語言特定問題。
本文的主要貢獻如下 :
(1) 提出一種結合注意力機制與長短期記憶的中文事件檢測模型ATT-BiLSTM;
(2) 引入基于詞的BIO機制來解決中文事件檢測中的觸發詞分割問題;
(3) 通過充分的實驗驗證了本文提出的方法的良好性能。
基于模式匹配的方法是指在一些模式的指導下對某類事件進行識別,利用模式匹配算法將待抽取的句子和提前制定好的模板進行匹配[4],從而識別事件類型。這類方法在特定領域的準確率較高,但它通常需要依靠擁有專業知識的工程師手工編寫大量的事件抽取規則,制定事件模板,因此可移植性較差,不能跨領域使用。應用這類方法的系統有ExDisco[5]、GenPAM[6]等。
總體上,基于模式匹配的方法接近人的思維方式,知識表示直觀、自然,便于推理,在單一領域準確率較高。但是這種方法往往依賴具體語言、具體領域及文本格式,規則模板編制過程費時費力且容易產生錯誤,往往需要富有經驗的語言學家才能完成[7]。而且抽取的模式不可能涵蓋所有的事件類型,當從一種語料轉移到另一種語料時,為保證不損失性能,需要花費很多精力進行模式提取,因此可移植性差,性價比不高。
與基于模式匹配的方法相比,基于傳統機器學習的方法魯棒性和靈活性較好,且不需要太多的人工干預和領域知識,召回率較高,但容易受到語料庫規模和數據稀疏性的影響,準確率通常低于模式匹配的方法。
目前,采用傳統機器學習的方法進行事件檢測主要包括基于事件觸發詞驅動的方法和基于事件實例驅動的方法兩大類。
1.2.1 基于事件觸發詞驅動的方法
Ahn[8]提出了一種基于觸發詞驅動的事件類型識別方法,在ACE語料上取得了不錯的效果,其最重要的步驟就是判斷句子中的每個詞是否為最能描述某個事件發生的觸發詞,如果是,則將其歸為正例,并用一個多元分類器對其進行分類,獲得其所屬的事件類別。Grishman等[9]、Hardy等[10]以及趙妍妍等[11]提出的方法都屬于基于事件觸發詞驅動的方法。在這類方法中,將每個詞作為一個實例來訓練識別觸發詞的機器學習模型,這個過程引入了大量的反例,導致正反例嚴重不平衡,并且,事件類別的多元分類器在語料規模較小的時候存在一定的數據稀疏問題。
1.2.2 基于事件實例驅動的方法
Naughton等[12]提出的事件檢測方法從描述事件的句子出發,將句子看成候選事件的實例,將事件檢測任務轉化為對句子的聚類問題。這個方法顯著區別于前述方法,從另外一個角度來解決事件檢測任務,然而算法中只是對句子所描述的事件實例進行劃分,并沒有進一步判斷事件實例的具體類別,以及識別出促使某事件發生的觸發詞,而識別出這些信息對于事件檢測任務而言是至關重要的。
最近,深度學習技術已被廣泛用于構建復雜模型,并被證明在許多NLP任務上非常有效,如機器翻譯[13]、關系抽取[14]和情感分析[15]等。
很多學者使用深度學習進行事件檢測。近年來,大量基于深度神經網絡的事件檢測模型不斷涌現: 例如,Chen等[16]提出的一個卷積神經網絡來捕捉詞匯層面的線索,并使用動態多層池化來捕捉句子層次特征的方法(DMCNN)、域適應的卷積神經網絡模型[17]、基于Skip-Grams的卷積神經網絡模型[18]、兩階段的神經網絡模型[19]、基于循環神經網絡的聯合模型[20]、基于Skip-Windows的卷積神經網絡模型[21]、C-BiLSTM事件檢測模型[1]、混合神經網絡模型(HNN)[2]、橋依賴的循環神經網絡(dbRNN)[22]、NPN[23]網絡等。
深度神經網絡模型具有學習特征表示的能力,在訓練中執行端到端的訓練,自動地從自然語言文本中提取特征,節省人力物力,提高學習效率。在事件檢測中,不需要進行實體識別和實體分類,不需要分析語義關系,這也就避免了很多因人工干預引起的傳播錯誤,使得事件檢測任務的性能得到提升。
然而,深度神經網絡模型在NLP方面存在著一些挑戰: 其理論基礎缺乏,需要大量的訓練數據來覆蓋各種各樣的情況,需要強大的硬件資源來應對復雜的計算等。
現有的神經網絡模型,很多方法重點在捕捉詞的特征信息,對于句子的全局信息和詞間信息沒有引起足夠的重視。本文提出的ATT-BiLSTM模型既能捕獲詞的特征信息,還能兼顧句子的全局特征信息和捕捉詞與詞之間的特征信息,同時引入BIO機制,解決中文語言特定問題,協同促進,提高了中文事件檢測的性能,獲得了非常好的效果。
事件檢測也稱為觸發詞標注,其目標是發現事件的觸發詞并為其分配預定義的事件類型。
通常情況下,將事件檢測劃分為觸發詞識別和觸發詞分類兩個子任務。與之前的工作不同,本文通過一個聯合網絡同時學習觸發詞識別和觸發詞分類,而不是分別進行觸發詞識別和觸發詞分類實驗,這樣可以減少流水線模型帶來的誤差傳播問題。
在介紹本文提出的模型之前,我們首先闡述一下中文觸發詞標注中存在的語言特定問題[3]。
不同于英文,中文在詞與詞之間沒有空格作為分隔符,這使得分詞成為中文事件檢測必不可少的步驟。我們發現,分詞會對某些觸發詞的檢測產生影響,如表1中所示的這些觸發詞,如果我們簡單地預測某個單詞是否為事件觸發詞,就無法準確識別它們。

表1 非單詞形式的觸發詞示例
我們將以上示例總結為以下兩種類型:
(1) 組合觸發詞: 雖然許多事件都是以單個單詞為觸發詞,但多個單詞也可以組合成為觸發詞。例如,表1中的例6中的事件,不應由“掉入”或“陷阱”觸發,而應由“掉入陷阱”觸發。
(2) 詞內觸發詞: 幾乎所有的漢字都有其自身的含義,其中一些字可以單獨形成觸發詞。例如,表1中例7中的“敲打”這個詞就包含了“敲”和“打”兩個觸發詞。有時一個單詞的連續字符也可以形成觸發詞,又如,例8中的“兇殺案”這個詞中的“兇殺”兩個字是一個觸發詞。
在ACE 2005中文語料集[24]中,有2 902個觸發詞為一個單獨的詞,同時還有431個觸發詞屬于組合觸發詞或詞內觸發詞,比率達到了13%[3]。
為了解決中文語言的特定問題,我們將事件檢測視為序列標注任務而不是分類任務,因此可以將觸發詞識別過程視為對句子中每一個詞的標注過程。目前使用最廣泛的觸發詞標注方法是BIO標注方案[3],即如果當前詞是觸發詞的開始,則被標記為B類型;如果在觸發詞內部,則標記為I類型;否則標記為O。通過引入BIO標注,可以降低觸發詞識別的錯誤率,從而提高事件檢測的性能。如表1中例6所示,如果不采用BIO標注,那么該事件就由“掉入”觸發,從而得到錯誤的事件類型結果。本文以詞為單位進行觸發詞標注,只考慮組合觸發詞的情況。
受Zeng等[1]的啟發,我們將事件檢測當作序列標注問題,即為句子中的每一個詞確定相應的標簽,而不是分類問題。由此,我們提出了一個結合注意力機制與長短期記憶模型的方法。模型的網絡結構如圖1所示。

圖1 基于注意力機制的雙向LSTM中文事件檢測模型
首先,我們把分詞后的句子通過預訓練的詞嵌入映射成向量;然后,把向量化的句子輸入到第一個BiLSTM層中,提取句子序列的特征信息;再把第一個BiLSTM層計算的結果輸入到注意力機制層,獲得詞與詞之間的特征信息;之后把注意力機制層得到的結果輸入到第二個BiLSTM層中,綜合前兩層信息處理的結果,從全局進一步提取句子序列的語義信息;最后通過標簽推斷層為句子中的每個詞標注一個標簽,得到最后的序列標注結果。
下面我們對模型的各個組件進行詳細描述。
2.2.1 輸入文本向量化層
使用神經網絡模型來處理數據,首先需要對輸入的數據進行向量化處理。文本向量化的方式是分布式表示(distributed representation)。它通過學習將某種語言中的每個詞映射成一個固定長度的低維向量,將所有這些向量放在一起就形成一個詞向量空間,每一個向量為該空間中的一個點,在這個空間中引入“距離”,就可以根據詞向量之間的距離來判斷它們之間的語義相似性了。
分布式表示通常又稱詞嵌入(word embedding),已有的研究表明,加入預先訓練的詞嵌入向量可以提升自然語言處理任務的性能。
本文使用Word2Vec[25]中的Skip-gram模型來預訓練詞向量。Skip-gram模型通過最大化平均對數概率來訓練單詞的嵌入,如式(1)所示。
其中,c是訓練窗口的大小,m是未標注文本的詞匯,e是詞嵌入。
構建文本詞向量是將文本信息轉換為向量形式,每個句子表示為一個矩陣。假定詞向量的維度大小為d,令xi∈Rd為句子中第i個詞的d維向量,則長度為n的句子表示如式(2)所示。
其中,⊕是連接算子。由此,就將句子實例轉換為矩陣X∈Rn×d。然后,X被送入模型的雙向LSTM層。
2.2.2 雙向LSTM層
LSTM(Long Short-Term Memory Neural Network)模型[26]是RNN的一種擴展,用于處理時間序列中長期依賴丟失的問題。與經典RNN網絡不同,LSTM的循環單元模塊具有不同的結構,存在4個以特殊方式相互影響的神經網絡層[27]。
LSTM網絡的關鍵在于LSTM單元的細胞狀態,它通過門(gates)結構來對細胞狀態增加或刪除信息,而門結構是一種讓信息選擇性通過的方式。如圖2所示。

圖2 LSTM結構圖
LSTM單元具有輸入門(input gates)、遺忘門(forget gates)和輸出門(out-put gates)三種門結構,用以保持和更新細胞狀態,分別用it、ft、ot和Ct表示t時刻對應的三種門結構和細胞狀態[27],如式(3)~式(5)所示。
本文采用的雙向LSTM(Bidirectional Long Short-term Memory)模型結合了雙向RNN[28]和LSTM兩個模型的優點,目的是解決單向LSTM無法處理后文信息的問題,單向LSTM只能在一個方向上處理數據,而雙向LSTM在隱藏層同時有一個正向LSTM和一個反向LSTM,正向LSTM捕獲上文的特征信息,而反向LSTM捕獲下文的特征信息,然后通過融合捕獲的上文特征信息和下文特征信息最終獲得全局的上下文信息。
圖3展示的是向量化的句子X以序列x1:n沿著時間軸進入雙向LSTM的處理過程,同時也是圖1中Attention層的輸出進入后一個雙向LSTM神經網絡的處理過程。雙向LSTM的輸出公式如式(6)所示。


圖3 雙向LSTM結構圖
2.2.3 注意力機制層
注意力機制(attention mechanism)最早出現在計算機視覺領域[29],近幾年基于注意力機制的神經網絡在自然語言處理各項任務中已經取得了很多重要的進展。因為Attention 層能一步到位捕捉到全局的信息,可以更加全面地獲得句子的特征,所以,本文引入注意力機制,其模型如圖4所示。

圖4 注意力機制的一般框架
注意力機制的定義如式(7)所示。
其中,Q∈Rn×dk,K∈Rm×dk,V∈Rm×dv。如果忽略激活函數softmax的話,那么事實上它就是三個矩陣相乘,最后的結果是一個n×dv的矩陣。我們可以理解為一個Attention層將n×dk的序列Q編碼成了一個新的n×dv的序列。
因為輸入序列小于維度d,對于每一層的計算時間復雜度來說,選擇 self-attention 是比較占優勢的,所以本文采用self-attention[30]機制,其定義如式(8)所示。
其中,X為第一個雙向LSTM的輸出yt,Y為第二個LSTM的輸入,即Attention層的輸出。
Self-attention不但可以捕獲句子的全局特征信息,還可以捕獲同一個句子中單詞之間的語義特征信息。
2.2.4 事件類型推斷層
經過雙向LSTM層和注意力機制層的信息提取,又進入一個雙向LSTM層,得到整個文本的特征向量Hab。 為了對高維的文本特征進行降維,增強數據的非線性能力,我們在softmax層之前增加一個非線性層,將上一層的輸出向量映射為長度為m的向量,其中m為標簽類別數[27]。最后經過softmax分類器計算對應類別的分布概率,如式(9)所示。
其中,Wc∈Rm×d為參數矩陣,bc∈Rm為偏置。
根據求得的標簽概率分布,可以得到每個詞對應的預測標簽,如式(10)所示。
2.2.5 模型訓練
設T為所有訓練樣例個數,(xi,yi)是第i個樣本,θ表示模型的參數。則模型的目標損失函數如式(11)所示。
訓練過程中用Dropout方法來控制模型隨機地讓網絡中的某些隱藏層節點不工作,防止模型過擬合[27]。最后使用Nadam優化算法對目標函數進行優化,其計算過程中采用誤差反向傳播的方式逐層求出目標函數對神經網絡各層權值的偏導數,并更新全部權值和偏置值。
我們使用Tensorflow來實現神經網絡,在實驗過程中,我們會持續檢查模型在驗證集上的性能表現,并選擇F-score最高的參數進行最終的評估。
我們使用的詞向量是對83.6萬篇中文新聞文檔進行詞嵌入表示學習。所有詞向量在訓練過程中都會進行調整。詞向量的維度設置為100。
為了驗證本文提出的ATT-BiLSTM模型的性能,我們采用ACE 2005[24]的中文數據集,并在該數據集上將ATT-BiLSTM與其他現有的事件檢測方法進行對比,驗證了ATT-BiLSTM模型的性能。
ACE 2005中對事件進行了一些必要的標注,主要有:
(1) Event Mention(事件提及): 一個事件在一篇文章中可能多次出現,每一次出現稱為一次事件提及。
(2) Type/Subtype(事件的類別/子類別): 這里采用ACE 2005定義的事件類別/子類別,共8種事件類別,每種事件類別中又包含一些子類別,共33個子類別,如表2所示。

表 2 ACE 2005定義的事件類別和子類別
(3) Trigger(事件觸發詞): 直接引發事件發生的詞,絕大部分情況下是動詞或動名詞。
(4) Argument/Role(事件元素/角色): 事件的元素及其對應的角色。
(5) Extent(事件的界限): 以觸發詞和事件元素的起始位置的最小值和結束位置的最大值為界限。
(6) Modality,Polarity,Genericity,Tense(形態,極性,泛型,時態): 事件的4個屬性,分別表示是確定型/非確定型事件,是主動型/被動型事件,具體事件/普通事件,事件的時態。
(7) Ldc_scope(事件位置): 事件所在的句子。
本文使用的ACE 2005中文數據集共包含633篇中文文檔,分別選取自廣播新聞(298篇)、新聞專線(238篇)和博客(97篇)。為了與前人的工作進行比較,我們沿用Chen和Ji的實驗[3]設置,我們隨機選取509篇文檔作為訓練集, 60篇作為驗證集,保留64篇作為測試集。
我們將本文提出的ATT-BiLSTM模型與5種現有的中文事件檢測方法進行了對比,其中前兩種是基于傳統方法的事件檢測模型,后3種是基于神經網絡的事件檢測模型,是當前在中文事件檢測方面最好的模型,分別如下:
1) Char-MEMM[3]首次使用基于字符的方式來處理特定語言的問題,并探索了在觸發詞標注中應用的有效的詞匯、句法和語義特征。用BIO標記方案標記每個字符來訓練最大熵馬爾可夫模型進行事件檢測。
2) Rich-L是Chen等[31]提出的一種聯合事件檢測模型,來解決流水線模型中的錯誤傳播問題,還提供了處理中文特定語言問題的功能,以改善中文事件檢測,是基于特征的最先進的中文事件檢測方法。
3) Word-based C-BiLSTM+Errata table是Zeng等[1]提出的一種分別使用字符級和單詞級粒度特征并結合雙向LSTM和卷積神經網絡的方法,可以捕獲句子級別信息和詞匯信息,并使用觸發詞勘誤表進行矯正。
4) Hybrid Neural Network(HNN)是Feng等[2]提出的一種混合神經網絡模型,結合了雙向LSTM和卷積神經網絡,用來捕獲特定上下文中的序列和塊信息,并使用它們來訓練多種語言的事件檢測器。
5) Nugget Proposal Networks(NPN)是Lin等[23]提出的利用DMCNN[16]進行特征提取并同時嵌入詞和字符向量的事件檢測方法。
我們使用事件檢測任務的精確度(P)、召回率(R)和F值(F-score)來評估模型的性能。這些指標是根據任務的正確性標準來計算的:
1) 如果預測的觸發詞與參考觸發詞完全匹配,則正確識別觸發詞;
2) 如果預測的觸發詞類型與參考觸發詞類型完全匹配,則正確分類;
P、R、F-score定義如式(12)~式(13)所示。
表3列出了ATT-BiLSTM模型和其他基準方法的實驗結果。

表3 不同模型的中文事件檢測效果比較

續表
從表3可以看出,我們的ATT-BiLSTM模型在召回率和F值方面全都優于基于傳統方法的Char-MEMM和Rich-L。Char-MEMM利用詞語的上下文來提取詞匯特征,并減少虛假論證;Rich-L使用聯合模型,結合句子特征和語義特征來進行事件檢測。這兩種方法高度依賴于復雜的語言特征工程和自然語言處理工具。我們的ATT-BiLSTM模型是基于神經網絡的方法,不需要人工設計復雜的特征,并引入BIO機制處理中文語言特定問題,可以有效避免從其他NLP工具傳播的錯誤,如依賴關系解析和POS標記等。
相比較于Word-based C-BiLSTM + Errata table和HNN,我們的ATT-BiLSTM模型在召回率和F1值方面全都優于這兩種基于神經網絡的方法。Word-based C-BiLSTM + Errata table分別使用字符級和單詞級粒度對輸入進行嵌入,結合 BiLSTM 和卷積神經網絡,處理中文語言特定問題,輔助觸發詞勘誤表進行中文事件檢測。但是由于基于字符的方法需要維護較長的序列,所以整體上基于詞的嵌入方法性能更好。HNN模型在整體框架上和Word-based C-BiLSTM + Errata table相似,都是將BiLSTM和卷積神經網絡的輸出向量連接起來,但HNN模型的卷積神經網絡是在整個句子上用不同大小的窗口學習。HNN關注的是多語言的通用模型,所以沒有過多考慮中文語言特定問題。我們的ATT-BiLSTM模型在利用BiLSTM提取句子序列特征信息的同時,引入注意力機制,更好地獲取詞的特征信息和詞與詞之間的特征信息,全面考慮每個詞對于句子的重要性。
NPN模型將觸發詞識別和分類分成兩個模塊,結合DMCNN[16]和嵌入向量(詞與字符)進行事件檢測,不可避免地存在傳播誤差,但因其維持了兩種嵌入向量,在觸發詞匹配方面有很好的效果。我們的ATT-BiLSTM在準確率和F值方面優于NPN,原因是我們用引入BIO機制去解決觸發詞匹配問題,同時利用注意力機制提取詞與詞之間的信息,綜合提高了事件檢測的性能。
總體上,我們的ATT-BiLSTM模型在召回率和F值方面具有很強的競爭力,而且不需要繁雜的特征工程,節省了大量的人力;兩層的BiLSTM使得句子特征得到了更好的捕捉,注意力機制能夠更好地獲取詞的特征信息和句子的語義信息。所以,ATT-BiLSTM模型在中文事件檢測方面具有良好的性能。
本文提出了一種新的結合注意力機制的雙向LSTM的中文事件檢測模型,將事件檢測任務看作是一種序列標注問題,而不是分類問題。引入BIO機制,解決中文語言的特定問題,利用注意力機制和雙向LSTM為抽取特征,從原始文本中捕獲詞匯特征和句子的序列信息。實驗結果表明,與已有的事件檢測方法相比,我們的方法通過結合注意力機制與雙向LSTM模型,自動地獲得詞匯特征和句子特征,不依賴于任何人工設計的特征和外部資源,從而在ACE 2005的中文數據集上獲得非常好的效果。
后續的工作中,我們將在之前的工作基礎上完成事件參數識別的工作,完善事件抽取的研究。同時,還要考慮如何更好地擺脫領域的限制,使模型可以更好地應用到其他具體的領域。