高 兵,皇甫楠,鄒啟杰,秦 靜
(1.大連大學(xué) 信息工程學(xué)院,遼寧 大連 116622;2.大連大學(xué) 大連市智慧醫(yī)療與健康重點(diǎn)實(shí)驗(yàn)室,遼寧 大連 116622;3.大連大學(xué) 軟件工程學(xué)院,遼寧 大連 116622)
在信息飛速發(fā)展、互聯(lián)網(wǎng)技術(shù)日趨成熟的時(shí)代下,與工作生活息息相關(guān)的文本信息相繼出現(xiàn),其中包含有大量事件,如某人某時(shí)在某地做了某事,在海量的文本信息中挑選出有價(jià)值的事件信息是一大難題。這個(gè)提取信息的過(guò)程被稱(chēng)之為信息抽取,其核心在于對(duì)其中的核心事件進(jìn)行抽取,稱(chēng)之為事件抽取。在問(wèn)答系統(tǒng)、文本摘要及信息檢索[1]等研究中,事件抽取方法得打了廣泛應(yīng)用。
事件抽取任務(wù)的本質(zhì)是從非結(jié)構(gòu)化和半結(jié)構(gòu)化的文本信息中提取出包括觸發(fā)詞、事件類(lèi)型、論元及論元角色在內(nèi)的信息[2],可以幫助用戶快速識(shí)別出文本數(shù)據(jù)中包含的重要事件信息。其中,事件觸發(fā)詞為表示某一事件發(fā)生的詞語(yǔ),論元表示一個(gè)事件的時(shí)間、地點(diǎn)、人物等重要信息,論元角色表示事件論元與事件觸發(fā)詞之間的關(guān)系。事件抽取任務(wù)可以分為事件類(lèi)型檢測(cè)和事件論元角色識(shí)別兩個(gè)子任務(wù),且兩子任務(wù)是相互依賴(lài)的。該文的任務(wù)集中于論元角色識(shí)別。
事件抽取包括句子級(jí)事件抽取和篇章級(jí)事件抽取兩種方法。然而,基于單句的事件抽取方法存在很大的不足。對(duì)于整個(gè)文檔,如果僅基于單句進(jìn)行事件抽取,不能有效地解決由多個(gè)句子組成的事件以及事件元素分散的問(wèn)題,并且在現(xiàn)實(shí)中所有事件元素信息都出現(xiàn)在一個(gè)句子中的情況很少出現(xiàn)。因此,僅基于單個(gè)句子的事件抽取,無(wú)法從整個(gè)文檔中抽取完整的事件信息[3]。因此,出現(xiàn)了較多研究關(guān)注基于篇章的事件抽取的方法。例如,文獻(xiàn)[4]利用文檔中不同事件的相關(guān)性來(lái)判斷詞的語(yǔ)義,最終實(shí)現(xiàn)事件抽取;文獻(xiàn)[5]則基于篇章中事件的主題關(guān)系特征進(jìn)行事件抽取;文獻(xiàn)[6]提出了一種基于混合神經(jīng)網(wǎng)絡(luò)的句子級(jí)聯(lián)合抽取模型;文獻(xiàn)[7]提出一種融合上下文事件的時(shí)序關(guān)系的篇章級(jí)事件抽取方法;文獻(xiàn)[8]提出基于深度學(xué)習(xí)的篇章級(jí)事件抽取聯(lián)合模型;文獻(xiàn)[9]使用了基于生成對(duì)抗網(wǎng)絡(luò)的逆強(qiáng)化學(xué)習(xí)方法的事件抽取框架;文獻(xiàn)[10]基于Bi-GRU神經(jīng)網(wǎng)絡(luò),定義了三個(gè)窗口來(lái)學(xué)習(xí)句子的上下文語(yǔ)義關(guān)系特征,來(lái)實(shí)現(xiàn)篇章事件檢測(cè);文獻(xiàn)[11]提出了一種將事件句分為三個(gè)階段的管道式方法來(lái)實(shí)現(xiàn)篇章級(jí)事件抽取;文獻(xiàn)[12]提出一個(gè)篇章級(jí)事件抽取模型—Doc2EDAG,通過(guò)使用有向無(wú)環(huán)圖實(shí)現(xiàn)了篇章級(jí)的事件抽取,實(shí)現(xiàn)了很好的抽取效果。
以上研究均基于篇章信息進(jìn)行事件抽取,但目前篇章級(jí)事件抽取方法均僅考慮了局部句子之間的關(guān)系特征,而未利用句子在整個(gè)篇章中更高層次、更豐富的關(guān)系特征。因此,為了提高事件抽取的性能,有效地利用句子在篇章中的全局信息,解決因僅根據(jù)局部句子之間的語(yǔ)義關(guān)系,而未抽取出完整事件信息的問(wèn)題,該文提出了基于全局語(yǔ)義匹配的篇章級(jí)事件抽取方法。該方法包括事件論元識(shí)別和全局推理兩個(gè)方法。其中,全局推理通過(guò)對(duì)文檔中心句和全部文檔句進(jìn)行語(yǔ)義匹配,找出全部文檔句中與中心句強(qiáng)相關(guān)的事件句,最后對(duì)所有事件句的事件元素進(jìn)行信息融合得到完整的事件信息。在整個(gè)篇章的范圍內(nèi)進(jìn)行全局推理,充分利用了句子在整個(gè)篇章中的語(yǔ)義信息,提高了事件抽取的整體性能。相比于單個(gè)句子和段落,提出的方法增強(qiáng)了事件抽取在整個(gè)文檔中的全局性,減少了事件抽取的冗余,可以有效地將零碎信息整合起來(lái),從而識(shí)別出完整的事件信息。
事件論元識(shí)別的任務(wù)主要是去識(shí)別句子中事件的參與者,即在事件中扮演角色的實(shí)體。可以將論元識(shí)別看作序列標(biāo)注任務(wù)。簡(jiǎn)單來(lái)說(shuō),序列標(biāo)注就是給定一個(gè)文本序列,對(duì)序列中包含的每個(gè)元素進(jìn)行標(biāo)記。一般來(lái)說(shuō),一個(gè)序列指的是一個(gè)句子,而元素指的是一個(gè)句子中的包含詞。采用序列標(biāo)注的方法進(jìn)行論元識(shí)別,不僅可以找到句子序列中每個(gè)詞的邊界,同時(shí)還可以確定詞所屬的類(lèi)別。圖1是事件論元抽取的序列標(biāo)注示例。
圖1 序列標(biāo)注示例
圖1中,將一個(gè)文本句子輸入到序列標(biāo)注模型中,采用BIO標(biāo)記方案將句子中的詞轉(zhuǎn)換為標(biāo)記序列,輸出的是序列標(biāo)注的結(jié)果,其中每個(gè)標(biāo)記對(duì)應(yīng)特定的含義。具體來(lái)講, 在BIO標(biāo)記方法中,B-Begin表示字段的開(kāi)始;I-Intermediate表示字段的中間;O-Other表示其他,用于標(biāo)記無(wú)關(guān)字段;type表示字段的歸屬類(lèi)別。在圖1的例子中,B-Person表示人名的起始字段,O表示其他字段,B-Place表示地點(diǎn)的開(kāi)始字段,B-Time表示時(shí)間的開(kāi)始字段,I-Time表示時(shí)間的中間字段。因此,將句子序列輸入到序列標(biāo)注模型中,可獲得句中的實(shí)體及其實(shí)體類(lèi)型即事件論元及事件論元類(lèi)型。
全局推理的主要任務(wù)是對(duì)句子級(jí)事件信息進(jìn)行推理,得到文檔完整的事件信息。經(jīng)過(guò)2.1中的事件論元識(shí)別,可以獲得文檔中每個(gè)句子包含的事件元素。而對(duì)于一篇文本文檔,文檔的“中心”應(yīng)是文檔內(nèi)容的集中體現(xiàn),而中心句就是能夠概括文檔主要事件內(nèi)容的句子,文檔是圍繞中心句進(jìn)行展開(kāi)的。因此,在事件抽取中,將中心句與文檔句進(jìn)行語(yǔ)義匹配,可以很好地找到與之相關(guān)的事件句,將事件句的事件信息進(jìn)行融合則可得到完整的事件信息。因此,為了得到一個(gè)事件完整的事件信息,需要對(duì)句子的事件信息進(jìn)行全局推理。
全局推理包括全局語(yǔ)義匹配和信息融合兩個(gè)方法。通過(guò)全局語(yǔ)義匹配的方法找到所有事件句,具體方法為:首先,通過(guò)2.1中論元識(shí)別的結(jié)果判斷出文檔的中心句,將包含事件元素最多的句子看作文檔的中心句,將包含事件元素的句子看作事件句;其次,進(jìn)行基于語(yǔ)義的相似度判斷,對(duì)中心句和文檔句進(jìn)行語(yǔ)義匹配找出相關(guān)事件句;最后,使用信息融合的方法將所有事件句的事件信息進(jìn)行融合,得到最終的事件信息。全局語(yǔ)義匹配的方法充分利用了文本的上下文語(yǔ)義信息來(lái)判斷文檔句和中心句是否指代同一事件,從而找出所有的事件句,獲得了更好的事件共指判斷指標(biāo)。
全局事件抽取的具體流程示意圖如圖2所示。
圖2 全局事件抽取流程
通過(guò)上述的方法,既利用文檔上下文的語(yǔ)義匹配得到了整個(gè)文檔的事件句,也利用事件信息融合方法有效地解決了事件元素分散的問(wèn)題。
本節(jié)主要介紹上述方法所使用的模型,包括BiLSTM-CRF(Bi-directional Long Short-Term Memory—Conditional Random Field)的序列標(biāo)注模型進(jìn)行事件論元識(shí)別和利用全局語(yǔ)義匹配模型進(jìn)行全局推理。通過(guò)找到與文檔中心句相關(guān)的事件句,對(duì)句子事件元素信息進(jìn)行融合得到完整的結(jié)構(gòu)化的事件信息。該模型總體框架如圖3所示。
圖3 全局語(yǔ)義匹配事件抽取模型
事件論元識(shí)別模塊用于對(duì)文檔中句子的事件信息進(jìn)行抽取。先通過(guò)嵌入層得到輸入句子序列的初始向量表示,再通過(guò)BiLSTM神經(jīng)網(wǎng)絡(luò)得到嵌入層輸出序列的上下文語(yǔ)義向量表示,最后將BiLSTM層的結(jié)果輸入CRF層,得到序列標(biāo)注的預(yù)測(cè)標(biāo)簽結(jié)果。
具體實(shí)現(xiàn)過(guò)程為:首先,在嵌入層中,將輸入句子序列通過(guò)word2vec模型轉(zhuǎn)換為句子的初始向量表示。文檔是基于句子的,由多個(gè)句子組成。定義一個(gè)文檔集為D=[s1,s2,…,sm],其中m指文檔中包含的句子數(shù)。而句子是基于字符的,由多個(gè)字符組成。文檔集合D中第i個(gè)句子序列定義為si={c1,c2,…,cn},其中n表示該句子序列中包含的字符個(gè)數(shù)。則句子si通過(guò)嵌入層轉(zhuǎn)換為初始向量si={w1,w2,…,wn}:將句子序列中的字符c轉(zhuǎn)化為向量w。
(1)
(2)
最后,將BiLSTM層得到的語(yǔ)義向量輸入到CRF層進(jìn)行序列標(biāo)注,輸出句子si預(yù)測(cè)標(biāo)簽序列,序列si={c1,c2,…,cn}對(duì)應(yīng)輸出的預(yù)測(cè)標(biāo)簽結(jié)果為y={y1,y2,…,yn}。輸出的預(yù)測(cè)標(biāo)簽結(jié)果為score得分最高的序列,預(yù)測(cè)序列的得分函數(shù)公式如式(3)所示:
(3)
其中,P為BiLSTM的輸出矩陣,Pij表示序列中第i個(gè)標(biāo)記的標(biāo)記j的分?jǐn)?shù)。A為分?jǐn)?shù)的轉(zhuǎn)換矩陣,因此,Aij表示從第i個(gè)標(biāo)簽tagi到第j個(gè)標(biāo)簽tagj的轉(zhuǎn)換分?jǐn)?shù)。
全局語(yǔ)義匹配模塊用于更新文檔事件句,先通過(guò)論元識(shí)別模塊抽取到句子級(jí)事件信息判斷出中心句,再與文檔句進(jìn)行語(yǔ)義匹配得到所有事件句。
首先,通過(guò)3.1中嵌入層得到文檔中每個(gè)句子的初始向量表示,再通過(guò)BiLSTM網(wǎng)絡(luò)得到句子在文檔中的上下文語(yǔ)義向量表示,最后進(jìn)行事件的共指判斷。根據(jù)文檔句的上下文語(yǔ)義關(guān)系與中心句的語(yǔ)義相似度來(lái)判斷文檔句與中心句的共指程度,最終得到與中心句相關(guān)的事件句。其中語(yǔ)義相似度計(jì)算采用余弦相似度計(jì)算公式。余弦相似度使用文檔中心句與文檔句的上下文語(yǔ)義向量進(jìn)行計(jì)算,這些夾角的余弦值的大小就代表了文本的相似程度。相似度的取值大小區(qū)間為[0,1],相似度越高,R(Hc,Hi)的值越靠近1;相似度越低,R(Hc,Hi)的值越靠近0。具體計(jì)算公式為:
(4)
式中,Hc代表中心句的上下文語(yǔ)義向量,Hi代表文檔句的上下文語(yǔ)義向量,R(Hc,Hi)代表計(jì)算過(guò)后的余弦值。
而余弦值究竟應(yīng)該達(dá)到多大這些文檔句才可以被歸類(lèi)為事件句。其比較規(guī)則為:若R(Hc,Hi)>a,則Hi,Hc相似;否則,不相似;a為相似度閾值。
通過(guò)3.2節(jié)中的共指判斷獲得了所有與中心句相關(guān)的事件句,并通過(guò)3.1獲得了文檔中每個(gè)句子的事件提取結(jié)果。為了得到完整的事件信息,需要利用信息融合算法,將描述事件相同但包含事件元素不同的句子信息進(jìn)行融合。將分散的事件信息融合成完整的、結(jié)構(gòu)化的事件信息,具體的算法實(shí)現(xiàn)步驟如下所示:
Algorithm1:融合算法
Input:輸入句子的事件元素列表List=[{x1},{x2},…,{xN}],N為所有的事件句的個(gè)數(shù)
Output:輸出融合以后的事件元素列表List1=[…]
1:forxin List:do
2: ifxnot in List1 then
3: List1.append(x)//將x添加到List1中
4: end if
5:end for
6:return List1//輸出結(jié)果
該策略可以將所有的事件句中分散的事件元素進(jìn)行融合得到完整的事件信息。將根據(jù)事件的中心句匹配到的事件句,即分布在篇章不同段落中對(duì)事件不同的事件描述句,進(jìn)行事件元素融合,得到完整的結(jié)構(gòu)化的事件信息。
在MUC-4事件提取數(shù)據(jù)集上驗(yàn)證了所提模型的效果,并與之前的工作進(jìn)行了對(duì)比分析。
(1)數(shù)據(jù)集介紹。
MUC-4事件提取數(shù)據(jù)集由1 700篇文檔組成。為了與其他結(jié)果進(jìn)行對(duì)比,使用1 300份文檔進(jìn)行訓(xùn)練,200份文檔(TST1 TST2)作為開(kāi)發(fā)集,200份文檔(TST3 TST4)作為測(cè)試集。
(2)評(píng)價(jià)標(biāo)準(zhǔn)。
使用準(zhǔn)確率P、召回率R以及F1值來(lái)評(píng)估提出的全局事件抽取模型性能。三個(gè)評(píng)測(cè)指標(biāo)的具體計(jì)算公式如下所示:
(5)
(6)
(7)
其中,TP代表模型預(yù)測(cè)和實(shí)際都為正例的數(shù)據(jù)數(shù)量,FP代表模型預(yù)測(cè)為正例但實(shí)際為負(fù)例的數(shù)據(jù)數(shù)量,FN代表模型預(yù)測(cè)為負(fù)例但實(shí)際為正例的數(shù)據(jù)數(shù)量。
(3)參數(shù)設(shè)置。
實(shí)驗(yàn)使用Windows系統(tǒng),編程環(huán)境Python3.6。在訓(xùn)練模型參數(shù)時(shí),優(yōu)化函數(shù)使用SGD算法,字向量維度為100,BiLSTM隱藏層數(shù)量為200,批處理大小為5,epoch設(shè)置為20,Dropout選用0.4。
本節(jié)將提出的抽取方法與已有的抽取方法進(jìn)行對(duì)比。選擇以下基準(zhǔn)系統(tǒng)進(jìn)行對(duì)比。
(1)TIER[13]是一種多階段方法。將文檔分為三個(gè)階段:首先使用分類(lèi)器確定文檔類(lèi)型,然后識(shí)別文檔中與事件相關(guān)的句子和事件論元。
(2)Coherence-Extract[14]是一種自下而上的事件提取方法,首先獨(dú)立地識(shí)別候選事件論元角色,然后利用這些信息以及語(yǔ)篇屬性來(lái)建模語(yǔ)篇銜接。
(3)Multi-Granularity Reader[15]是一個(gè)新的多粒度閱讀器,動(dòng)態(tài)融合了在不同粒度的事件信息(句子級(jí)、段落級(jí))。
(4)多粒度融合模型[16]提出了多粒度門(mén)控融合的篇章級(jí)事件檢測(cè)模型,通過(guò)構(gòu)造單句和段落級(jí)別兩個(gè)維度的特征,通過(guò)門(mén)控機(jī)制將正向與逆向、單句與段落的特征進(jìn)行權(quán)重融合。
其中,基線系統(tǒng)(4)相比于基線系統(tǒng)(1)(2)(3)具有更好的準(zhǔn)確度和召回率。表1中的最后一行顯示了利用文中系統(tǒng)獲得的結(jié)果。在表1中報(bào)告了平均結(jié)果。為了詳細(xì)了解模型對(duì)于每個(gè)事件角色的抽取,還在表2中報(bào)告了每個(gè)事件角色的結(jié)果。
表1 平均結(jié)果 %
表2 各事件抽取結(jié)果 %
表1中,基線系統(tǒng)(3)(4)的結(jié)果優(yōu)于基線系統(tǒng)(1)和(2)的結(jié)果,這證明了使用BiLSTM-CRF的序列標(biāo)注模型標(biāo)記序列實(shí)現(xiàn)事件抽取的方法在抽取效果上優(yōu)于傳統(tǒng)方法的人工構(gòu)建特征抽取的方法。而相比基線系統(tǒng)(3)和(4),提出的全局事件抽取的模型在準(zhǔn)確率和F1值上均有提升,在按頭名詞進(jìn)行匹配上F1值提升了3.30百分點(diǎn),在精準(zhǔn)匹配上F1值提升了1.93百分點(diǎn),證明了使用全局推理的抽取方法優(yōu)于僅針對(duì)句子級(jí)或段落級(jí)的局部的抽取方法。在表2中,針對(duì)每個(gè)事件角色抽取結(jié)果中,Target、Weapon兩種事件角色抽取的結(jié)果沒(méi)有超過(guò)基線系統(tǒng)(3)但優(yōu)于基線系統(tǒng)(1)和(2)。分析認(rèn)為由于基線系統(tǒng)(3)中使用了多粒度閱讀器,考慮了句子級(jí)和段落級(jí)的特征,而句子在段落級(jí)的上下文語(yǔ)義依賴(lài)關(guān)系,要強(qiáng)于句子在整篇文檔中的依賴(lài)關(guān)系。所以句子在段落級(jí)可得到更豐富的上下文特征,從而影響單個(gè)事件抽取的結(jié)果。雖然使用段落級(jí)的特征能得到更全面的特征信息從而提高單個(gè)事件的召回率,但是模型準(zhǔn)確率相應(yīng)降低了。
綜上所述,基于全局語(yǔ)義匹配的篇章級(jí)事件抽取模型在綜合指標(biāo)上均超過(guò)了基線模型,但在每個(gè)事件角色結(jié)果中有些事件角色沒(méi)有超過(guò)基線模型。但篇章級(jí)抽取性能會(huì)受到句子級(jí)事件識(shí)別結(jié)果和句子在文檔中的上下文語(yǔ)義關(guān)系匹配結(jié)果的影響。如果句子級(jí)在事件論元識(shí)別中的效果不好,沒(méi)有將句子中的事件元素識(shí)別出來(lái);或者文檔的上下文語(yǔ)義關(guān)系不完全,則會(huì)最終影響篇章級(jí)的事件抽取性能指標(biāo)。
從2.2方法可知,通過(guò)計(jì)算中心句和文檔句的相似度,可以得到與中心句相關(guān)事件句,將包含事件元素的句子稱(chēng)為事件句。根據(jù)余弦相似度計(jì)算,采用閾值可以對(duì)文檔句進(jìn)行分類(lèi)。將大于閾值的句子過(guò)濾出來(lái)看作事件句,以實(shí)現(xiàn)對(duì)整篇文檔的精確抽取,從而提高事件抽取的性能。而閾值如何確定,不同閾值的實(shí)驗(yàn)結(jié)果對(duì)比如表3所示。
表3 各閾值比較結(jié)果 %
其中,檢測(cè)率表示根據(jù)閾值從文檔句中匹配出句子的概率,誤檢率表示匹配出的句子中不是事件句的概率。從表中可以看出,如果以0.92作為閾值,雖然誤檢率較低,但只能將少部分與中心句相關(guān)的句子過(guò)濾出來(lái),匹配不完整;如果以0.72作為閾值,則可以將與中心句相關(guān)的事件句都匹配出來(lái);如果以 0.68或更低的值作為閾值,能將與中心句相關(guān)事件句都匹配出來(lái),但是也過(guò)濾出了一些不包含事件元素的無(wú)關(guān)句子,誤檢率高。
綜上所述,若相似度閾值設(shè)置過(guò)大,雖然誤檢率低,但是也會(huì)導(dǎo)致一些目標(biāo)句無(wú)法檢測(cè)出來(lái)。若閾值設(shè)置過(guò)小,雖然檢測(cè)率高能找到目標(biāo)句,但是也會(huì)找到很多無(wú)關(guān)的句子。因此,根據(jù)實(shí)驗(yàn)結(jié)果,閾值設(shè)置為0.72時(shí),效果最好。
該文主要介紹了關(guān)于事件抽取的方法,相比于句子級(jí)事件抽取,篇章級(jí)事件抽取則可以很好地解決句子級(jí)事件抽取中信息分散的問(wèn)題,具有很好的研究意義。而目前篇章級(jí)事件抽取缺少對(duì)于句子在整個(gè)文檔中語(yǔ)義關(guān)系的全局性的關(guān)注。因此,為了獲取完整的事件信息,同時(shí)充分利用句子在整個(gè)文檔中的語(yǔ)義關(guān)系,該文在句子級(jí)事件抽取的基礎(chǔ)上,對(duì)中心句和文檔句進(jìn)行語(yǔ)義匹配得到完整的事件句,最后進(jìn)行融合得到完整的事件信息。通過(guò)實(shí)驗(yàn)證明了所提方法的有效性。篇章級(jí)事件抽取技術(shù)雖然可以很好地解決事件元素分散的問(wèn)題,但是還是會(huì)受到一部分句子級(jí)事件抽取結(jié)果的影響。因此,在未來(lái)的工作中,將進(jìn)一步研究如何調(diào)整模型,使篇章級(jí)事件抽取模型的的結(jié)果不會(huì)受到句子級(jí)抽取結(jié)果的影響。