孫 盼,王 琪,萬(wàn)懷宇
(北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院交通數(shù)據(jù)分析與挖掘北京市重點(diǎn)實(shí)驗(yàn)室,北京 100044)
腳本事件預(yù)測(cè)任務(wù)對(duì)于許多自然語(yǔ)言理解應(yīng)用至關(guān)重要,例如文本理解[1]、意圖識(shí)別[2]和問(wèn)答系統(tǒng)[3]。腳本事件預(yù)測(cè)任務(wù)定義為:給定特定場(chǎng)景中已經(jīng)發(fā)生的一系列上下文事件,預(yù)測(cè)后續(xù)可能發(fā)生的事件[4]。早期關(guān)于腳本事件預(yù)測(cè)的研究都是基于統(tǒng)計(jì)的方法,例如PMI(Pointwise Mutual Information)[4]和Bigram[5]方法。但是,基于統(tǒng)計(jì)的方法無(wú)法對(duì)訓(xùn)練集中沒(méi)有出現(xiàn)過(guò)的事件進(jìn)行預(yù)測(cè),缺乏泛化性能,極大地限制了模型的預(yù)測(cè)能力。近年來(lái),通過(guò)神經(jīng)網(wǎng)絡(luò)把事件映射至低維稠密的向量空間這一做法可以有效上述問(wèn)題,取得了較好的預(yù)測(cè)效果[6]。目前,基于神經(jīng)網(wǎng)絡(luò)的腳本事件預(yù)測(cè)方法大體上可以分為基于事件對(duì)、基于事件鏈和基于事理圖譜3 類(lèi)方法。雖然基于神經(jīng)網(wǎng)絡(luò)的方法取得了較好的效果,但仍難以有效解決腳本事件預(yù)測(cè)任務(wù)的兩大難點(diǎn),即如何進(jìn)行準(zhǔn)確的事件表示以及如何充分利用事件之間復(fù)雜的相關(guān)性進(jìn)行后續(xù)預(yù)測(cè)。
腳本事件預(yù)測(cè)的一個(gè)難點(diǎn)是如何進(jìn)行事件表示,通常每個(gè)事件用四元組(主語(yǔ)、謂語(yǔ)、賓語(yǔ)及介詞賓語(yǔ))的形式表示。現(xiàn)有的方法把表示事件的4 個(gè)元素的嵌入進(jìn)行拼接或者平均得到整個(gè)事件的表示,即“加性”模型[7]。“加性”模型對(duì)表示事件的詞嵌入有很強(qiáng)的依賴(lài),只能學(xué)習(xí)事件的淺層語(yǔ)義信息,難以區(qū)分兩個(gè)事件之間細(xì)微的區(qū)別。以“X eat apple”和“X establish apple”為例,兩個(gè)事件都包含“apple”,如果僅用“加性”模型把表示事件的詞向量進(jìn)行拼接,會(huì)導(dǎo)致這兩個(gè)事件的表示非常接近,然而這兩個(gè)事件并非相似事件。因此,如何進(jìn)行事件的“非加性”表示是本研究的一個(gè)難點(diǎn)。得到事件的表示之后,現(xiàn)有方法單獨(dú)利用事件鏈的時(shí)序信息或事理圖譜中的事件演化模式進(jìn)行后續(xù)事件預(yù)測(cè),沒(méi)有有效整合這兩類(lèi)信息對(duì)后續(xù)事件進(jìn)行預(yù)測(cè)。因此,如何捕獲時(shí)序信息和事件演化模式并有效融合兩者進(jìn)行事件預(yù)測(cè),是本研究的另一個(gè)難點(diǎn)。
為應(yīng)對(duì)上述挑戰(zhàn),本文提出一種結(jié)合事件鏈和事理圖譜的腳本事件預(yù)測(cè)方法ECGNet。將表示事件的4 個(gè)元素視為一個(gè)長(zhǎng)度為4 的短句輸入到Transformer 編碼器[8],以學(xué)習(xí)事件的深層語(yǔ)義信息得到更準(zhǔn)確的事件表示,并利用基于長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)[9]的長(zhǎng)程時(shí)序(Long Range Temporal Orders module,LRTO)模塊對(duì)敘事事件鏈進(jìn)行學(xué)習(xí),捕獲事件鏈內(nèi)部的時(shí)序信息。同時(shí),設(shè)計(jì)基于圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)[10]的全局事件演化(Global Event Evolutionary Patterns,GEEP)模塊對(duì)事理圖譜進(jìn)行學(xué)習(xí),捕獲事件發(fā)展的演化模式。此外,本文還設(shè)計(jì)一種門(mén)控注意力機(jī)制來(lái)動(dòng)態(tài)融合兩個(gè)模塊學(xué)習(xí)到的信息,從而實(shí)現(xiàn)最終的預(yù)測(cè)。
腳本是指被存放在知識(shí)庫(kù)中用來(lái)進(jìn)行推理的事件序列[11]。2008 年,CHAMBERS 等[4]提出一種可以從新聞文本中無(wú)監(jiān)督地提取大規(guī)模敘事事件鏈的方法。2016 年,GRANROTH-WILDING 等[6]在前人的研究基礎(chǔ)上,提出了多選完形填空(Multiple Choice Narrative Cloze,MCNC)方法來(lái)評(píng)估腳本事件預(yù)測(cè)模型的效果,如圖1 所示。

圖1 多選完形填空樣例Fig.1 Example of MCNC
文獻(xiàn)[4,6]的工作極大地推動(dòng)了腳本事件預(yù)測(cè)領(lǐng)域的發(fā)展,下面對(duì)相關(guān)工作進(jìn)行簡(jiǎn)要介紹。
腳本事件表示是腳本事件預(yù)測(cè)任務(wù)中一個(gè)比較重要的子任務(wù)。文獻(xiàn)[4]在最初的任務(wù)定義中用<predicate;dependency>來(lái)表示一個(gè)事件,這種表示方式被稱(chēng)作predicate-GR。其中,predicate 表示事件的核心動(dòng)詞,dependency 表示事件的主語(yǔ)和核心動(dòng)詞之間的依賴(lài)關(guān)系,例 如“subject”和“object”。pedicate-GR 方式有時(shí)可以包括事件的核心信息,例如<逮捕;obj>,但有時(shí)也會(huì)丟失重要的信息,難以理解事件的真實(shí)含義,例如<去;subj>,此時(shí)“去工作”或者是“去度假”不得而知。為了解決這個(gè)問(wèn)題,文獻(xiàn)[12]提出采用<Arg1;Relation;Arg2>三元組的形式來(lái)表示事件,其中,Arg1 表示事件的主語(yǔ),Arg2 表示事件的賓語(yǔ),Relation 表示事件的核心動(dòng)詞。為了更準(zhǔn)確地表示事件,文獻(xiàn)[13]提出使用(p,a0,a1,a2)四元組的形式來(lái)表示事件,其中p表示事件的核心動(dòng)詞,a0表示事件的主語(yǔ),a1表示事件的賓語(yǔ),a2表示事件的介詞賓語(yǔ)。四元組形式包含的信息更全面,因此,本文也采用這一形式進(jìn)行事件表示。
腳本事件預(yù)測(cè)任務(wù)從二十世紀(jì)七十年代提出至今先后經(jīng)歷了人工編碼階段、基于統(tǒng)計(jì)的階段和基于神經(jīng)網(wǎng)絡(luò)的階段。
第一階段:人工編碼階段。早期的腳本事件預(yù)測(cè)主要依賴(lài)于人工從故事文本中學(xué)習(xí)事件的規(guī)則,然后對(duì)學(xué)習(xí)到的事件進(jìn)行清洗和處理,構(gòu)造專(zhuān)家系統(tǒng)。這類(lèi)人工編碼模型的缺點(diǎn)顯而易見(jiàn):1)人工編碼具有不全面性,對(duì)專(zhuān)家沒(méi)有標(biāo)注過(guò)的故事文本無(wú)法進(jìn)行后續(xù)的預(yù)測(cè);2)人工標(biāo)注無(wú)法處理大規(guī)模的數(shù)據(jù)集,無(wú)法適應(yīng)信息爆炸增長(zhǎng)的當(dāng)代社會(huì)。
第二階段:基于統(tǒng)計(jì)的階段。這一階段的方法借鑒了語(yǔ)言模型的思想,通過(guò)學(xué)習(xí)各個(gè)事件之間的概率分布進(jìn)行腳本事件預(yù)測(cè)。PMI 模型[4]通過(guò)統(tǒng)計(jì)訓(xùn)練集中兩個(gè)事件同時(shí)發(fā)生的頻率來(lái)計(jì)算這兩個(gè)事件同時(shí)發(fā)生的概率,進(jìn)而進(jìn)行后續(xù)事件的預(yù)測(cè)。Bigram 模型[5]則采用二元條件概率來(lái)表示兩個(gè)事件的關(guān)聯(lián)強(qiáng)度。這類(lèi)基于統(tǒng)計(jì)的模型仍然存在表示能力不全面、泛化性能差等問(wèn)題。
第三階段:基于神經(jīng)網(wǎng)絡(luò)的階段。這一階段方法主要分為:基于事件對(duì)的方法,例如Word2Vec[14]和EventComp[6];基于事件鏈的方法,例如PairLSTM[15]和SAM-Net[16];基于事理圖譜圖的方法,例如SGNN[17]。該階段的方法都是將事件映射成低維稠密的向量進(jìn)行后續(xù)預(yù)測(cè)。具體而言,基于事件對(duì)的方法重點(diǎn)關(guān)注敘事事件鏈中的事件和候選集中的事件之間的相關(guān)性,利用事件對(duì)的相關(guān)性進(jìn)行后續(xù)事件預(yù)測(cè),這類(lèi)方法完全忽略了敘事事件鏈中各個(gè)事件之間的時(shí)序關(guān)系。基于事件鏈的方法重點(diǎn)關(guān)注敘事事件鏈中各個(gè)事件之間的時(shí)序信息,采用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)捕獲敘事事件鏈的時(shí)序信息,進(jìn)而對(duì)后續(xù)事件進(jìn)行預(yù)測(cè),這類(lèi)方法對(duì)類(lèi)似于圖2 中展示的網(wǎng)絡(luò)購(gòu)票觀影這種鏈?zhǔn)綀?chǎng)景下的事件預(yù)測(cè)非常有效。

圖2 鏈?zhǔn)绞录纠鼺ig.2 Example of chain events
目前基于事理圖譜的方法研究較少,文獻(xiàn)[17]提出根據(jù)訓(xùn)練集中所有的敘事事件鏈構(gòu)建事理圖譜,通過(guò)學(xué)習(xí)事理圖譜中事件之間的稠密連接關(guān)系進(jìn)行后續(xù)事件預(yù)測(cè),這類(lèi)方法更適用于類(lèi)似于圖3所示的金融貨幣超發(fā)這類(lèi)環(huán)狀場(chǎng)景下的預(yù)測(cè)。

圖3 環(huán)式事件示例Fig.3 Example of ring events
遵循前人的工作,本文采用四元組(p,a0,a1,a2)形式來(lái)表示腳本事件,其中,p表示事件的核心動(dòng)詞,a0表示事件的主語(yǔ),a1表示事件的賓語(yǔ),a2表示事件的介詞賓語(yǔ),a0、a1和a2稱(chēng)為事件的參數(shù)。
腳本事件預(yù)測(cè)的任務(wù)可以描述為:已知特定場(chǎng)景下已經(jīng)發(fā)生的一系列事件{e1,e2,…,en},從候選事件集{ec1,ec2,…,ecm}中選擇接下來(lái)最有可能發(fā)生的事件其中每個(gè)已經(jīng)發(fā)生的事件ei(i∈[1,n])和每個(gè)候選事件ecj(j∈[1,m])都是(p,a0,a1,a2)的形式。本文把已經(jīng)發(fā)生的事件序列稱(chēng)為上下文敘事事件鏈,其中每個(gè)事件稱(chēng)為上下文事件。
本文采用MCNC 作為評(píng)估方法。MCNC 對(duì)腳本事件預(yù)測(cè)任務(wù)進(jìn)行簡(jiǎn)化,大幅縮小候選事件集的范圍,把候選事件集從所有的事件集縮小至有限事件集,即除了正確的后續(xù)事件外,其余的候選事件從事件集中隨機(jī)抽取,并用正確后續(xù)事件的主語(yǔ)替換其他候選事件的主語(yǔ),因此,候選事件集中有且僅有一個(gè)是正確的答案,且所有候選事件共享主語(yǔ)。最后,采用預(yù)測(cè)準(zhǔn)確率評(píng)估模型的有效性。
本文提出的ECGNet 模型將事件視為短句,使用Transformer 學(xué)習(xí)事件內(nèi)部的語(yǔ)義關(guān)聯(lián)從而得到全面的事件表示。同時(shí),設(shè)計(jì)基于LSTM 的長(zhǎng)程時(shí)序模塊來(lái)捕獲事件鏈內(nèi)部的時(shí)序信息,構(gòu)建基于GNN 的全局演化模塊來(lái)捕獲事理圖譜中事件的發(fā)展規(guī)律和演化模式。最后,提出一種門(mén)控注意力機(jī)制來(lái)動(dòng)態(tài)融合時(shí)序信息和演化信息進(jìn)行后續(xù)事件預(yù)測(cè)。
具體而言,ECGNet 模型共分為4 個(gè)模塊(如圖4所示):

圖4 ECGNet 模型的整體架構(gòu)Fig.4 Overall architecture of ECGNet model
1)事件表示層,把每個(gè)腳本事件映射至低維稠密的向量空間。
2)長(zhǎng)程時(shí)序模塊(LRTO),通過(guò)LSTM 對(duì)敘事事件鏈中的上下文事件進(jìn)行建模,得到融合時(shí)序信息的事件表示。
3)全局事件演化模塊(GEEP),根據(jù)訓(xùn)練集中所有的敘事事件鏈構(gòu)建事理圖譜,然后利用GNN 學(xué)習(xí)融合演化模式的事件表示。
4)門(mén)控注意力層,通過(guò)門(mén)控注意力機(jī)制動(dòng)態(tài)融合LRTO 模塊學(xué)習(xí)到的事件表示和GEEP 模塊學(xué)習(xí)到的事件表示,進(jìn)行后續(xù)事件預(yù)測(cè)。
事件表示層的作用是把每個(gè)輸入事件編碼為一個(gè)低維稠密的向量。輸入是表示每個(gè)事件的4 個(gè)元素的初始詞嵌入(通過(guò)GloVe 方法[18]預(yù)訓(xùn)練得到的d維詞向量),初始詞嵌入在后續(xù)模型的訓(xùn)練過(guò)程中可以通過(guò)學(xué)習(xí)微調(diào)。對(duì)于少于3 個(gè)參數(shù)的事件,用“NULL”填充缺失的參數(shù)。例如對(duì)事件“Tom orders food”,其中,p為“order”,a0為“Tom”,a1為“food”,a2為“NULL”。簡(jiǎn)單起見(jiàn),使用零向量來(lái)表示“NULL”和不在詞表中的詞。
為學(xué)習(xí)表示事件的4 個(gè)元素之間豐富的語(yǔ)義關(guān)聯(lián),本文提出把每個(gè)事件視為長(zhǎng)度為4 的短句,并采用Transformer 編碼器學(xué)習(xí)每個(gè)元素的嵌入。每個(gè)事件的四元素的初始詞嵌入{νp,νa0,νa1,νa2}經(jīng) 過(guò)Transformer 編碼之后得到{zp,za0,za1,za2},然后通過(guò)式(1)把4 個(gè)元素的詞嵌入進(jìn)行拼接作為整個(gè)事件表示:

其中:zp,za0,za1,za2∈Rd;[]表示拼接操作。因此,該層對(duì)于每個(gè)事件e的輸出是ν(e)∈R4d。
長(zhǎng)程時(shí)序模塊(LRTO)采用LSTM 來(lái)學(xué)習(xí)上下文事件鏈中的時(shí)序信息。輸入是上下文敘事事件鏈{ν(e1),ν(e2),…,ν(en)|ν(ei)∈R4d,i∈[1,n]}和對(duì)應(yīng)的候選集{ν(ec1),ν(ec2),…,ν(ecm)|ν(ecj)∈R4d,j∈[1,m]}。按照順序把上下文事件序列{ν(e1),ν(e2),…,ν(en)}輸入LSTM 中,根據(jù)式(2)得到每個(gè)事件ei的隱藏表示hi:

其中:hi∈Ru,其包括從事件e1到事件ei的長(zhǎng)程時(shí)序語(yǔ)義信息;u是LSTM 層的隱藏狀態(tài)維度。初始隱藏狀態(tài)h0和所有的LSTM 參數(shù)通過(guò)隨機(jī)初始化產(chǎn)生。通過(guò)式(2)可以得到每個(gè)上下文事件鏈的隱藏表示序列{h1,h2,…,hn}。
對(duì)于每個(gè)事件鏈所對(duì)應(yīng)的候選事件集,把其中每個(gè)候選事件拼接至敘事事件鏈的末端。具體而言,對(duì)于每個(gè)候選事件ecj,LSTM 的輸入為當(dāng)前候選事件的表示ν(ecj)和敘事事件鏈末端事件en的隱藏表示hn,根據(jù)式(3)得到其對(duì)應(yīng)的隱藏表示hcj:

其中:hcj∈Ru,其包含上下文事件鏈的信息和當(dāng)前候選事件的信息。通過(guò)式(3)可以得到所有候選事件的表示{hc1,hc2,…,hcm}。
最后,把n個(gè)上下文事件的隱藏表示和m個(gè)候選事件的隱藏表示根據(jù)式(4)表示為H∈R(m+n)×u:

全局事件演化模塊(GEEP)旨在通過(guò)構(gòu)造事理圖譜來(lái)學(xué)習(xí)事件演化模式,以指導(dǎo)后續(xù)事件的預(yù)測(cè)。GEEP 模塊分為兩個(gè)步驟:1)根據(jù)訓(xùn)練集中的敘事事件鏈構(gòu)建事理圖譜;2)使用可縮放的圖神經(jīng)網(wǎng)絡(luò)(Scaled Graph Neural Network,SGNN)[16]學(xué)習(xí)隱藏在事理圖譜中的事件演化模式。
3.3.1 事理圖譜構(gòu)建
本文把事理圖譜(Event Evolutionary Graph,EEG)形式化表示為EEG={V,Q},其中,V表示節(jié)點(diǎn)集,Q表示邊集。為了緩解稀疏性問(wèn)題,節(jié)點(diǎn)集中的節(jié)點(diǎn)用每個(gè)事件的謂語(yǔ)動(dòng)詞p表示。節(jié)點(diǎn)pi和pj之間的邊權(quán)重w(pi,pj)表示在事件pi發(fā)生的條件下,pj發(fā)生的可能性,其計(jì)算過(guò)程如式(5)所示:

其中:ccount(pi,pj)表示事件pi和pj在訓(xùn)練集的事件鏈中同時(shí)出現(xiàn)的次數(shù)。構(gòu)建完事理圖譜后,采用SGNN 對(duì)事理圖譜進(jìn)行學(xué)習(xí)。
3.3.2 基于SGNN 的事理圖譜學(xué)習(xí)
為了節(jié)省計(jì)算資源和提高效率,把每個(gè)事件鏈視為一個(gè)子圖輸入門(mén)控圖神經(jīng)網(wǎng)絡(luò)(Gated Graph Neural Network,GGNN)[19]學(xué)習(xí)事件鏈中每個(gè)事件的表示,這種把子圖作為輸入的圖神經(jīng)網(wǎng)絡(luò)被稱(chēng)為可縮放的門(mén)控圖神經(jīng)網(wǎng)絡(luò)(SGNN)[17]。SGNN 的輸入分為兩部分:一部分是敘事事件鏈的所有事件表示E,另一部分是子圖的鄰接矩陣A。事件表示E如式(6)所示,子圖的鄰接矩陣A從全局事理圖譜中抽取,抽取過(guò)程如式(7)所示:

SGNN 的計(jì)算過(guò)程如式(8)~式(12)所示:

式(8)是指子圖的節(jié)點(diǎn)通過(guò)鄰接矩陣進(jìn)行消息的傳遞,式(9)~式(12)和GRU 類(lèi)似,通過(guò)t-1 時(shí)刻的信息和其他節(jié)點(diǎn)來(lái)更新t時(shí)刻節(jié)點(diǎn)的狀態(tài)。z(t)是更新門(mén),r(t)是重置門(mén),σ是sigmoid 激活函數(shù),⊙是按位相乘。GEEP 模塊的輸出為t時(shí)刻的節(jié)點(diǎn)表示E(t),為了下文表述方便,把GEEP 模塊的輸出簡(jiǎn)單記為E,E和LRTO 模塊的輸出H具有相同的維度。
門(mén)控注意力層的輸入是LRTO 模塊的輸出H∈R(m+n)×u和GEEP模塊的輸出E∈R(m+n)×u。為了解決時(shí)序信息和圖信息對(duì)不同的樣本預(yù)測(cè)的重要程度不同這一問(wèn)題[20],本文提出一種門(mén)控機(jī)制G來(lái)表示時(shí)序信息和演化模式的重要程度,計(jì)算過(guò)程如式(13)所示:

其 中:G∈R(m+n)×u;[H,E]∈R(m+n)×2u表 示H和E的 拼接;Wg∈R2u×u是權(quán)重矩陣;bg是偏置項(xiàng)。原始的H和E根據(jù)式(14)和式(15)得到新的Hg和Eg:

其中:⊙指按位相乘;Hg和Eg與原來(lái)的維度相同。
得到Hg之后,把Hg分為兩部分:上下文事件和候選事件∈Rm×u。根據(jù)式(16)得到上下文事件和候選事件的權(quán)重矩陣α∈Rn×m。根據(jù)式(17)得到上下文事件鏈對(duì)于候選事件的代表向量νh∈Rm×u,最后把該代表向量與候選事件之間的余弦相似性作為候選事件的得分sh,如式(18)所示:

得到Eg后,GEEP模塊對(duì)每個(gè)候選事件的打分sg根據(jù)同樣的方式計(jì)算得到,計(jì)算過(guò)程如式(19)~式(21)所示:

在此基礎(chǔ)上,通過(guò)式(22)計(jì)算候選事件ecj(j∈[1,m])的最終得分sscore(ecj):

其中:w是可學(xué)習(xí)的參數(shù)。
最后,對(duì)于每個(gè)敘事事件鏈對(duì)應(yīng)的m個(gè)候選事件,采用softmax 計(jì)算每個(gè)候選事件最終的發(fā)生概率,如式(23)所示,選擇發(fā)生概率最高的事件作為模型的輸出,如式(24)所示:

給定一系列的敘事事件鏈和候選事件集,訓(xùn)練目標(biāo)是最小化式(25)所示的邊界損失函數(shù):

其中:N是事件鏈的條數(shù);m是敘事事件鏈對(duì)應(yīng)的候選集的大小;sIj表示第I個(gè)敘事事件鏈對(duì)第j個(gè)候選事件的打分;y表示正確后續(xù)事件的標(biāo)簽;γ是邊界損失函數(shù)的參數(shù),在本文中設(shè)置為0.015;λ是L2正則項(xiàng)的懲罰因子,在本文中設(shè)置為1e-8;θ表示模型的所有參數(shù)。在驗(yàn)證集上調(diào)整所有的超參數(shù)。每輪訓(xùn)練樣本數(shù)為1 000,丟棄率為0.4,初始詞嵌入為128 維,SGNN 的層數(shù)設(shè)置為2 層,學(xué)習(xí)率為0.000 1,在訓(xùn)練過(guò)程中使用RMS 優(yōu)化算法。
本文采用MCNC 評(píng)估方法,將ECGNet 模型和多個(gè)當(dāng)前最新的基線模型進(jìn)行對(duì)比,驗(yàn)證其有效性。
本文使用兩個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。一個(gè)是文獻(xiàn)[17]公開(kāi)的NYT 英文數(shù)據(jù)集,該數(shù)據(jù)集從Gigaword 語(yǔ)料庫(kù)的紐約時(shí)報(bào)部分中進(jìn)行提取。NYT 數(shù)據(jù)集共包括160 331 個(gè)樣本,本文按照140 331∶10 000∶10 000 的比例劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集
由于目前為止腳本事件預(yù)測(cè)領(lǐng)域僅有一個(gè)公開(kāi)的英文數(shù)據(jù)集,因此本文基于文獻(xiàn)[21]收集的新浪新聞?wù)Z料庫(kù)處理了一個(gè)中文數(shù)據(jù)集,命名為SinaNews。原始新聞?wù)Z料庫(kù)由不同系列主題的新聞組成,每個(gè)系列包含了同一主題的眾多新聞文章。本文把同一主題下的新聞按照時(shí)間順序視為敘事事件鏈,每則新聞被視為一個(gè)事件,由于新聞的標(biāo)題包含了該則新聞的主要內(nèi)容,因此本文僅使用新聞標(biāo)題作為事件。具體處理流程按照以下步驟進(jìn)行:
1)劃分?jǐn)⑹率录湣⒚總€(gè)主題下的新聞按照時(shí)間順序劃分,每5 則新聞為一組,一組新聞被視為一個(gè)事件鏈。其中前4 則新聞作為上下文事件,最后一則新聞作為要預(yù)測(cè)的新聞事件,即預(yù)測(cè)標(biāo)簽。經(jīng)過(guò)劃分,得到147 622 個(gè)來(lái)自不同主題的新聞事件鏈,按照127 622∶10 000∶10 000 的比例劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集。
2)抽取新聞事件。通過(guò)依賴(lài)解析從每則新聞標(biāo)題中抽取事件的相關(guān)要素(主語(yǔ)、謂語(yǔ)、賓語(yǔ)、介詞賓語(yǔ))。依賴(lài)解析工具為HanLP[22]。
3)構(gòu)造候選事件集。遵循MCNC 標(biāo)準(zhǔn),本文對(duì)每個(gè)敘事事件鏈構(gòu)造候選事件集,把每組新聞中的最后一則新聞作為標(biāo)簽,從事件集中隨機(jī)抽取m-1則新聞,用標(biāo)簽事件的主語(yǔ)替換隨機(jī)選取的新聞事件的主語(yǔ)。因此,候選集中有且僅有一個(gè)正確的后續(xù)事件,且候選集中的所有的事件共享主語(yǔ)。
為了對(duì)ECGNet 模型的效果進(jìn)行全面評(píng)估,本文分別選擇了經(jīng)典的基于統(tǒng)計(jì)學(xué)和事件對(duì)的腳本事件預(yù)測(cè)方法,以及最新的基于事件鏈和事理圖譜的方法作為基線模型:PMI[4]和Bigram[5]是基于統(tǒng)計(jì)的模型;Word2Vec[14]和EventComp[6]是基于事件對(duì)的模型,它們通過(guò)學(xué)習(xí)上下文事件和候選事件對(duì)之間的關(guān)系對(duì)后續(xù)事件預(yù)測(cè)的影響;PairLSTM[15]、HierLSTM[21]和SAM-Net[16]是基于事件鏈的方法,它們通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)敘事事件鏈的時(shí)序信息進(jìn)行后續(xù)事件預(yù)測(cè);SGNN[17]是一種基于事理圖譜的方法,其構(gòu)造敘事事理圖譜描述事件之間的發(fā)展規(guī)律,并提出采用可縮放的圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)事理圖譜中的事件表示進(jìn)行后續(xù)事件預(yù)測(cè)。
ECGNet 和基線模型在測(cè)試集上的結(jié)果如表1所示。根據(jù)表中的結(jié)果能夠得到以下結(jié)論:

表1 不同模型的準(zhǔn)確率Table 1 Accuracy of different models %
1)EventComp、PairLSTM 和其他的神經(jīng)網(wǎng)絡(luò)模型效果優(yōu)于統(tǒng)計(jì)模型。這是因?yàn)榛诮y(tǒng)計(jì)的模型無(wú)法應(yīng)對(duì)稀疏性和泛化性的問(wèn)題。
2)基于事件鏈和事理圖譜的方法與基于事件對(duì)的方法相比效果有所提升,證明了僅考慮上下文事件和候選事件對(duì)之間的關(guān)系進(jìn)行后續(xù)事件預(yù)測(cè)是不夠的。基于事件鏈的方法和基于事理圖譜的方法取得了較好的實(shí)驗(yàn)效果。這證明了時(shí)序信息和事件演化模式對(duì)后續(xù)事件的預(yù)測(cè)的重要性。
3)本文提出的ECGNet 模型取得的實(shí)驗(yàn)效果優(yōu)于所有基線模型且提升明顯(在兩個(gè)數(shù)據(jù)集上均比次優(yōu)模型提升預(yù)測(cè)準(zhǔn)確率3%以上),這充分證明了同時(shí)利用時(shí)序信息和演化模式進(jìn)行后續(xù)事件預(yù)測(cè)是非常重要的。此外,ECGNet 模型在中英文數(shù)據(jù)集上均取得了最好的實(shí)驗(yàn)效果,也驗(yàn)證了模型的魯棒性。
本節(jié)采用一系列對(duì)比實(shí)驗(yàn)驗(yàn)證事件表示方法對(duì)預(yù)測(cè)結(jié)果的影響。不同方法的輸入均為一個(gè)事件的4 個(gè)元素的詞嵌入,輸出為該事件的表示。“Concat”方法把事件的4 個(gè)元素的詞嵌入進(jìn)行拼接作為事件表示。“Average”方法把4 個(gè)元素的詞嵌入進(jìn)行平均作為事件表示。“Comp”方法遵循前人的研究,采用tanh 層把4 個(gè)元素進(jìn)行組合得到事件的表示,計(jì)算過(guò)程如式(26)所示:

“LSTM”方法把4 個(gè)元素輸入LSTM,然后把每個(gè)元素的隱藏狀態(tài)進(jìn)行拼接作為事件表示。“Transformer”是ECGNet 的事件表示層。
不同的事件表示方法的實(shí)驗(yàn)結(jié)果如表2 所示。根據(jù)表中的結(jié)果可以發(fā)現(xiàn):“Average”方法在兩個(gè)數(shù)據(jù)集上的表現(xiàn)最差,這是因?yàn)榘迅鱾€(gè)元素的詞嵌入進(jìn)行簡(jiǎn)單的平均會(huì)丟失一些特征;“LSTM”方法考慮到了表示一個(gè)事件的4 個(gè)元素之間的時(shí)序信息,因此取得了比“Concat”和“Comp”更好的實(shí)驗(yàn)效果;ECGNet 模型采用Transformer 編碼器進(jìn)行事件表示,在兩個(gè)數(shù)據(jù)集上都取得了最好的效果。這也驗(yàn)證了本文的假設(shè):事件內(nèi)部的4 個(gè)元素之間的時(shí)序語(yǔ)義信息對(duì)于事件表示和后續(xù)預(yù)測(cè)是非常重要的,Transformer 編碼器能夠較好地捕獲這些時(shí)序和語(yǔ)義信息,從而獲得更好的預(yù)測(cè)效果。

表2 不同事件表示方法的準(zhǔn)確率Table 2 Accuracy of different event representation methods %
本節(jié)通過(guò)消融實(shí)驗(yàn),驗(yàn)證ECGNet 各個(gè)模塊的效果,結(jié)果如表3 所示。

表3 消融實(shí)驗(yàn)結(jié)果Table 3 Ablation experiment results %
對(duì)表3 中的結(jié)果進(jìn)行分析,具體如下:
“-ER”表示去掉事件表示層,簡(jiǎn)單地把事件的4 個(gè)元素的詞嵌入進(jìn)行拼接作為事件表示進(jìn)行后續(xù)預(yù)測(cè)。去掉事件表示層之后在NYT 和SinaNews 上準(zhǔn)確率分別下降了3.77 和3.26 個(gè)百分點(diǎn),驗(yàn)證了事件表示對(duì)于后續(xù)事件預(yù)測(cè)有著至關(guān)重要的作用。
“-LRTO”表示去掉LRTO 模塊,只考慮事理圖譜中的事件發(fā)展規(guī)律和演化模式,使用GEEP 模塊得到的事件表示進(jìn)行后續(xù)預(yù)測(cè)。去掉LRTO 模塊之后,實(shí)驗(yàn)效果有明顯的下降,這證明了敘事事件鏈中上下文事件之間的時(shí)序特征不可忽視。
“-GEEP”表示去掉GEEP 模塊,只考慮敘事事件鏈中的時(shí)序信息,使用LRTO 模塊得到的事件表示進(jìn)行后續(xù)預(yù)測(cè)。從實(shí)驗(yàn)結(jié)果可以看到,去掉GEEP模塊后,預(yù)測(cè)效果明顯下降,驗(yàn)證了事理圖譜中的事件演化模式對(duì)于腳本事件預(yù)測(cè)任務(wù)是非常重要的。
“-Gated M-att”表示去掉門(mén)控注意力層,在LRTO 模塊和GEEP 模塊分別使用注意力機(jī)制對(duì)候選事件進(jìn)行打分,將兩個(gè)模塊對(duì)候選事件的打分進(jìn)行相加作為該候選事件的得分。實(shí)驗(yàn)結(jié)果證明了本文提出的門(mén)控注意力機(jī)制能夠動(dòng)態(tài)融合時(shí)序信息和演化模式,進(jìn)行后續(xù)事件預(yù)測(cè)。
由于去掉事件表示層后預(yù)測(cè)效果下降明顯,本文設(shè)置了“Transformer+att”實(shí)驗(yàn),即通過(guò)Transformer 學(xué)習(xí)到事件表示之后,使用注意力機(jī)制和softmax 層進(jìn)行后續(xù)事件預(yù)測(cè)。實(shí)驗(yàn)結(jié)果表明,即使Transformer 具有強(qiáng)大的表示學(xué)習(xí)能力,但仍然需要結(jié)合敘事事件鏈中的時(shí)序信息和事理圖譜中的全局事件演化模式,才能取得更好的預(yù)測(cè)效果。
本文針對(duì)腳本事件預(yù)測(cè)事件表示不全面、信息融合不充分等問(wèn)題,提出一種動(dòng)態(tài)融合事件鏈和事理圖譜的模型ECGNet。在NYT 英文數(shù)據(jù)集和SinaNews中文數(shù)據(jù)集上,使用預(yù)測(cè)準(zhǔn)確率作為評(píng)估標(biāo)準(zhǔn),ECGNet模型取得了較好的效果。此外,本文還進(jìn)行了事件表示探究實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明使用Transformer 編碼器學(xué)習(xí)事件表示的方法非常有效。同時(shí),消融實(shí)驗(yàn)也驗(yàn)證了ECGNet 模型各個(gè)模塊的有效性。本文模型只對(duì)事件鏈中的時(shí)序信息和事理圖譜信息進(jìn)行了融合,下一步將通過(guò)深度整合知識(shí)圖譜和事理圖譜,進(jìn)一步提升腳本事件預(yù)測(cè)的準(zhǔn)確率。