張婧麗,周文瑄,洪 宇,姚建民,周國(guó)棟,朱巧明
(蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
事件抽取旨在從文本中識(shí)別事件信息,在問(wèn)答、文本分析和知識(shí)圖譜等研究中都有重要應(yīng)用價(jià)值。自動(dòng)內(nèi)容抽取(Automatic Content Extraction,ACE)將事件抽取定義為四個(gè)任務(wù): 觸發(fā)詞識(shí)別、事件類型識(shí)別、事件角色識(shí)別和事件元素識(shí)別。本文主要研究前兩個(gè)任務(wù): 觸發(fā)詞識(shí)別和事件類型識(shí)別。該領(lǐng)域?qū)⑦@兩個(gè)任務(wù)并稱為事件檢測(cè)。具體如例1所示,目標(biāo)是識(shí)別出句子中的觸發(fā)詞“戰(zhàn)斗”及其事件類型Attack。
例1我支持那些為自己國(guó)家進(jìn)行戰(zhàn)斗的人。
觸發(fā)詞: 戰(zhàn)斗
事件類型: Attack(襲擊)
目前,事件檢測(cè)逐步從傳統(tǒng)機(jī)器學(xué)習(xí)方法轉(zhuǎn)向神經(jīng)網(wǎng)絡(luò)模型,性能得到較大提升[1-5]。但英文語(yǔ)料數(shù)目少,事件類型樣例分布不平衡,仍是這一任務(wù)中重要的研究難點(diǎn)。ACE英文語(yǔ)料僅有3 966條句子級(jí)別的事件描述,事件類型Attack(襲擊)的樣例數(shù)為1 537條,而事件類型Nominate(任命)的樣例只有12條,樣例數(shù)目少,且分布嚴(yán)重不平衡。這使得學(xué)習(xí)模型在樣例稀疏的事件類型上訓(xùn)練不充分,難以識(shí)別相關(guān)事件。上述問(wèn)題均會(huì)直接影響事件檢測(cè)模型的性能。
為此,本文提出: 利用框架語(yǔ)義結(jié)構(gòu)與事件類型描述之間的相似性,以及FrameNet[6](FN)語(yǔ)料庫(kù)中豐富的樣本與確切的語(yǔ)義架構(gòu)輔助事件檢測(cè)。首先,采用框架類型識(shí)別方法獲得ACE語(yǔ)料中觸發(fā)詞的框架類型,按事件類型與框架類型映射關(guān)系的強(qiáng)弱區(qū)分正負(fù)例框架,進(jìn)而獲得“正例”,用以擴(kuò)充訓(xùn)練集。通過(guò)在相同模型上進(jìn)行實(shí)驗(yàn),驗(yàn)證該方法是否能緩解語(yǔ)料稀疏和樣例分布不平衡問(wèn)題。實(shí)驗(yàn)結(jié)果顯示該方法對(duì)觸發(fā)詞識(shí)別和事件類型識(shí)別均有較好的效果。
本文的主要研究貢獻(xiàn)如下:
(1) 提出利用FrameNet中的大量數(shù)據(jù)擴(kuò)充ACE事件檢測(cè)語(yǔ)料。
(2) 提出構(gòu)建框架類型與事件類型映射關(guān)系的新方法。
(3) 檢驗(yàn)并分析了利用FN中的例句擴(kuò)充ACE語(yǔ)料訓(xùn)練集對(duì)事件檢測(cè)性能的影響。
本文的組織如下: 第1節(jié)介紹了相關(guān)工作;第2節(jié)陳述利用FN輔助事件檢測(cè)的原因;第3節(jié)對(duì)本文中所使用的方法進(jìn)行介紹,包括框架類型的識(shí)別方法與事件檢測(cè)的語(yǔ)料處理方法;第4節(jié)介紹了本文采用的事件檢測(cè)模型;第5節(jié)介紹實(shí)驗(yàn)架構(gòu)及結(jié)果分析;第6節(jié)總結(jié)全文并對(duì)未來(lái)工作進(jìn)行展望。
目前,事件檢測(cè)技術(shù)的研究思路主要包括兩個(gè)方面,其一是以語(yǔ)義編碼為基礎(chǔ)的表示學(xué)習(xí)和深度計(jì)算;其二是借助外部資源的訓(xùn)練數(shù)據(jù)獲取與擴(kuò)展。
從模型角度,事件檢測(cè)技術(shù)逐步從傳統(tǒng)機(jī)器學(xué)習(xí)方法轉(zhuǎn)向神經(jīng)網(wǎng)絡(luò)方法。Li[7]等基于結(jié)構(gòu)化的感知機(jī),將局部特征與全局特征進(jìn)行結(jié)合,利用充分的句子特征信息進(jìn)行事件抽??;Nguyen[8]等將實(shí)體類型信息與詞的位置信息作為特征,并利用詞向量的形式表示,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)自動(dòng)學(xué)習(xí)這些特征,取得較好效果;Chen[9]等提出動(dòng)態(tài)多池化卷積神經(jīng)網(wǎng)絡(luò)模型(Dynamic Multi-Pooling Convolutional Neural Network,DM-CNN),即通過(guò)學(xué)習(xí)詞向量得到詞級(jí)的特征表示,再利用動(dòng)態(tài)多池化層的卷積神經(jīng)網(wǎng)絡(luò)獲得句子級(jí)的特征表示,從而保存句子的關(guān)鍵信息;Tang[10]等提出雙向長(zhǎng)短時(shí)記憶模型(Bidirectional Long Short Term Memory,Bi-LSTM),通過(guò)對(duì)句子中每個(gè)詞的前面和后面的內(nèi)容建模,能夠很好地捕獲句子中的長(zhǎng)期依賴信息;Feng[11]等提出將雙向Bi-LSTM與CNN兩個(gè)模型進(jìn)行結(jié)合,先通過(guò)Bi-LSTM對(duì)句子中每個(gè)詞的前向和后向內(nèi)容進(jìn)行語(yǔ)義編碼,再經(jīng)過(guò)一個(gè)CNN卷積神經(jīng)網(wǎng)絡(luò)捕獲結(jié)構(gòu)化的信息,這種聯(lián)合的模型在事件檢測(cè)任務(wù)上取得了很好的效果;Liu[12]等則在人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)的基礎(chǔ)上加入注意力機(jī)制,從而使模型對(duì)句子中對(duì)觸發(fā)詞識(shí)別與事件類型分類有重要影響的實(shí)體信息加深關(guān)注,從而有效捕獲重要信息。
從語(yǔ)料角度考慮,Ji[13]等將事件檢測(cè)范圍由單文檔擴(kuò)展到主題相近的文檔,通過(guò)在局部特征基礎(chǔ)上加入相近文檔特征來(lái)改進(jìn)事件檢測(cè)性能;Hong[14]等提出跨實(shí)體推理的事件抽取方法,即應(yīng)用命名實(shí)體作為額外的判別特征輔助事件抽取;陳亞?wèn)|[15]等在Li等的Joint系統(tǒng)基礎(chǔ)上,將框架語(yǔ)義知識(shí)作為特征加入其中,證明了框架語(yǔ)義作為特征的有效性;Liu[16]等考慮到框架語(yǔ)義與事件在結(jié)構(gòu)上的一致性,應(yīng)用提前訓(xùn)練好的事件檢測(cè)模型對(duì)FrameNet中的例句進(jìn)行事件類型標(biāo)注,同時(shí)采用框架語(yǔ)義中的相關(guān)規(guī)則進(jìn)行約束,得到事件檢測(cè)的擴(kuò)充語(yǔ)料,改進(jìn)事件檢測(cè)性能;Chen[17]等提出一種自動(dòng)標(biāo)注數(shù)據(jù)集的方法來(lái)獲取大規(guī)模數(shù)據(jù)用于事件抽取,利用知識(shí)圖譜(Freebase)自動(dòng)找到一個(gè)事件的觸發(fā)詞,再利用FrameNet對(duì)觸發(fā)詞進(jìn)行過(guò)濾和擴(kuò)展,最后進(jìn)行自動(dòng)標(biāo)注生成標(biāo)注后的數(shù)據(jù)集,通過(guò)DM-CNN自動(dòng)進(jìn)行事件的抽取,實(shí)驗(yàn)證明該數(shù)據(jù)集可以達(dá)到與人工標(biāo)注的數(shù)據(jù)集同等的效果。
FrameNet是框架語(yǔ)義的典型資源庫(kù),包含了具有框架語(yǔ)義規(guī)則的英文單詞的描述與框架標(biāo)注。Narayanan[18]等首次將FN應(yīng)用于問(wèn)答領(lǐng)域;之后,Shen[19]等也在問(wèn)答任務(wù)中引入FN知識(shí)庫(kù),獲得了較好的性能?;贔N的研究還有Padó[20]等的篇章識(shí)別任務(wù),Burchardt[21]等的文本蘊(yùn)含任務(wù)。對(duì)于這些任務(wù),F(xiàn)N中的框架知識(shí)均起到較好的作用。此外,Liu[16]等首次將FN應(yīng)用于事件抽取領(lǐng)域,利用FN中的例句擴(kuò)充ACE語(yǔ)料,使事件抽取性能有了較大提升。
針對(duì)引言中提出的問(wèn)題,本文利用FN輔助事件檢測(cè)。主要原因有兩個(gè),下面分別進(jìn)行介紹。
ACE 2005[22]定義了33種事件類型,每種事件類型對(duì)應(yīng)多個(gè)觸發(fā)詞,每個(gè)觸發(fā)詞包含一組樣例。而FN是以框架語(yǔ)義學(xué)為基礎(chǔ)形成的權(quán)威知識(shí)庫(kù),具體結(jié)構(gòu)如圖1。FN中定義了多種框架,每種框架包含一組詞法單元,每個(gè)詞法單元又包含多條已標(biāo)注框架類型的樣例。因此,框架類型與事件類型具有極其相似的結(jié)構(gòu),可形成較為對(duì)稱的可比關(guān)系,一些框架甚至可以直接表達(dá)某些事件。表1列舉了部分映射關(guān)系,如框架類型Fining與事件類型Fine均表示“罰款”含義。此外,F(xiàn)N中的詞法單元與事件中的觸發(fā)詞也具有對(duì)應(yīng)關(guān)系。如例2中的觸發(fā)詞與詞法單元均為“fractured”。
圖1 FN中框架、詞法單元與例句的關(guān)系注: 該圖以框架類型Cause_harm(造成傷害)為例,描述框架、詞法單元與例句的關(guān)系。圖1中的符號(hào)LU表示詞法單元,相當(dāng)于中文樣例中的詞。圖中框架包含38個(gè)詞法單元,這里只列舉其中兩類,分別為injure(受傷)和fracture(骨折),每個(gè)LU平均包含15個(gè)例句[注]https://framenet2.icsi.berkeley.edu)
例2Shehasfracturedlegsandherrightforearm.
(譯文: “她的腿和右前臂骨折了”)
觸發(fā)詞: fractured(骨折)
事件類型: Injure(受傷)
(注: 該例句來(lái)自ACE2005英文事件語(yǔ)料)
詞法單元: fractured(骨折)
框架類型: Cause_harm(造成傷害)
(注: 該詞法單元與框架標(biāo)記來(lái)自FrameNet語(yǔ)料)
FN中含有大量詞法單元,并為每個(gè)詞法單元都標(biāo)注了充足的例句。FrameNet 1.7 有157 631條例句,而ACE語(yǔ)料僅有3 966條。例2中的觸發(fā)詞“fractured”在ACE語(yǔ)料中只有一條例句,若作為測(cè)試樣例,那么在訓(xùn)練語(yǔ)料中將不存在用詞一致的樣本,從而導(dǎo)致兩種可預(yù)見(jiàn)的瓶頸:
? 其一: 若訓(xùn)練語(yǔ)料中不存在同義詞,則即使充分的表示學(xué)習(xí)和語(yǔ)義編碼也無(wú)法有效獲取該詞的語(yǔ)義表示,造成知識(shí)缺失,影響測(cè)試階段的判別;
? 其二: 目前,語(yǔ)義編碼與學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,在追求詞一級(jí)語(yǔ)義共享空間的時(shí)候,需要對(duì)網(wǎng)絡(luò)層數(shù)進(jìn)行控制,當(dāng)層數(shù)較少時(shí),上述訓(xùn)練階段語(yǔ)義缺失的樣本將無(wú)法得到有效模擬,即使同義詞存在于訓(xùn)練集,其表示的可共享性也將較低,當(dāng)層數(shù)較高時(shí),一味地追求語(yǔ)義表示的共性,則不僅提高計(jì)算成本(時(shí)空消耗),也將影響詞義表示的獨(dú)特性,從而影響模型的實(shí)用性。
但在FN語(yǔ)料中,該詞含有11條例句,若已知框架類型Cause_harm與事件類型Injure具有映射關(guān)系,則可用這11條例句擴(kuò)充訓(xùn)練集,豐富訓(xùn)練語(yǔ)料。表1給出了部分框架與事件類型映射表。
表1 部分框架與事件類型映射表
本文利用框架語(yǔ)義知識(shí)從FN中獲取例句擴(kuò)充訓(xùn)練數(shù)據(jù),從而優(yōu)化觸發(fā)詞識(shí)別和事件類型識(shí)別任務(wù)。這一過(guò)程包括兩方面工作: 其一,獲取觸發(fā)詞的框架類型,并區(qū)分正、負(fù)框架;再通過(guò)框架標(biāo)簽得到觸發(fā)詞在FN中對(duì)應(yīng)的例句。其二,將獲得的例句加入訓(xùn)練集,用產(chǎn)生的新數(shù)據(jù)訓(xùn)練事件檢測(cè)模型。
本文采用以下兩種方法進(jìn)行框架類型識(shí)別。
方法一: 同陳亞?wèn)|[15]等、Evangelia[23]等一樣,采用框架語(yǔ)義分析開(kāi)源工具SEMAFOR[注]http://www.ark.cs.cmu.edu/SEMAFOR/實(shí)現(xiàn)框架類型識(shí)別。該模型由FN中157 631條例句訓(xùn)練得到。本文旨在用該工具識(shí)別ACE語(yǔ)料中觸發(fā)詞的框架。SEMAFOR對(duì)每個(gè)句子中的觸發(fā)詞能識(shí)別出唯一的框架類型,如例3中的框架標(biāo)簽Possession(擁有);再通過(guò)檢索FN得到該觸發(fā)詞的其他框架。本文將SEMAFOR識(shí)別的框架指定為正例框架,該框架下的例句為“正例”,其他框架即為負(fù)例所在的框架。
例3Thecountryhadbannedawomanfromhavingmorethanonechild.
(譯文: “以前,國(guó)家禁止生二胎”)
觸發(fā)詞: having(有)
事件類型: Life(生命)
事件子類型: Be-Born(出生)
SEMAFOR識(shí)別的框架: Possession(擁有)
觸發(fā)詞的其他框架: Giving_birth(給予生命)、Ingestion(采食)、Have_associated(有關(guān)聯(lián))、Inclusion(入選)
方法二: 由于框架與事件具有較為對(duì)稱的可比關(guān)系,甚至可直接用框架類型表示事件類型,所以二者的標(biāo)簽具有較高相似度。本文利用這一點(diǎn)進(jìn)行框架類型識(shí)別。首先,檢索FN得到觸發(fā)詞對(duì)應(yīng)的所有框架類型標(biāo)簽,再計(jì)算這些框架標(biāo)簽與觸發(fā)詞的事件類型標(biāo)簽及事件子類型標(biāo)簽的相似度;計(jì)算框架與事件的最終相似度,從而判斷得到正、負(fù)框架。具體計(jì)算方法如下:
(1) 將觸發(fā)詞的框架標(biāo)簽與事件類型標(biāo)簽及事件子類型標(biāo)簽都視作短語(yǔ)(即短句子),采用Sanjeev[24]等計(jì)算句子詞向量的方法得到每個(gè)短語(yǔ)的詞向量表示。首先,利用式(1)計(jì)算短語(yǔ)中每個(gè)詞的重要性fi:ni表示第i個(gè)詞在詞表中出現(xiàn)的次數(shù),a為參數(shù),本文設(shè)置為10-3。再利用式(2)計(jì)算整個(gè)短語(yǔ)的詞向量v:L為短語(yǔ)長(zhǎng)度,即短語(yǔ)中詞的個(gè)數(shù),νi表示第i個(gè)詞的詞向量。將每個(gè)詞的詞向量乘以其重要性fi后求和,即對(duì)短語(yǔ)中的每個(gè)詞按其頻率分配不同重要性。再除以L,即得到整個(gè)短語(yǔ)的詞向量表示。
(3)
(3) 按上述方法計(jì)算得到該觸發(fā)詞的每個(gè)框架標(biāo)簽與事件子類型標(biāo)簽的相似度(記為s2)。
(4) 利用式(4),對(duì)上面得到的兩個(gè)相似度結(jié)果求算術(shù)平均,得到該觸發(fā)詞的每個(gè)框架標(biāo)簽與事件標(biāo)簽的最終相似度s。
(4)
(5) 按相似度值的大小進(jìn)行分類: 相似度最高的框架類型為正例框架,其余為負(fù)例框架。
此外,由于某些觸發(fā)詞的所有框架都不能表達(dá)事件類型,所得相似度均很低,如果仍將具有最高相似度的框架作為正例框架,用其例句作為“正例”擴(kuò)充訓(xùn)練語(yǔ)料,會(huì)引入噪聲,對(duì)系統(tǒng)造成不良影響。所以本文在實(shí)驗(yàn)過(guò)程中需要先設(shè)定參數(shù)γ,只有當(dāng)s>γ時(shí),才可將其歸為正例框架,否則將其歸為負(fù)例框架。
為了便于與方法一進(jìn)行比較,同樣采用例3的例句對(duì)方法二進(jìn)行闡述。具體如例4。
例4Thecountryhadbannedawomanfromhavingmorethanonechild.
(譯文: “以前,國(guó)家禁止生二胎”)
觸發(fā)詞: having(有)
事件類型: Life(生命)
事件子類型: Be-Born(出生)
搜索FN得到的所有框架: Possession(擁有)、Giving_birth(給予生命)、Ingestion(采食)、Have_associated(有關(guān)聯(lián))、Inclusion(入選)
根據(jù)觸發(fā)詞“having”搜索FN語(yǔ)料后可得到其對(duì)應(yīng)的5個(gè)框架。根據(jù)方法二描述,利用式(1)與式(2)得到事件類型標(biāo)簽、事件子類型標(biāo)簽與所有框架標(biāo)簽的詞向量表示后,分別計(jì)算5個(gè)框架標(biāo)簽與事件類型標(biāo)簽Life的相似度;同樣,計(jì)算得到5個(gè)框架標(biāo)簽與事件子類型標(biāo)簽Be-Born的相似度;利用式(4)對(duì)上述兩個(gè)相似度結(jié)果進(jìn)行計(jì)算,得到每個(gè)框架與事件的最終相似度值,具體結(jié)果如表2所示。
表2 觸發(fā)詞“having”的相似度結(jié)果
由表2知,相似度最高的框架為Giving_birth(給予生命),所以將此框架類型作為觸發(fā)詞的正例框架,其余框架均為負(fù)例框架。
此外,本文列出了利用該方法獲得的ACE所有事件的框架及例句結(jié)果,如表3所示。
利用上述方法可獲得大量“正例”,這些例句根據(jù)事件與框架的高映射關(guān)系獲得。很大程度上,例句中的詞法單元可作為觸發(fā)詞,觸發(fā)對(duì)應(yīng)的事件類型。本文將“正例”作為訓(xùn)練集擴(kuò)充語(yǔ)料,用新產(chǎn)生的語(yǔ)料進(jìn)行實(shí)驗(yàn),使模型得到充分訓(xùn)練,從而識(shí)別出更多觸發(fā)詞,達(dá)到緩解語(yǔ)料稀疏及樣例分布不平衡問(wèn)題的目的。
表3 利用SIF方法獲得的ACE語(yǔ)料中所有事件類型及其部分可比框架
續(xù)表
注: ①由于篇幅限制,該表格對(duì)每個(gè)事件類型只列舉了部分觸發(fā)詞及其對(duì)應(yīng)的框架,且沒(méi)有列舉具體的例句。
② 本文所有可比的框架類型、詞項(xiàng)和擴(kuò)充語(yǔ)料所用的例句形成的數(shù)據(jù)集將對(duì)所有學(xué)術(shù)研究免費(fèi)開(kāi)放。
為充分驗(yàn)證擴(kuò)充語(yǔ)料對(duì)事件檢測(cè)是否有效,本文分別采用基于特征抽取的傳統(tǒng)機(jī)器學(xué)習(xí)模型和神經(jīng)網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn)。
基于特征抽取的傳統(tǒng)機(jī)器學(xué)習(xí)模型采用Li[7]等的聯(lián)合事件檢測(cè)模型。所謂基于特征抽取指該模型主要通過(guò)抽取樣例的各種特征實(shí)現(xiàn)觸發(fā)詞識(shí)別與事件類型識(shí)別任務(wù)。該模型采用的具體特征如表4所示。主要包括詞法、句法和實(shí)體信息三個(gè)層面的特征。此外,該模型采用最大熵分類器[注]http://mallet.cs.umass.edu/,同時(shí)實(shí)現(xiàn)觸發(fā)詞識(shí)別和事件類型識(shí)別,即將句子中的每個(gè)詞當(dāng)作候選觸發(fā)詞,分類器對(duì)每個(gè)候選觸發(fā)詞進(jìn)行判斷,賦予該詞具體的事件類型標(biāo)簽。若事件類型不為空,則認(rèn)為該詞為觸發(fā)詞,其標(biāo)簽即為觸發(fā)的事件類型;否則為非觸發(fā)詞,不觸發(fā)事件類型。所以該模型的事件類型為33種,不包括NA(空)類。
表4 觸發(fā)詞識(shí)別與事件類型識(shí)別特征表
神經(jīng)網(wǎng)絡(luò)模型方面,Liu[25]等、Lin[26]等采用雙向長(zhǎng)短時(shí)記憶模型(Bidirectional Long Short Time Memory,Bi-LSTM)在自然語(yǔ)言處理任務(wù)中均取得了較好的效果,所以本文也采用該神經(jīng)網(wǎng)絡(luò)模型進(jìn)行事件檢測(cè),并嚴(yán)格遵循Feng[11]等的Bi-LSTM架構(gòu)。Bi-LSTM[27]是一種雙向循環(huán)神經(jīng)網(wǎng)絡(luò),在隱藏層同時(shí)有一個(gè)正向LSTM和一個(gè)反向LSTM,正向LSTM可以捕獲當(dāng)前詞的上文信息,反向LSTM可以捕獲當(dāng)前詞的下文信息,這樣模型就可以捕獲句子中每個(gè)詞的完整的上下文信息。圖2具體顯示了該模型的主要架構(gòu)。本文按照Chen[9]等的方法,將整個(gè)句子作為模型的輸入。在輸入前先將句子轉(zhuǎn)化為詞向量的表示形式,詞向量是一個(gè)固定維度的向量,表示詞的語(yǔ)義特征。輸入Bi-LSTM模型后,通過(guò)前向傳播與反向傳播過(guò)程,會(huì)分別得到每個(gè)隱藏層的輸出,將兩個(gè)方向的隱藏層輸出進(jìn)行拼接作為最終的模型輸出,記為{h1,h2,…,hn},其中,n表示句子長(zhǎng)度。再通過(guò)全連接層后按照公式(5)對(duì)輸出做歸一化操作,即可得到每個(gè)詞屬于某個(gè)事件類型的概率。其中,P(yi│xi,θ)表示第i個(gè)詞屬于事件類型yi的概率,θ為模型的所有參數(shù),t表示事件類型總個(gè)數(shù),o表示經(jīng)過(guò)全連接層后句子的表示。
(5)
圖2 Bi-LSTM模型架構(gòu)圖
該模型同樣將句子中的每個(gè)詞作為候選觸發(fā)詞,最終目標(biāo)是對(duì)這些候選觸發(fā)詞進(jìn)行分類,將其分為34個(gè)事件類別,包括33個(gè)ACE事件類型和一個(gè)NA(空)類。訓(xùn)練過(guò)程中,采用小批量隨機(jī)梯度下降[28]方法最小化損失函數(shù),并且添加一個(gè)dropout層[29](指的是在模型訓(xùn)練過(guò)程中隨機(jī)讓網(wǎng)絡(luò)中某些隱藏層節(jié)點(diǎn)的權(quán)重不工作),作用是防止出現(xiàn)過(guò)擬合問(wèn)題。此外,該模型采用多類交叉熵作為損失函數(shù),計(jì)算公式如下:K為訓(xùn)練數(shù)據(jù)中所有的詞;yi為詞xi的真實(shí)事件類型;λ為正則化項(xiàng),θ為所有參數(shù)。
(6)
針對(duì)觸發(fā)詞識(shí)別和事件類型識(shí)別任務(wù),本文選取ACE2005(Automatic Content Extraction 2005)的599篇英文事件文檔作為實(shí)驗(yàn)的初始語(yǔ)料。為了便于對(duì)照,采用同Li[7]等相同的語(yǔ)料,選取其中的529篇文檔為基本訓(xùn)練集,另外40篇新聞文檔為測(cè)試集。擴(kuò)充語(yǔ)料采用從FrameNet 1.7中獲取的例句。
觸發(fā)詞識(shí)別任務(wù)主要考察句子中的某個(gè)詞是否觸發(fā)事件類型,系統(tǒng)性能取決于正確識(shí)別出的觸發(fā)詞個(gè)數(shù)。事件類型識(shí)別任務(wù)重點(diǎn)考察對(duì)識(shí)別出的觸發(fā)詞分類是否正確。本文采用準(zhǔn)確率P(Precision)、召回率R(Recall)和F1值(F1-Measure)作為評(píng)價(jià)指標(biāo)。
本實(shí)驗(yàn)的參數(shù)設(shè)置如下: 詞向量維度為300,且通過(guò)訓(xùn)練得到,詞向量的訓(xùn)練過(guò)程嚴(yán)格遵循Feng[11]等在NYT[注]http://mallet.cs.umass.edu/語(yǔ)料上利用skip-gram預(yù)訓(xùn)練詞向量的方法。隱藏層大小設(shè)為100,dropout率設(shè)置為0.2,最小批量即每次訓(xùn)練的句子數(shù)為10,學(xué)習(xí)率設(shè)置為0.3,L2范式取0,調(diào)和系數(shù)λ設(shè)為10-3。上述可調(diào)整的參數(shù)均在開(kāi)發(fā)集上進(jìn)行調(diào)整,以尋找得到最優(yōu)參數(shù)。
本文首先對(duì)3.1節(jié)提出的兩種框架識(shí)別方法進(jìn)行實(shí)驗(yàn),從而判定采用哪種方法能獲得更好的擴(kuò)充語(yǔ)料。為此,提出以下對(duì)比實(shí)驗(yàn):
? SEF: 使用SEMAFOR開(kāi)源工具直接獲取觸發(fā)詞的框架,按3.1節(jié)中介紹的第一種方法得到“正例”,并用其擴(kuò)充ACE初始語(yǔ)料的訓(xùn)練集,測(cè)試集不變。采用第4.1節(jié)介紹的基于特征的事件檢測(cè)模型進(jìn)行觸發(fā)詞識(shí)別和事件類型識(shí)別。
? SIF: 使用3.1節(jié)介紹的第二種方法,即通過(guò)相似度計(jì)算得到框架類型與事件類型映射關(guān)系的強(qiáng)弱,從而區(qū)分出正、負(fù)例框架,利用得到的“正例”擴(kuò)充訓(xùn)練集得到新的訓(xùn)練語(yǔ)料,與SEF采用相同的模型對(duì)事件檢測(cè)任務(wù)進(jìn)行實(shí)驗(yàn)。
? Frame_forward_combine[15](簡(jiǎn)寫(xiě)為FRC) (2015): 利用SEMAFOR識(shí)別框架類型,并將其作為特征,結(jié)合Joint模型中的局部特征與全局特征在最大熵模型上進(jìn)行實(shí)驗(yàn)。
? SEMAFORE test[31](簡(jiǎn)寫(xiě)為SEFE(2015): 假設(shè)框架語(yǔ)義解析與事件抽取在結(jié)構(gòu)上是一致的,故重新訓(xùn)練SEMAFOR框架語(yǔ)義識(shí)別開(kāi)源工具來(lái)預(yù)測(cè)事件觸發(fā)詞。
5.3.2 實(shí)驗(yàn)結(jié)果與分析
上述實(shí)驗(yàn)結(jié)果如表5所示。由表可知,用SIF獲取的擴(kuò)充語(yǔ)料進(jìn)行事件檢測(cè)實(shí)驗(yàn),能夠得到更好的性能。相對(duì)于FRC與SEFE,事件類型識(shí)別的F1值分別提高1.0%和7.2%,其他指標(biāo)也都有不同程度的提升。并且相對(duì)于SEF,觸發(fā)詞識(shí)別和事件類型識(shí)別的F1值分別提高0.8%和1.9%。可見(jiàn),通過(guò)計(jì)算相似度能夠提高框架類型與事件類型映射的精確度,從而使擴(kuò)充的語(yǔ)料對(duì)事件檢測(cè)更有效。
表5 通過(guò)識(shí)別框架進(jìn)行事件檢測(cè)的實(shí)驗(yàn)結(jié)果
表6列出采用SEF與SIF兩種方法進(jìn)行框架識(shí)別的部分結(jié)果。通過(guò)分析發(fā)現(xiàn)出現(xiàn)表5這一結(jié)果的主要原因是: SEF方法采用的是SEMAFOR框架識(shí)別工具,該工具本身對(duì)框架識(shí)別的準(zhǔn)確率較低,同時(shí)也無(wú)法識(shí)別出所有觸發(fā)詞的框架,如表6中的“protest”。
表6 SEF與SIF兩種方法的部分框架識(shí)別結(jié)果
(注: 單元格中的 — 表示框架為空)
但利用SIF不但可得到所有觸發(fā)詞的框架類型,同時(shí)由于一些觸發(fā)詞的框架可以直接表示事件類型,那么這些框架標(biāo)簽與事件類型標(biāo)簽就具有較高相似度。所以,相比于使用SEMAFOR工具,通過(guò)相似度計(jì)算能夠更加精確地確定與觸發(fā)詞的事件類型具有強(qiáng)映射關(guān)系的框架類型。如表6中的觸發(fā)詞“hit”,其事件類型為Attack,框架類型也為Attack,如果用SIF方法,通過(guò)計(jì)算,二者會(huì)得到最高的相似度值,故很容易可以確定其框架類型為Attack。但用SEF方法,識(shí)別出的框架類型為Impact,映射關(guān)系較弱。
上述實(shí)驗(yàn)證明采用SIF方法可獲得更好的擴(kuò)充樣例,因此,以下實(shí)驗(yàn)均在用這些樣例擴(kuò)充訓(xùn)練集產(chǎn)生的新的訓(xùn)練樣例上進(jìn)行。
5.4.1 實(shí)驗(yàn)系統(tǒng)設(shè)置
為驗(yàn)證本文提出的利用FN中的例句擴(kuò)充ACE訓(xùn)練集,是否能優(yōu)化事件檢測(cè)性能,本文設(shè)計(jì)以下幾個(gè)實(shí)驗(yàn)系統(tǒng)進(jìn)行比較。
(1) 基于特征的方法
? Joint(2013)[7]: 基于結(jié)構(gòu)化感知機(jī),并且將局部特征與全局特征進(jìn)行結(jié)合。
? Cross-Entity(2011)[14]: 將命名實(shí)體作為額外特征的推理模型。
? PSL(2016)[32]: 捕捉事件與事件間相關(guān)性的概率軟邏輯模型。
(2) 基于語(yǔ)料擴(kuò)充的方法
? ANN-FN(2016)[16]: 以人工神經(jīng)網(wǎng)絡(luò)為模型,利用FrameNet中標(biāo)注的語(yǔ)料提高事件檢測(cè)性能。
? DM-CNN+(2017)[17]: 自動(dòng)標(biāo)注大規(guī)模數(shù)據(jù),利用動(dòng)態(tài)多池化卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行事件抽取。
(3) 基于神經(jīng)網(wǎng)絡(luò)的方法
? CNN(2015)[8]: 卷積神經(jīng)網(wǎng)絡(luò)模型。
? DM-CNN(2015)[9]: Chen等的動(dòng)態(tài)多池化卷積神經(jīng)網(wǎng)絡(luò)模型。
? Bi-LSTM(2016)[11]: Feng等利用雙向長(zhǎng)短時(shí)記憶模型進(jìn)行事件檢測(cè)。
? Joint+FN: 與Joint采用相同的模型進(jìn)行實(shí)驗(yàn),訓(xùn)練集采用擴(kuò)充“正例”后產(chǎn)生的新的訓(xùn)練語(yǔ)料。
? Bi-LSTM+FN: 采用與Bi-LSTM相同的模型進(jìn)行實(shí)驗(yàn),訓(xùn)練集為擴(kuò)充“正例”后的訓(xùn)練語(yǔ)料。該系統(tǒng)用來(lái)與Bi-LSTM形成對(duì)比實(shí)驗(yàn)。
5.4.2 實(shí)驗(yàn)結(jié)果與分析
用“正例”擴(kuò)充訓(xùn)練集主要是為了緩解事件檢測(cè)任務(wù)遇到的語(yǔ)料稀疏與樣例分布不平衡問(wèn)題。上述幾個(gè)系統(tǒng)的實(shí)驗(yàn)結(jié)果如表7所示。擴(kuò)充“正例”后,相對(duì)于Joint模型,Joint+FN的觸發(fā)詞識(shí)別和事件類型識(shí)別任務(wù)的F1值分別提高1.8% 和1.3%。相對(duì)于Bi-LSTM模型,Bi-LSTM + FN的事件類型識(shí)別提高0.8%;此外,我們的方法相對(duì)于其他未進(jìn)行語(yǔ)料處理的模型,事件類型識(shí)別的F1值均有所提高;而相對(duì)于其他擴(kuò)充語(yǔ)料的模型,也有較大優(yōu)勢(shì),相對(duì)于當(dāng)前通過(guò)擴(kuò)充語(yǔ)料進(jìn)行事件抽取的模型的最高性能(ANN-FN?),我們的方法的F1值提升0.7%,召回率也有很大提高。由此可知: 事件類型與框架類型具有強(qiáng)映射關(guān)系,使得某些框架類型確實(shí)可以表達(dá)事件類型,這些框架下的例句在很大程度上能觸發(fā)對(duì)應(yīng)的事件類型。故將這些例句作為“正例”擴(kuò)充訓(xùn)練集后,能有效起到豐富訓(xùn)練語(yǔ)料的作用。原本由于訓(xùn)練例句少而無(wú)法識(shí)別的某些觸發(fā)詞,在語(yǔ)料擴(kuò)充后,這些觸發(fā)詞具有更多的訓(xùn)練樣例,事件檢測(cè)模型能得到充分訓(xùn)練,故能較好地對(duì)其進(jìn)行識(shí)別。為此,該方法對(duì)觸發(fā)詞識(shí)別與事件類型識(shí)別的召回率有明顯提升,極大地緩解了ACE語(yǔ)料數(shù)據(jù)稀疏的問(wèn)題。正如例2中的觸發(fā)詞
表7 觸發(fā)詞識(shí)別和事件類型識(shí)別的實(shí)驗(yàn)結(jié)果
(注: 單元格中的“n/a”表示該模型中未列出此任務(wù)的結(jié)果;?表示使用了額外的數(shù)據(jù)
“fractured”(骨折),擴(kuò)充“正例”后,訓(xùn)練語(yǔ)料中包含11條以該詞為觸發(fā)詞的例句,訓(xùn)練樣本充足,模型可以很好地將該詞判定為觸發(fā)詞。
相對(duì)于Bi-LSTM,Bi-LSTM+FN的觸發(fā)詞識(shí)別與事件類型識(shí)別的召回率分別提升10.5%和14.7%,效果顯著。主要原因是神經(jīng)網(wǎng)絡(luò)模型對(duì)數(shù)據(jù)量較為敏感,數(shù)據(jù)量越大,模型訓(xùn)練越充分。擴(kuò)充語(yǔ)料后,訓(xùn)練樣例數(shù)目明顯增多,神經(jīng)網(wǎng)絡(luò)模型可得到充分訓(xùn)練,能識(shí)別出更多Bi-LSTM無(wú)法識(shí)別的觸發(fā)詞,且事件類型分類也更準(zhǔn)確,故在召回率上獲得較好性能。
相對(duì)于傳統(tǒng)機(jī)器學(xué)習(xí)模型Joint,Joint+FN的召回率也有較大提升,觸發(fā)詞識(shí)別與事件類型識(shí)別任務(wù)分別提升4.7%和4.3%。主要原因除訓(xùn)練數(shù)據(jù)集增大,模型訓(xùn)練更加充分外,還由于該模型主要是基于特征抽取,更多地依賴于例句中涉及的各種詞法、句法和實(shí)體信息。故擴(kuò)充語(yǔ)料后,具有相同詞法、句法或?qū)嶓w信息的樣例數(shù)目增多,在訓(xùn)練過(guò)程中,模型能較全面地捕獲這些特征信息,提高對(duì)例句中觸發(fā)詞的辨識(shí)度,正確識(shí)別出更多觸發(fā)詞,有效提升召回率。
但從表7可以看出,Joint+FN與Bi-LSTM+FN相對(duì)于baseline,雖然在召回率上均有很大幅度提升,但準(zhǔn)確率也都有所降低。相對(duì)于Joint,Joint+FN觸發(fā)詞識(shí)別與事件類型識(shí)別的準(zhǔn)確率分別降低2.6%和3.0%;相對(duì)于Bi-LSTM,Bi-LSTM+FN的準(zhǔn)確率分別降低11.0%與15.1%。我們分析主要原因是語(yǔ)料擴(kuò)充中會(huì)引入部分錯(cuò)誤樣例,產(chǎn)生噪聲。造成這一結(jié)果的原因主要有三方面: 其一,雖然我們改進(jìn)了構(gòu)建事件類型與框架類型映射關(guān)系的方法,但仍會(huì)有部分事件類型與框架類型無(wú)法正確映射,這會(huì)導(dǎo)致錯(cuò)誤的傳播,使部分錯(cuò)誤樣例擴(kuò)充進(jìn)ACE語(yǔ)料;其二,我們提前假設(shè)與事件類型對(duì)應(yīng)的框架類型下的樣例能觸發(fā)該事件類型,其詞法單元即觸發(fā)詞。但這一假設(shè)并不能保證所有的樣例均具有上述性質(zhì)。所以,擴(kuò)充的例句不能完全保證詞法單元就是觸發(fā)詞,即使詞法單元是觸發(fā)詞,也不一定會(huì)觸發(fā)對(duì)應(yīng)的事件類型,且這些樣例不一定是事件句。故將據(jù)映射關(guān)系獲得的例句全部作為擴(kuò)充語(yǔ)料,也會(huì)無(wú)法避免地引入噪聲。其三,在擴(kuò)充語(yǔ)料過(guò)程中,通過(guò)觸發(fā)詞獲取對(duì)應(yīng)的框架類型,從而將該框架下的例句作為擴(kuò)充語(yǔ)料。所以,本文默認(rèn)擴(kuò)充的樣例中,一個(gè)例句只有一個(gè)觸發(fā)詞。但通過(guò)對(duì)實(shí)驗(yàn)輸出數(shù)據(jù)的認(rèn)真分析,我們發(fā)現(xiàn)擴(kuò)充的語(yǔ)料并不能保證每個(gè)例句只有一個(gè)觸發(fā)詞,有些例句會(huì)出現(xiàn)多個(gè)觸發(fā)詞,而本文在處理時(shí)并沒(méi)有對(duì)這些詞進(jìn)行事件類型標(biāo)記。所以,擴(kuò)充的語(yǔ)料在類型標(biāo)記上會(huì)出現(xiàn)錯(cuò)誤,在模型訓(xùn)練過(guò)程中會(huì)造成較大影響。
由于上述三個(gè)原因造成錯(cuò)誤樣例的引入,不管對(duì)Joint+FN模型還是Bi-LSTM+FN模型,在訓(xùn)練過(guò)程中,這些錯(cuò)誤樣例均會(huì)對(duì)模型產(chǎn)生錯(cuò)誤引導(dǎo),最終造成模型對(duì)觸發(fā)詞識(shí)別的準(zhǔn)確度降低,從而使系統(tǒng)整體的準(zhǔn)確率降低。
本文針對(duì)現(xiàn)有事件檢測(cè)方法受限于數(shù)據(jù)稀疏與語(yǔ)料分布不平衡問(wèn)題,采用框架語(yǔ)義知識(shí)及FrameNet語(yǔ)料對(duì)ACE語(yǔ)料訓(xùn)練集進(jìn)行擴(kuò)充。從而解決上述兩個(gè)問(wèn)題,實(shí)驗(yàn)結(jié)果顯示事件觸發(fā)詞識(shí)別與事件類型識(shí)別任務(wù)的性能有明顯提升。此外,本文提出一種通過(guò)計(jì)算框架類型標(biāo)簽與事件標(biāo)簽的相似度來(lái)識(shí)別框架的方法,通過(guò)與直接利用開(kāi)源工具SEMAFOR獲取框架的方法相比,取得了較好的性能。
但本文默認(rèn)擴(kuò)充的“正例”只有一個(gè)觸發(fā)詞,而模型在訓(xùn)練過(guò)程中把每個(gè)詞都當(dāng)作候選觸發(fā)詞,一旦句子中還有其他的觸發(fā)詞,但我們并沒(méi)有對(duì)其進(jìn)行標(biāo)記,那么對(duì)模型的準(zhǔn)確率會(huì)有較大影響。此外,擴(kuò)充的樣例并不一定是事件句,所以未來(lái)的工作重在對(duì)句子中的其他詞進(jìn)行處理,如果為觸發(fā)詞,則為其標(biāo)記相應(yīng)的事件類型以及對(duì)FrameNet中的樣例進(jìn)行預(yù)處理,去掉不是事件句的樣例。