張源奔,趙一斐,趙志浩,韓眾和,張利利,謝輝平
(1.中國科學院 空天信息創(chuàng)新研究院,北京 100190;2.中國科學院 網(wǎng)絡信息體系技術重點實驗室,北京 100190;3.中國科學院 齊魯空天信息研究院,山東 濟南 250000;4.北京化工大學 信息科學與技術學院,北京 100029)
在互聯(lián)網(wǎng)及大數(shù)據(jù)環(huán)境下,如何從海量的文本數(shù)據(jù)中獲得關鍵信息極具挑戰(zhàn)。一種方式是使用事件圖譜對各類事件進行識別、存儲與表示,從而使得統(tǒng)計分析更加便捷,也為后續(xù)的事件推理、去偽存真等應用打下基礎。
然而,該項工作面臨著諸多挑戰(zhàn),特別是其中的關鍵部分--事件抽取任務。目前,句子級事件抽取方法容易造成事件論元提取不完整的問題;集成式事件抽取模型同時包含多個子任務,訓練資源需求大、模型訓練難度大;除此之外,還需要解決對整篇文檔進行全文建模并同時抽取多個事件的信息。
針對上述挑戰(zhàn),本文首先研究并介紹了事件圖譜構建流程,該流程能夠在常用算法的基礎上,提高事件抽取算法的效率與性能。同時,針對事件論元分散和多事件問題,本文提出了一種篇章級事件抽取模型。該模型采用流程式框架、面向觸發(fā)詞的篇章級異質交互圖以及樹形論元抽取結構對多個事件進行抽取。
事件圖譜是一種用來表達事件信息與事件關系的知識圖譜。它能夠將非結構化的事件信息轉化為結構化的圖譜表示,從而在突發(fā)事件的分析、處置與挖掘過程中具有較高的應用價值。
本小節(jié)將簡要介紹事件圖譜構建流程,包含:命名實體識別;實體鏈接;事件抽?。皇录D譜的構建。事件圖譜示例如圖1所示。
圖1 事件圖譜示例
命名實體識別(named entity recognition,NER)任務的主要目的在于從非結構化的輸入文本中識別命名實體并進行分類。近年來,基于深度學習的命名實體識別方法占據(jù)了主導地位,有IDCNN+CRF[1]、BERT+CRF[2]、Flat-Lattice Transformer[3]等。NER算法是主流智能分析系統(tǒng)的必備算法,有效使用該算法的結果將降低后續(xù)算法的訓練復雜度與資源消耗。
實體鏈接(entity linking,EL)任務指將文本中識別出的命名實體鏈接到知識庫中對應實體的過程,并解決共指與消歧問題。為了提高實體鏈接模型的精確度,最近的研究主要關注Attention[4]、LSTM[5]、BERT[6]等方法。在事件圖譜的構建過程中,每個事件可能涉及多個實體,而同名實體與歧義的問題更加常見。所以,使用實體鏈接算法能夠更精確表達事件的關鍵信息并對事件的語義進行更精準的建模。
事件抽取(event extraction,EE)任務旨在從非結構化的輸入文本中識別特定類型的事件及事件的關鍵信息,是事件圖譜構建的關鍵組成部分。目前,事件抽取任務可以分為開放域事件抽取和閉域事件抽取兩種,本文主要研究閉域事件抽取任務,常用的算法有Transformer[7]、GCN[8]、hypergraph[9]等。
最近,越來越多的研究開始關注事件圖譜,它被定義為一種以事件為中心的知識結構。相比于知識圖譜中的實體,事件具有更加豐富的語義信息,通過刻畫事件的關鍵信息和事件之間的聯(lián)系,事件圖譜擁有更加嚴謹?shù)耐评磉壿?,能夠更加完整地跟蹤事件的變化與發(fā)展。
在構建事件圖譜的流程中,使用NER算法的結果能夠為事件抽取任務提供候選論元和特征表示。使用實體鏈接算法解決實體消歧問題能夠提高事件抽取模型在語義理解時的準確性。在上述模型的幫助下,事件抽取任務可以變得更加簡潔高效。
篇章級事件抽取(document-level event extraction,DEE)任務旨在從整篇文檔中識別事件信息,該任務面臨的主要挑戰(zhàn)有事件論元分散、多事件提取等。針對上述挑戰(zhàn),本文提出了一種篇章級事件抽取模型(簡稱DTHIGN),模型整體框架如圖2所示,其主要特點為:
(1)流程化。現(xiàn)有的研究大多關注集成式(joint model)事件抽取模型,但這種模型對計算資源和硬件的需求較大。為了降低模型的硬件需求,同時便于快速訓練調優(yōu),本文以流程式(pipeline model)的方式構建事件抽取模型,這種方式能夠降低模型訓練壓力并提升模型的性能。
(2)篇章級的特征表示。一個事件的論元可能分散在不同的句子中,在單個句子中提取事件可能會導致事件結果的不完整。因此,本文提出了一種面向觸發(fā)詞的篇章級異質交互圖[10](document-level trigger-oriented heteroge-neous interaction graph network),從而對事件的關鍵信息進行更完善的語義表示。同時,以觸發(fā)詞為中心的對異質圖進行建模,能夠更加準確地捕捉事件蘊含的豐富語義信息。
(3)基于事件模板的樹形事件論元抽取方式[11]。一個文檔可以同時包含多個事件,如何完整抽取所有事件及其相關信息是篇章級事件抽取中的關鍵問題。為了解決上述問題,本文采用基于事件模板的樹形事件論元抽取方式,使用統(tǒng)一的事件模板以及有序樹的方式進行多事件的抽取,同時使用捕捉器結構獲取事件之間的依賴關系,提高了事件抽取模型的精確度。
目前,常見的篇章級事件抽取模型可分為兩種,一種是流程式事件抽取模型,一種是集成式事件抽取模型。其中,流程式事件抽取模型的訓練過程是將每個子任務單獨進行訓練。這種模型的優(yōu)點是可以利用前期的模型成果,計算資源需求低,模型易于收斂。但缺點是訓練步驟復雜,所需標注數(shù)據(jù)量大。集成式事件抽取模型是使用一個集成的模型在一次訓練過程中同時訓練多個子任務,并輸出最終結果。這種模型的優(yōu)點是能夠盡可能地避免子任務之間的誤差傳播,缺點是計算資源需求大,且模型訓練難度大。
為了充分利用前期各項算法的成果并使得事件抽取模型更加簡潔高效,本文在常用的事件抽取模型上進行流程化改造,使得模型能夠使用NER模型中的命名實體識別預測序列(包含、、
同時,使用實體鏈接結果對事件論元候選集進行實體消歧,從而幫助事件抽取模型更精準的對文章中的事件進行建模。
篇章級事件抽取任務的關鍵目標是識別一篇文章中的多個事件提及與相關事件論元,為了提高抽取事件以及事件論元的準確性與完整性,事件抽取模型需要對文章的結構與其中蘊含的語義進行充分的理解。觸發(fā)詞是構成事件的關鍵部分,它能夠代表一個事件的行為信息,是事件識別的基礎。因此,本文提出一種面向觸發(fā)詞的篇章級異質交互圖,用來對文章中的句子、事件論元及其中蘊含的關系進行結構化建模,并以觸發(fā)詞為中心表達事件內(nèi)及事件間的語義關系。同時,通過多層圖卷積網(wǎng)絡(multi-layer graph convolution network,GCN)獲取篇章級異質交互圖的語義特征表示,從而對事件提及以及事件論元進行精準的建模。
具體地,本文將事件論元(也可稱為實體提及)、觸發(fā)詞和句子分別定義為異質圖的節(jié)點,并定義6種類型的交互邊,面向觸發(fā)詞的篇章級異質交互圖具體如圖3所示。
圖3 面向觸發(fā)詞的篇章級異質交互
對于每個實體節(jié)點e, 通過將其語義特征取平均值操作得到初始化節(jié)點表示
(1)
其中,gj為使用NER模型輸出的實體文本特征,該特征即為NER模型中CRF層的輸入。
值得關注的是,一個實體在文檔中會以多種不同的提及方式出現(xiàn),如何解決實體的共指與消歧問題成為構造異質圖的關鍵。一種簡單的方法是采用字符匹配的方式將實體的不同提及進行消歧與鏈接。這種方式往往導致鏈接錯誤的問題,特別是同義詞的情況,這會對文章的語義建模帶來消極的影響。
為了避免這一問題,本文使用實體鏈接算法,在構建篇章級異質交互圖前對事件論元進行消歧,獲得各個事件論元在知識庫中的唯一編碼ID,并用其構建異質交互圖中的實體節(jié)點,盡可能降低同名歧義實體所帶來的不利影響。
同時,對于每個觸發(fā)詞節(jié)點t, 對其特征進行和實體節(jié)點相同的操作得到初始化節(jié)點表示
(2)
其中,gj為NER任務中得到的觸發(fā)詞節(jié)點的特征表示,與式(1)中的gj計算方法相同。需要注意的是,如果數(shù)據(jù)集中不包含觸發(fā)詞,可以使用句子中的動詞作為偽觸發(fā)詞來構建異質交互圖。
對于每個句子節(jié)點s, 將其特征進行最大池化操作,然后加上句子位置嵌入,得到初始化節(jié)點表示
(3)
其中,gj與式(1)中的gj計算方法相同,SentPos(s) 為句子位置的特征表示。
為了得到具有全局上下文語義的特征表示,本文對異質圖中的各節(jié)點進行多層圖卷積操作。
給定異質圖中第l層的節(jié)點u,首先進行如下多層圖卷積操作
(4)
然后得到節(jié)點最后的隱藏狀態(tài)表示
(5)
最后,使用式(5)可分別得到所有句子的特征矩陣S, 所有事件論元的特征矩陣E和所有觸發(fā)詞的特征矩陣T。
一篇文章通常包含多個事件提及,如何將所有事件提及與相關論元抽取出來就成為篇章級事件抽取的主要挑戰(zhàn)。常用的方法是首先定義不同的事件類型,再定義各個類型下對應的事件論元,并對以上兩部分內(nèi)容以設定的模板順序依次進行抽取。這種抽取方式的問題是模型對事件類別的判斷會極大影響最終的抽取結果,容易造成抽取結果的不完善并丟失重要事件。
為了解決上述問題并利于實際使用,本文模型支持將所有類型的事件歸納為統(tǒng)一的事件模板,即定義每個事件包含有觸發(fā)詞、主語、賓語、時間、地點5個關鍵論元,再使用有序樹的方式同時抽取篇章內(nèi)的多個事件,這種方式不需要判斷事件的類型,能夠極大地避免事件遺漏的出現(xiàn)。同時,在事件抽取完成后,也可使用觸發(fā)詞進行事件分類,方便在后續(xù)的應用中進行分類挖掘與歸納分析。
對于文檔中的每一個事件,本文通過有序樹展開的方式進行事件記錄的解碼?;谑录0宓臉湫问录撛槿》椒ㄈ鐖D4所示,首先設置一個初始根節(jié)點作為有序樹的開始,然后抽取所有的觸發(fā)詞,在同一觸發(fā)詞下再按照統(tǒng)一的事件模板順序(主語、賓語、地點、時間)依次抽取論元并構造整個有序樹。需要注意的是,多個事件的觸發(fā)詞抽取是同時進行的,但在構造有序樹時是按照觸發(fā)詞抽取的順序來對各個事件依次抽取的。通過先并行抽取觸發(fā)詞再順序抽取事件論元的方式,能夠降低遺漏事件的可能,這也使得全局捕捉器可以更精準的對篇章內(nèi)的事件及事件論元間的關系進行建模,從而獲得不同事件及事件論元之間的相互依賴。
圖4 基于事件模板的樹形事件論元抽取方法
(6)
在訓練時,本文將模型損失函數(shù)定義為
(7)
需要注意的是,上述篇章級中文經(jīng)濟事件數(shù)據(jù)集中并不包含觸發(fā)詞的相關數(shù)據(jù),所以在使用本文模型進行實驗時,模型使用文章中的動詞作為候選觸發(fā)詞,從而構建面向觸發(fā)詞的篇章級異質交互圖(詳見2.3節(jié)),并在結果預測與評價指標上與原數(shù)據(jù)集保持一致。
在本文提出的DTHIGN模型的實驗設置中,隱藏層和前饋層的維度與之前的工作相同[12],分別為768層和1024層[13]。本文使用3層圖卷積網(wǎng)絡,dropout率為0.1,batch size為16。并使用Adam[14]作為優(yōu)化器,學習率設置為1e-4。模型訓練過程包含100個epoch,從中保存最優(yōu)模型。實驗的硬件環(huán)境是兩塊Nvidia GTX3090Ti GPU,總顯存48 GB。
一種經(jīng)典的篇章級事件抽取模型是楊等[15]提出的DCFEE模型,它從文章的中心句子中提取事件論元,并查詢周圍句子中是否有論元可以補充。該模型有兩個變體DCFEE-S和DCFEE-M。其中,DCFEE-S一次抽取一條事件記錄,而DCFEE-M能夠同時生成多個可能的論元組合。
此外,Doc2EDAG[12]使用Transformer編碼器獲得句子和實體級別的特征表示,然后使用另一個Transformer融合上下文,并支持同時提取多個事件記錄。
Greedy-Dec是Doc2EDAG的一個變體,它與Doc2EDAG的不同是一條事件抽取完再進行其它事件的抽取。
在本文采取的模型中,事件抽取任務被視為一個分類任務,因此采用分類指標對事件抽取模型性能進行評估。Micro F1值[16]作為衡量分類模型精確度的指標,同時兼顧了分類模型的精確率(Precision)和召回率(Recall),具體計算公式如下
(8)
本文使用Micro F1值評估模型的性能,其結果見表1。其中,DTHIGN-Joint模型為本文提出的集成式DTHIGN模型,DTHIGN-Pipeline模型為本文提出的流程式DTHIGN模型,二者的主要區(qū)別是DTHIGN-Pipeline模型解耦了模型中與NER相關的部分,并直接使用任意NER模型(本文NER模型為BERT+CRF)的結果作為輸入。
表1 模型Micro F1值結果對比
可以看到,DTHIGN-Joint模型相比于其它集成式模型的性能更好,這是因為在篇章級異質圖構建過程中,增加了對觸發(fā)詞的建模,使得模型能夠更全面掌握篇章內(nèi)事件論元間交互的信息。同時,在解耦NER相關的結構并轉換為DTHIGN-Pipeline模型后,本文模型的性能能夠在訓練好的NER模型基礎上進一步提高。
本文模型的消融實驗結果見表2,該結果以本文DTHIGN-Pipeline模型為參照,對比分析本文模型中各結構的具體效果。
表2 模型消融實驗結果
首先,將DTHIGN-Pipeline模型恢復為DTHIGN-Joint模型,即加入模型中與NER相關的結構并在訓練過程中對其進行擬合。這種轉變使得模型的參數(shù)增多,加大了訓練的難度并造成了模型性能的顯著下降,模型的Micro F1值由86.5下降為81.3。
之后,在DTHIGN-Pipeline模型上取消面向觸發(fā)詞的異質圖,僅構建面向事件論元的異質圖,而不考慮觸發(fā)詞對全文語義的影響。這使得模型降低了對全文語義的掌握能力,模型的Micro F1值由86.5下降為85.5。
最后,為了提高模型的兼容性和工程化使用能力,本文對數(shù)據(jù)集和DTHIGN-Pipeline模型的論元抽取方式進行改造。將數(shù)據(jù)集中的事件分類改變?yōu)榻y(tǒng)一的事件分類模板,并作為模型的輸入,同時使用基于統(tǒng)一事件模板的樹形結構抽取方式進行事件論元的抽取。這使得模型不再局限于特定事件類型的事件抽取,有效降低了模型的抽取難度,解決了模型在實際使用中必須按類型抽取事件的問題。該方法也使得模型的Micro F1值由86.5升高至89.7。
本文使用模型在訓練階段loss值的變化情況來衡量模型的訓練難度以及計算資源損耗。將GIT模型與本文DTHIGN-Pipeline模型的loss值變化情況進行對比,分別將兩個模型訓練100個epoch,其結果如圖5與圖6所示。觀察圖中縱坐標,可以發(fā)現(xiàn),GIT模型與本文DTHIGN-Pipeline模型的loss值存在量級差距。主要原因是GIT模型是完整的Joint模型,模型所有的參數(shù)都需要進行訓練,如NER提及的抽取與鏈接等;而本文DTHIGN-Pipeline模型可以利用提前訓練好的NER結果,顯著降低模型的初始loss值從而提高訓練效率。與GIT模型相比,本文DTHIGN-Pipeline模型收斂速度更快,只需要5個epoch就能達到GIT模型在40個epoch時才能達到的性能。除此之外,GIT模型在70個epoch左右初步完成訓練,并進入loss值的震蕩期,最終在臨近第100個epoch時才達到最優(yōu)性能。本文DTHIGN-Pipeline模型在訓練開始后快速收斂,不僅在訓練開始就獲得較低的loss值,也能在30個epoch左右基本完成訓練并快速進入loss值的震蕩期。在訓練時間有限或計算資源有限的情況下,DTHIGN模型對訓練時間的要求更低,對訓練資源的占用率也更低。
圖5 GIT模型訓練階段loss變化曲線
圖6 本文DTHIGN模型訓練階段loss變化曲線
事件圖譜旨在對非結構化文本進行關鍵信息的分析與提取,應用場景十分廣泛。事件抽取作為事件圖譜構建的關鍵環(huán)節(jié),對事件信息提取的完整性與準確性具有重要作用。為此,本文提出了一種基于異質交互圖和有序樹的篇章級事件抽取方法DTHIGN。首先,該方法支持以解耦實體抽取部分的方式精簡模型的參數(shù);其次,構建面向觸發(fā)詞的篇章級異質交互圖從而更全面地對語義進行建模;最后,支持使用基于統(tǒng)一事件模板的樹形事件論元抽取方式獲得事件論元結果。實驗結果表明,該方法在數(shù)據(jù)集上能夠獲得較好的效果并顯著降低模型的訓練難度。下一步工作將主要集中在簡化DTHIGN中樹形結構論元抽取部分,以及研究在低資源情況下DTHIGN的可用性。