吳文濤,李培峰,朱巧明
(1. 蘇州大學 計算機科學與技術(shù)學院,江蘇 蘇州 215006;2. 江蘇省計算機信息技術(shù)處理重點實驗室,江蘇 蘇州 215006)
實體(Entity)和事件(Event)抽取是信息抽取(Information Extraction)的兩個子任務(wù),這兩個子任務(wù)密切相關(guān)。事件抽取的任務(wù)是從文本中抽取出預先定義好的各種類型事件實例(Event Mention)及其論元(Argument)(1)事件的參與者和屬性,由實體實例組成。。其中,實體是事件的核心組成部分,實體抽取任務(wù)有助于準確抽取事件。
例1給出了一個事件實例,其中,“reaching”是事件的觸發(fā)詞,所觸發(fā)的事件類型為Attack(攻擊)。“Scud missiles”是其中的一個實體,其實體類型是WEA(武器),充當?shù)慕巧荌nstrument(工具)。這個實體的識別明顯有助于識別該事件為Attack(攻擊)類型事件。因為多數(shù)攻擊類型事件都有攻擊的武器。
例1Iraq believed to haveScud missilescapable ofreachingBaghdad.
現(xiàn)有的工作大多數(shù)將實體抽取和事件抽取作為兩個單獨任務(wù),很少關(guān)注兩個子任務(wù)的相關(guān)性。在事件抽取中,絕大多數(shù)現(xiàn)有工作都假設(shè)文本中的實體已知[1-5],但這在實際應(yīng)用中并不成立。Li等[6]先使用命名實體識別工具識別出人物、組織和地點等實體實例,然后再將這些抽取的實體作為輸入來抽取事件,這往往會導致錯誤傳遞。在上述例子中,若命名實體識別工具識別不出“Scud missiles”是武器類實體,或錯誤地將其識別為人物,就可能導致事件抽取系統(tǒng)無法正確抽取出該Attack事件。另外,少數(shù)研究為實體抽取和事件抽取建立聯(lián)合學習模型,但這些模型往往基于特征工程,依賴復雜人工特征。另外,這些模型嚴重依賴于其他任務(wù)(如句法分析和依存分析等),這也會導致級聯(lián)錯誤。
為了解決上述問題,本文提出了一個聯(lián)合實體抽取和事件抽取的混合神經(jīng)網(wǎng)絡(luò)模型(Hybrid Neural Networks for Entity and Event Extraction,HNN-EE)。該模型的核心是實體抽取和事件抽取共享一個雙向LSTM層,通過底層共享參數(shù),互相促進學習,獲得實體和事件之間豐富的關(guān)聯(lián)信息。此外,該模型還采用線性(Conditional Random Field,CRF)層結(jié)構(gòu)來模擬標簽之間的交互關(guān)系來解碼整個句子的標簽,并引入自注意力(Self Attention)機制和門控卷積神經(jīng)網(wǎng)絡(luò)(Gated Convolutional Neural Networks)來捕獲任意詞之間的關(guān)系和提取局部信息,實現(xiàn)信息的多通道融合。在英文ACE 2005語料庫上的實驗結(jié)果表明,本文的方法明顯優(yōu)于目前最先進的基準系統(tǒng)。
目前,事件抽取的相關(guān)研究工作雖然很多,但為了降低任務(wù)復雜性,絕大多數(shù)工作假設(shè)文檔中的實體已經(jīng)被識別。例如,Ahn[1]使用詞匯、句法特征以及外部知識庫來抽取事件。Hong等[2]充分利用實體類型的一致性特征,提出利用跨實體推理進行事件抽取的方法。Chen[3]等將觸發(fā)詞抽取和論元抽取作為兩個整體任務(wù)來抽取中文事件,進而防止錯誤傳遞。Li等[6]采用基于結(jié)構(gòu)化感知機的聯(lián)合模型,將觸發(fā)詞抽取和論元抽取看作一個整體的序列標注任務(wù)。Liu等[7]利用概率軟邏輯模型來編碼全局信息,進一步提升了事件抽取性能。
近年來,隨著深度學習的發(fā)展,更多的神經(jīng)網(wǎng)絡(luò)模型被引入到事件抽取。Nguyen、Grishman[4]、以及Chen等[5]運用卷積神經(jīng)網(wǎng)絡(luò)來避免復雜的特征工程。Nguyen等[8]提出基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型,同時抽取觸發(fā)詞和論元。Sha等[9]針對雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型沒有有效地利用依存句法信息,提出了依賴橋的雙向LSTM模型,充分利用句法信息來抽取事件,性能得到明顯提升。Liu等[10]利用已經(jīng)標注的論元信息,提出了基于有監(jiān)督的注意力機制事件抽取方法。
目前,僅有少數(shù)的工作從生文本(實體信息未知)中抽取事件。Li等[11]提出一個基于結(jié)構(gòu)化預測模型,同時抽取實體,關(guān)系和事件。Yang等[12]提出篇章內(nèi)的事件和實體抽取聯(lián)合模型,通過采用聯(lián)合因子圖模型來聯(lián)合學習每個事件內(nèi)部的結(jié)構(gòu)化信息、篇章內(nèi)不同事件間的關(guān)系和實體信息,明顯提高了實體和事件的抽取性能。不同于Yang等[12]的工作依賴大量的人工特征,本文的一個特點是采用混合神經(jīng)網(wǎng)絡(luò)模型通過底層共享來挖掘?qū)嶓w和事件抽取兩個任務(wù)間的依賴關(guān)系。
為了解決管道模型中的級聯(lián)錯誤和傳統(tǒng)方法中依賴人工特征的問題,本文提出了一個混合神經(jīng)網(wǎng)絡(luò)模型HNN-EE,其架構(gòu)如圖1所示。
圖1 HNN-EE模型的架構(gòu)
HNN-EE主要通過實體和事件抽取兩個任務(wù)在淺層共享參數(shù),協(xié)同訓練,互相促進,提高性能。該模型主要包含以下3個部分: ①輸入和編碼層; ②實體抽取模塊; ③事件抽取模塊。首先,在輸入和編碼層部分,輸入包含了詞向量和經(jīng)過卷積、池化后的字符向量。編碼層雙向LSTM可以將序列中每個詞的上下文信息從前向和后向兩個方向很好地保留并傳遞下去,提取序列中的全局信息。實體抽取任務(wù)和事件抽取任務(wù)共享雙向LSTM編碼層,兩個任務(wù)通過底層共享參數(shù)的形式共同學習,在訓練時兩個任務(wù)通過后向傳播算法更新共享參數(shù)來實現(xiàn)兩個任務(wù)之間的依賴。編碼層后有兩個通道,一個連接到實體抽取模塊,由線性CRF層來解碼,獲得最佳的實體標簽序列;另一個送入到自注意力層和門控卷積層,自注意力層捕獲序列內(nèi)部的聯(lián)系,門控卷積神經(jīng)網(wǎng)絡(luò)可以控制信息的流動,捕獲到重要的局部信息,與經(jīng)過雙向LSTM編碼后的句子向量結(jié)合,提取出句子序列的全局和局部信息,最后進入到softmax層進行觸發(fā)詞識別和分類。
在輸入層中,對于句中每個詞,本文使用了預訓練的詞向量[13]進行初始化,作為事件抽取模塊的輸入。Zadrozny[14]的研究已經(jīng)證明卷積神經(jīng)網(wǎng)絡(luò)能夠從詞的字符表示中有效提取出形態(tài)學信息(如詞的前綴或后綴)。所以本文對字符向量進行卷積和全局最大池化操作后獲得每個單詞的字符表示向量,然后字符表示向量與詞向量拼接在一起傳入到下一層雙向LSTM中,作為實體抽取模塊的輸入。在訓練過程中,本文不再更新詞向量的參數(shù)。
對于實體抽取,本文使用BIO標簽模式(Begin: 實體開始單詞,Inside: 實體其余單詞,Outside: 非實體單詞)為每個詞賦予一個實體標簽,每個標簽包含了實體中單詞的位置信息。雖然雙向LSTM能夠捕獲到長距離的依賴信息,但是對于序列標注(或一般結(jié)構(gòu)化預測)任務(wù),有必要考慮相鄰標簽之間的依賴性。比如,I-ORG(類型為組織的實體非開頭詞)后不能跟隨I-PER(類型為人物的實體非開頭詞)。因此本文對標簽序列使用線性CRF建模,而不是對每個標簽獨立解碼。
本文使用y={y1,…,yn}來表示標簽序列,Y(x)表示y的可能標記序列集合。線性CRF的概率模型定義為p(y|x;W,b),如式(1)所示。
(1)
解碼時搜索序列標簽y*的最高條件概率,如式(2)所示。
y*=argmaxy∈Y(x)P(y|x;W,b)
(2)
對于線性CRF模型(僅考慮兩個連續(xù)標簽之間的交互),采用維特比算法可以有效進行解碼。
事件抽取模塊包括自注意力層和門控卷積層,自注意力層主要學習序列內(nèi)部的詞依賴關(guān)系,捕獲序列的內(nèi)部結(jié)構(gòu);門控卷積層主要控制信息流動,提取更高層的特征。具體如下。
2.3.1 自注意力層
當實體抽取模型識別出實體及其類別,本文將實體的編碼信息送入到自注意力層,它只需要序列本身就可以計算其表示,也是一個序列編碼層,尋找序列內(nèi)部的聯(lián)系。Attention的如式(3)所示。
(3)
其中,矩陣Q∈R∈Rn×d、矩陣K∈R∈Rn×d和矩陣V∈R∈Rn×d,d是網(wǎng)絡(luò)中隱藏神經(jīng)元的數(shù)量,該層主要在序列內(nèi)部計算每個詞與其他詞的相似度,尋找任意兩個詞之間的聯(lián)系。
本文引入了Vaswani等[15]提出的多頭注意力(Multi-Head Attention)結(jié)構(gòu),將輸入向量矩陣H∈R∈Rn×d通過不同的線性變換映射成矩陣Q,K,V,然后再做計算,這個過程重復h次,將結(jié)果拼接起來,得到編碼向量,如式(4)~式(6)所示。
2.3.2 門控卷積層
Liu等[16]的研究表明,卷積神經(jīng)網(wǎng)絡(luò)善于從序列對象中捕獲顯著的特征。本文將經(jīng)過自注意力層編碼后的實體語義向量和雙向LSTM編碼后的句子隱藏層向量結(jié)合在一起,送入到卷積神經(jīng)網(wǎng)絡(luò)中,來獲取序列的局部信息,實現(xiàn)信息的多通道融合。對于卷積子層,本文采用Dauphin等[17]提出的GLU(Gated Linear Unit),與標準卷積相比,門控卷積神經(jīng)網(wǎng)絡(luò)在每層卷積操作后都加上一個輸出門限,控制信息的流動,不僅有效地降低梯度彌散的可能性,而且還保留了非線性變換的能力。因此,它在語言建模和機器翻譯等自然語言處理任務(wù)中都取得了較優(yōu)的效果。給定兩個卷積核W∈R∈Rk×m×n和V∈R∈Rk×m×n,GLU的輸出計算如式(7)所示。
GLU(X)=(X*W)⊙σ(X*V)
(7)
其中,m和n分別代表著輸入和輸出的特征圖數(shù)量,k是卷積核寬度,⊙表示矩陣元素之間的點積,σ是sigmoid激活函數(shù)。
本文使用多個卷積核來捕獲實體序列中的局部特征,它能夠捕獲各種粒度的N-gram局部語義信息,修復模型中一些由于詞歧義造成的錯誤,為觸發(fā)詞識別和分類提供了非常重要的信息。本文使用了寬度為k的卷積核生成整個實體序列的局部特征X∈R∈Rn*d,其中n是給定句子的長度,d是每個詞的維度。然后與雙向LSTM生成的隱藏層向量H結(jié)合在一起,作為最終的特征向量,送入到softmax層中生成所有事件類型的概率分布,選取概率最大的事件類型作為最終的結(jié)果。如式(8)、式(9)所示。
其中,H是包含向量ht的矩陣,Ws和bs是softmax函數(shù)的權(quán)重矩陣和偏置值。為了防止過擬合,本文在softmax層前使用了dropout策略。
本文通過采用隨機梯度下降算法來最小化負對數(shù)似然函數(shù)的方式來進行模型訓練,并采用Adam[18]優(yōu)化器算法來優(yōu)化模型參數(shù)。
為了評估本文方法的有效性,本文主要在英文ACE 2005語料庫上進行實驗。英文ACE 2005語料庫標注了33種事件類型(加上“NONE”類別,本文采用34個類型作為預定義標簽)。本文的數(shù)據(jù)劃分和Li等[6]一致,選取529篇文檔作為訓練集,40篇新聞報道作為測試集,剩下的30篇作為開發(fā)集。另外,本文也采用Li等[6]定義的事件評估指標。事件觸發(fā)詞抽取任務(wù)要求觸發(fā)詞不僅被正確識別,并且要求觸發(fā)詞被賦予正確的事件類型。對于實體,只考慮PER(人物)、ORG(組織)、GPE(政治)、LOC(地點)、FAC(設(shè)施)、VEH(交通工具)、WEA(武器)和ACE的TIME(時間)以及VALUE(數(shù)值)表達式共9種實體類型,若實體被正確識別并且實體類型一致,則認為實體抽取正確。
為了進一步驗證本文方法的有效性,也匯報了在TAC KBP 2015數(shù)據(jù)集上的結(jié)果。該數(shù)據(jù)集是KBP 2015 Event Nugget評測人物提供的訓練和測試數(shù)據(jù),有38個子類型和一個“NONE”類別。訓練數(shù)據(jù)為158篇文檔,測試數(shù)據(jù)為202篇文檔。
另外,遵循前人的工作,本文也采用準確率P(Precision)、召回率R(Recall)以及F1值作為實驗性能指標。
本文的實驗參數(shù)是在英文ACE 2005語料庫的開發(fā)集中進行調(diào)整。為了防止模型過擬合,dropout的比例是0.5,批次大小為50。字符向量隨機初始化生成,維度為30。卷積核寬度為3,數(shù)量分別為30和300。本文使用預訓練的詞向量[13]來初始化詞向量,維度為300維,雙向LSTM的隱藏層神經(jīng)元數(shù)量為300,多頭注意力的數(shù)量10。
為了驗證本文的HNN-EE模型在實體和事件抽取上的性能,將它和三個基準系統(tǒng)做比較: ①Li: Li等[11]提出的結(jié)構(gòu)化預測框架,該框架同時解決實體抽取、關(guān)系抽取和事件抽取三個信息抽取任務(wù); ②Yang: Yang等[12]提出的實體和事件聯(lián)合抽取模型,對文檔中事件、實體以及它們之間的關(guān)系進行聯(lián)合推理; ③HNN-EE(w/o entity): HNN-EE模型不利用任何實體信息,對觸發(fā)詞進行抽取。表1是四個系統(tǒng)在英文ACE 2005語料庫上在實體和事件抽取方面的性能對比。
表1 ACE 2005語料庫上系統(tǒng)性能對比(%)
從表1中實體抽取的結(jié)果中可以看出:
① HNN-EE模型優(yōu)于傳統(tǒng)模型,性能相較于Li和Yang均提高了2.5個百分點,這充分說明了本文方法在實體抽取方面的有效性。
② 相較于HNN-EE(w/o entity),HNN-EE的實體抽取性能也取得了明顯提升。這表明兩個任務(wù)之間存在互補性,本文的模型抓住了它們間的聯(lián)系,使這兩個任務(wù)互相促進。
③ HNN-EE(w/o entity)的實體抽取性能相較于Li和Yang均提高了1.4個百分點,這表明基于字符-詞向量的雙向LSTM-CRF模型,不但能夠有效地捕獲句子的全局信息,而且還考慮到相鄰標簽的約束信息,取得不錯性能。
從表1中事件抽取的結(jié)果同樣可以看出:
① HNN-EE(w/o entity)模型在觸發(fā)詞抽取中的性能較Li提升了2.8個百分點,這是因為雙向LSTM能夠捕獲到句子的全局信息,對事件抽取性能提升明顯;比Yang降低了0.7個百分點,這是由于在觸發(fā)詞抽取過程中沒有充分利用到實體語義信息,忽略了實體對觸發(fā)詞的影響,導致性能略低。
② 本文的HNN-EE模型在觸發(fā)詞抽取中的性能均優(yōu)于傳統(tǒng)的聯(lián)合推理模型。與Li相比F1值提高了5.4個百分點;與Yang相比F1值提高1.9個百分點。這個實驗結(jié)果證明了本文方法與基于人工設(shè)計的特征聯(lián)合推理方法相比,具有挖掘?qū)嶓w和觸發(fā)詞之間隱含的深層語義信息的優(yōu)越性。
③ 和HNN-EE(w/o entity)模型相比,HNN-EE模型的F1值提升了2.6個百分點。主要是因為HNN-EE模型中的兩個任務(wù)之間通過雙向LSTM層共享參數(shù),協(xié)同訓練,利用了實體語義的編碼信息,考慮到觸發(fā)詞和實體標簽的所有組合,捕獲了觸發(fā)詞和實體之間的依賴關(guān)系。另外,共享LSTM層允許信息在事件和實體之間傳播,提供了更多的語義一致性信息,減少了錯誤傳遞。而在HNN-EE(w/o entity)模型中沒有獲取實體的編碼信息,從而無法獲取到任何實體特征,導致性能下降。例如,例2和例3中的觸發(fā)詞都是“l(fā)eave”,但例2中事件類型是Transport(運輸),例3中事件類型是End-Position(離職),如果只單獨考慮觸發(fā)詞“l(fā)eave”,很難識別出觸發(fā)詞的事件類型。由事件類型和實體類型對應(yīng)性分布特點可知,Transport事件中出現(xiàn)的實體類型主要是GPE(政治),End-Position事件中出現(xiàn)的實體類型主要是ORG(組織),HNN-EE模型聯(lián)合兩個任務(wù),挖掘觸發(fā)詞和實體之間的隱含依賴關(guān)系,兩者之間相互促進,提高事件抽取性能。
例2Bush gave Saddam 48 hours toleaveBaghdad.
例3Greenspan wants toleaveFederal Reserve.
為了進一步驗證HNN-EE模型的有效性,本文還設(shè)計了4個對比實驗。具體如表2所示。其中,①Pred_Entity: HNN-EE模型使用Stanford Named Entity Recognition工具來識別句子中的實體信息; ②No_Share: HNN-EE模型未共享雙向LSTM編碼層; ③No_Gcnn: HNN-EE模型未使用門控卷積神經(jīng)網(wǎng)絡(luò); ④No_MulAtt: HNN-EE未使用多頭注意力機制。
表2 ACE 2005數(shù)據(jù)集上對比實驗(%)
Pred_Entity使用工具識別出句子中的實體,導致性能下降了1.5個百分點。這主要是因為命名實體識別的性能為51.5個百分點,遠低于HNN-EE模型中的命名實體識別性能,許多人稱代詞的實體類型無法識別出。例4中“He”和“his”的實體類型都是PER(人物),HNN-EE模型均能正確識別出實體類型,使得句中包含了豐富的實體信息,事件抽取模型提取出觸發(fā)詞和實體之間的關(guān)系,從而正確識別出觸發(fā)詞“appeal”的事件類型為Appeal(上訴)。
例4Helost anappealcase onhistheft sentence on April 18.
No_Share中未共享雙向LSTM層,可以看出性能下降了2.5個百分點。這是由于模型沒有通過雙向LSTM層共享參數(shù),兩個任務(wù)單獨訓練,無法通過更新共享參數(shù)來實現(xiàn)兩個子任務(wù)之間的依賴,使得事件抽取任務(wù)中無法包含兩個任務(wù)的共同特征,導致包含豐富實體信息的句子中也無法抽取出事件。
No_Gcnn中刪除門控卷積神經(jīng)網(wǎng)絡(luò),未能從序列中提取局部信息,導致性能下降明顯,F(xiàn)1值下降了2.1個百分點。
No_MulAtt刪除多頭注意力機制,沒有捕獲序列內(nèi)部詞與詞的依賴關(guān)系,未從序列的不同表示空間里學習到更多信息,損失了部分全局信息,導致性能下降了1.6個百分點。較No_Gcnn模型性能下降略低,原因是雙向LSTM中的記憶模塊能夠充分學習到整個序列的長遠依賴關(guān)系,捕獲到全局信息,所以刪除多頭注意力機制對獲取全局信息影響不大。
為了驗證本文方法的有效性,在另外一個語料庫TAC KBP 2015上做了測試。需要說明的是,KBP語料沒有標注實體,所以無法進行實體抽取任務(wù),本文僅進行事件抽取的性能對比。為了保證一致性,本文使用的訓練模型以及超參數(shù)保持不變。本文引入兩個基準系統(tǒng),①TAC-KBP: Hong等[19]提出的事件抽取模型; ②GCN-ED: Nguyen等[20]提出的基于實體池化機制的圖卷積模型,取得了目前最佳性能。實驗結(jié)果如表3所示。
表3 KBP 2015數(shù)據(jù)集上系統(tǒng)性能對比(%)
從表3中可以看出,本文的模型與TAC-KBP系統(tǒng)相比,取得了相當?shù)男阅?-0.16個百分點),因為本文模型中沒有擴展外部數(shù)據(jù),而TAC-KBP利用了外部語料資源來擴充訓練數(shù)據(jù),額外獲得了更多的同質(zhì)樣本來輔助提高事件抽取性能。HNN-EE模型與目前性能最好的GCN-ED模型相比,也取得了相當?shù)男阅?-0.55個百分點)。這是因為本文模型較為簡單,沒有編碼句法信息,而GCN-ED利用了多層圖卷積網(wǎng)絡(luò)來挖掘深層的句法語義信息,相對較為復雜。
本文提出了一個抽取句子中實體和事件的聯(lián)合方法,通過模型中雙向LSTM層共享參數(shù),獲取實體和事件之間的關(guān)系,互相學習,互相促進,捕獲到各自任務(wù)的共有和私有特征。模型再通過引入自注意力機制和門控卷積神經(jīng)網(wǎng)絡(luò)來獲取序列內(nèi)部依賴關(guān)系和局部信息,實現(xiàn)信息的多層融合。在ACE 2005語料庫上性能得到提升,并且在TAC KBP 2015語料庫上取得了相當?shù)男阅?,證明了本文方法的有效性。今后的工作重點將考慮實體、觸發(fā)詞和論元三者之間的聯(lián)系,去挖掘事件之間的更復雜關(guān)系。