孫 盼,王 琪,萬懷宇
(北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院交通數(shù)據(jù)分析與挖掘北京市重點(diǎn)實(shí)驗(yàn)室,北京 100044)
腳本事件預(yù)測任務(wù)對于許多自然語言理解應(yīng)用至關(guān)重要,例如文本理解[1]、意圖識別[2]和問答系統(tǒng)[3]。腳本事件預(yù)測任務(wù)定義為:給定特定場景中已經(jīng)發(fā)生的一系列上下文事件,預(yù)測后續(xù)可能發(fā)生的事件[4]。早期關(guān)于腳本事件預(yù)測的研究都是基于統(tǒng)計(jì)的方法,例如PMI(Pointwise Mutual Information)[4]和Bigram[5]方法。但是,基于統(tǒng)計(jì)的方法無法對訓(xùn)練集中沒有出現(xiàn)過的事件進(jìn)行預(yù)測,缺乏泛化性能,極大地限制了模型的預(yù)測能力。近年來,通過神經(jīng)網(wǎng)絡(luò)把事件映射至低維稠密的向量空間這一做法可以有效上述問題,取得了較好的預(yù)測效果[6]。目前,基于神經(jīng)網(wǎng)絡(luò)的腳本事件預(yù)測方法大體上可以分為基于事件對、基于事件鏈和基于事理圖譜3 類方法。雖然基于神經(jīng)網(wǎng)絡(luò)的方法取得了較好的效果,但仍難以有效解決腳本事件預(yù)測任務(wù)的兩大難點(diǎn),即如何進(jìn)行準(zhǔn)確的事件表示以及如何充分利用事件之間復(fù)雜的相關(guān)性進(jìn)行后續(xù)預(yù)測。
腳本事件預(yù)測的一個(gè)難點(diǎn)是如何進(jìn)行事件表示,通常每個(gè)事件用四元組(主語、謂語、賓語及介詞賓語)的形式表示?,F(xiàn)有的方法把表示事件的4 個(gè)元素的嵌入進(jìn)行拼接或者平均得到整個(gè)事件的表示,即“加性”模型[7]。“加性”模型對表示事件的詞嵌入有很強(qiáng)的依賴,只能學(xué)習(xí)事件的淺層語義信息,難以區(qū)分兩個(gè)事件之間細(xì)微的區(qū)別。以“X eat apple”和“X establish apple”為例,兩個(gè)事件都包含“apple”,如果僅用“加性”模型把表示事件的詞向量進(jìn)行拼接,會導(dǎo)致這兩個(gè)事件的表示非常接近,然而這兩個(gè)事件并非相似事件。因此,如何進(jìn)行事件的“非加性”表示是本研究的一個(gè)難點(diǎn)。得到事件的表示之后,現(xiàn)有方法單獨(dú)利用事件鏈的時(shí)序信息或事理圖譜中的事件演化模式進(jìn)行后續(xù)事件預(yù)測,沒有有效整合這兩類信息對后續(xù)事件進(jìn)行預(yù)測。因此,如何捕獲時(shí)序信息和事件演化模式并有效融合兩者進(jìn)行事件預(yù)測,是本研究的另一個(gè)難點(diǎn)。
為應(yīng)對上述挑戰(zhàn),本文提出一種結(jié)合事件鏈和事理圖譜的腳本事件預(yù)測方法ECGNet。將表示事件的4 個(gè)元素視為一個(gè)長度為4 的短句輸入到Transformer 編碼器[8],以學(xué)習(xí)事件的深層語義信息得到更準(zhǔn)確的事件表示,并利用基于長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)[9]的長程時(shí)序(Long Range Temporal Orders module,LRTO)模塊對敘事事件鏈進(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)模塊對事理圖譜進(jìn)行學(xué)習(xí),捕獲事件發(fā)展的演化模式。此外,本文還設(shè)計(jì)一種門控注意力機(jī)制來動(dòng)態(tài)融合兩個(gè)模塊學(xué)習(xí)到的信息,從而實(shí)現(xiàn)最終的預(yù)測。
腳本是指被存放在知識庫中用來進(jìn)行推理的事件序列[11]。2008 年,CHAMBERS 等[4]提出一種可以從新聞文本中無監(jiān)督地提取大規(guī)模敘事事件鏈的方法。2016 年,GRANROTH-WILDING 等[6]在前人的研究基礎(chǔ)上,提出了多選完形填空(Multiple Choice Narrative Cloze,MCNC)方法來評估腳本事件預(yù)測模型的效果,如圖1 所示。
圖1 多選完形填空樣例Fig.1 Example of MCNC
文獻(xiàn)[4,6]的工作極大地推動(dòng)了腳本事件預(yù)測領(lǐng)域的發(fā)展,下面對相關(guān)工作進(jìn)行簡要介紹。
腳本事件表示是腳本事件預(yù)測任務(wù)中一個(gè)比較重要的子任務(wù)。文獻(xiàn)[4]在最初的任務(wù)定義中用<predicate;dependency>來表示一個(gè)事件,這種表示方式被稱作predicate-GR。其中,predicate 表示事件的核心動(dòng)詞,dependency 表示事件的主語和核心動(dòng)詞之間的依賴關(guān)系,例 如“subject”和“object”。pedicate-GR 方式有時(shí)可以包括事件的核心信息,例如<逮捕;obj>,但有時(shí)也會丟失重要的信息,難以理解事件的真實(shí)含義,例如<去;subj>,此時(shí)“去工作”或者是“去度假”不得而知。為了解決這個(gè)問題,文獻(xiàn)[12]提出采用<Arg1;Relation;Arg2>三元組的形式來表示事件,其中,Arg1 表示事件的主語,Arg2 表示事件的賓語,Relation 表示事件的核心動(dòng)詞。為了更準(zhǔn)確地表示事件,文獻(xiàn)[13]提出使用(p,a0,a1,a2)四元組的形式來表示事件,其中p表示事件的核心動(dòng)詞,a0表示事件的主語,a1表示事件的賓語,a2表示事件的介詞賓語。四元組形式包含的信息更全面,因此,本文也采用這一形式進(jìn)行事件表示。
腳本事件預(yù)測任務(wù)從二十世紀(jì)七十年代提出至今先后經(jīng)歷了人工編碼階段、基于統(tǒng)計(jì)的階段和基于神經(jīng)網(wǎng)絡(luò)的階段。
第一階段:人工編碼階段。早期的腳本事件預(yù)測主要依賴于人工從故事文本中學(xué)習(xí)事件的規(guī)則,然后對學(xué)習(xí)到的事件進(jìn)行清洗和處理,構(gòu)造專家系統(tǒng)。這類人工編碼模型的缺點(diǎn)顯而易見:1)人工編碼具有不全面性,對專家沒有標(biāo)注過的故事文本無法進(jìn)行后續(xù)的預(yù)測;2)人工標(biāo)注無法處理大規(guī)模的數(shù)據(jù)集,無法適應(yīng)信息爆炸增長的當(dāng)代社會。
第二階段:基于統(tǒng)計(jì)的階段。這一階段的方法借鑒了語言模型的思想,通過學(xué)習(xí)各個(gè)事件之間的概率分布進(jìn)行腳本事件預(yù)測。PMI 模型[4]通過統(tǒng)計(jì)訓(xùn)練集中兩個(gè)事件同時(shí)發(fā)生的頻率來計(jì)算這兩個(gè)事件同時(shí)發(fā)生的概率,進(jìn)而進(jìn)行后續(xù)事件的預(yù)測。Bigram 模型[5]則采用二元條件概率來表示兩個(gè)事件的關(guān)聯(lián)強(qiáng)度。這類基于統(tǒng)計(jì)的模型仍然存在表示能力不全面、泛化性能差等問題。
第三階段:基于神經(jīng)網(wǎng)絡(luò)的階段。這一階段方法主要分為:基于事件對的方法,例如Word2Vec[14]和EventComp[6];基于事件鏈的方法,例如PairLSTM[15]和SAM-Net[16];基于事理圖譜圖的方法,例如SGNN[17]。該階段的方法都是將事件映射成低維稠密的向量進(jìn)行后續(xù)預(yù)測。具體而言,基于事件對的方法重點(diǎn)關(guān)注敘事事件鏈中的事件和候選集中的事件之間的相關(guān)性,利用事件對的相關(guān)性進(jìn)行后續(xù)事件預(yù)測,這類方法完全忽略了敘事事件鏈中各個(gè)事件之間的時(shí)序關(guān)系?;谑录湹姆椒ㄖ攸c(diǎn)關(guān)注敘事事件鏈中各個(gè)事件之間的時(shí)序信息,采用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)捕獲敘事事件鏈的時(shí)序信息,進(jìn)而對后續(xù)事件進(jìn)行預(yù)測,這類方法對類似于圖2 中展示的網(wǎng)絡(luò)購票觀影這種鏈?zhǔn)綀鼍跋碌氖录A(yù)測非常有效。
圖2 鏈?zhǔn)绞录纠鼺ig.2 Example of chain events
目前基于事理圖譜的方法研究較少,文獻(xiàn)[17]提出根據(jù)訓(xùn)練集中所有的敘事事件鏈構(gòu)建事理圖譜,通過學(xué)習(xí)事理圖譜中事件之間的稠密連接關(guān)系進(jìn)行后續(xù)事件預(yù)測,這類方法更適用于類似于圖3所示的金融貨幣超發(fā)這類環(huán)狀場景下的預(yù)測。
圖3 環(huán)式事件示例Fig.3 Example of ring events
遵循前人的工作,本文采用四元組(p,a0,a1,a2)形式來表示腳本事件,其中,p表示事件的核心動(dòng)詞,a0表示事件的主語,a1表示事件的賓語,a2表示事件的介詞賓語,a0、a1和a2稱為事件的參數(shù)。
腳本事件預(yù)測的任務(wù)可以描述為:已知特定場景下已經(jīng)發(fā)生的一系列事件{e1,e2,…,en},從候選事件集{ec1,ec2,…,ecm}中選擇接下來最有可能發(fā)生的事件其中每個(gè)已經(jīng)發(fā)生的事件ei(i∈[1,n])和每個(gè)候選事件ecj(j∈[1,m])都是(p,a0,a1,a2)的形式。本文把已經(jīng)發(fā)生的事件序列稱為上下文敘事事件鏈,其中每個(gè)事件稱為上下文事件。
本文采用MCNC 作為評估方法。MCNC 對腳本事件預(yù)測任務(wù)進(jìn)行簡化,大幅縮小候選事件集的范圍,把候選事件集從所有的事件集縮小至有限事件集,即除了正確的后續(xù)事件外,其余的候選事件從事件集中隨機(jī)抽取,并用正確后續(xù)事件的主語替換其他候選事件的主語,因此,候選事件集中有且僅有一個(gè)是正確的答案,且所有候選事件共享主語。最后,采用預(yù)測準(zhǔn)確率評估模型的有效性。
本文提出的ECGNet 模型將事件視為短句,使用Transformer 學(xué)習(xí)事件內(nèi)部的語義關(guān)聯(lián)從而得到全面的事件表示。同時(shí),設(shè)計(jì)基于LSTM 的長程時(shí)序模塊來捕獲事件鏈內(nèi)部的時(shí)序信息,構(gòu)建基于GNN 的全局演化模塊來捕獲事理圖譜中事件的發(fā)展規(guī)律和演化模式。最后,提出一種門控注意力機(jī)制來動(dòng)態(tài)融合時(shí)序信息和演化信息進(jìn)行后續(xù)事件預(yù)測。
具體而言,ECGNet 模型共分為4 個(gè)模塊(如圖4所示):
圖4 ECGNet 模型的整體架構(gòu)Fig.4 Overall architecture of ECGNet model
1)事件表示層,把每個(gè)腳本事件映射至低維稠密的向量空間。
2)長程時(shí)序模塊(LRTO),通過LSTM 對敘事事件鏈中的上下文事件進(jìn)行建模,得到融合時(shí)序信息的事件表示。
3)全局事件演化模塊(GEEP),根據(jù)訓(xùn)練集中所有的敘事事件鏈構(gòu)建事理圖譜,然后利用GNN 學(xué)習(xí)融合演化模式的事件表示。
4)門控注意力層,通過門控注意力機(jī)制動(dòng)態(tài)融合LRTO 模塊學(xué)習(xí)到的事件表示和GEEP 模塊學(xué)習(xí)到的事件表示,進(jìn)行后續(xù)事件預(yù)測。
事件表示層的作用是把每個(gè)輸入事件編碼為一個(gè)低維稠密的向量。輸入是表示每個(gè)事件的4 個(gè)元素的初始詞嵌入(通過GloVe 方法[18]預(yù)訓(xùn)練得到的d維詞向量),初始詞嵌入在后續(xù)模型的訓(xùn)練過程中可以通過學(xué)習(xí)微調(diào)。對于少于3 個(gè)參數(shù)的事件,用“NULL”填充缺失的參數(shù)。例如對事件“Tom orders food”,其中,p為“order”,a0為“Tom”,a1為“food”,a2為“NULL”。簡單起見,使用零向量來表示“NULL”和不在詞表中的詞。
為學(xué)習(xí)表示事件的4 個(gè)元素之間豐富的語義關(guān)聯(lián),本文提出把每個(gè)事件視為長度為4 的短句,并采用Transformer 編碼器學(xué)習(xí)每個(gè)元素的嵌入。每個(gè)事件的四元素的初始詞嵌入{νp,νa0,νa1,νa2}經(jīng) 過Transformer 編碼之后得到{zp,za0,za1,za2},然后通過式(1)把4 個(gè)元素的詞嵌入進(jìn)行拼接作為整個(gè)事件表示:
其中:zp,za0,za1,za2∈Rd;[]表示拼接操作。因此,該層對于每個(gè)事件e的輸出是ν(e)∈R4d。
長程時(shí)序模塊(LRTO)采用LSTM 來學(xué)習(xí)上下文事件鏈中的時(shí)序信息。輸入是上下文敘事事件鏈{ν(e1),ν(e2),…,ν(en)|ν(ei)∈R4d,i∈[1,n]}和對應(yīng)的候選集{ν(ec1),ν(ec2),…,ν(ecm)|ν(ecj)∈R4d,j∈[1,m]}。按照順序把上下文事件序列{ν(e1),ν(e2),…,ν(en)}輸入LSTM 中,根據(jù)式(2)得到每個(gè)事件ei的隱藏表示hi:
其中:hi∈Ru,其包括從事件e1到事件ei的長程時(shí)序語義信息;u是LSTM 層的隱藏狀態(tài)維度。初始隱藏狀態(tài)h0和所有的LSTM 參數(shù)通過隨機(jī)初始化產(chǎn)生。通過式(2)可以得到每個(gè)上下文事件鏈的隱藏表示序列{h1,h2,…,hn}。
對于每個(gè)事件鏈所對應(yīng)的候選事件集,把其中每個(gè)候選事件拼接至敘事事件鏈的末端。具體而言,對于每個(gè)候選事件ecj,LSTM 的輸入為當(dāng)前候選事件的表示ν(ecj)和敘事事件鏈末端事件en的隱藏表示hn,根據(jù)式(3)得到其對應(yīng)的隱藏表示hcj:
其中:hcj∈Ru,其包含上下文事件鏈的信息和當(dāng)前候選事件的信息。通過式(3)可以得到所有候選事件的表示{hc1,hc2,…,hcm}。
最后,把n個(gè)上下文事件的隱藏表示和m個(gè)候選事件的隱藏表示根據(jù)式(4)表示為H∈R(m+n)×u:
全局事件演化模塊(GEEP)旨在通過構(gòu)造事理圖譜來學(xué)習(xí)事件演化模式,以指導(dǎo)后續(xù)事件的預(yù)測。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表示邊集。為了緩解稀疏性問題,節(jié)點(diǎn)集中的節(jié)點(diǎn)用每個(gè)事件的謂語動(dòng)詞p表示。節(jié)點(diǎn)pi和pj之間的邊權(quán)重w(pi,pj)表示在事件pi發(fā)生的條件下,pj發(fā)生的可能性,其計(jì)算過程如式(5)所示:
其中:ccount(pi,pj)表示事件pi和pj在訓(xùn)練集的事件鏈中同時(shí)出現(xiàn)的次數(shù)。構(gòu)建完事理圖譜后,采用SGNN 對事理圖譜進(jìn)行學(xué)習(xí)。
3.3.2 基于SGNN 的事理圖譜學(xué)習(xí)
為了節(jié)省計(jì)算資源和提高效率,把每個(gè)事件鏈視為一個(gè)子圖輸入門控圖神經(jīng)網(wǎng)絡(luò)(Gated Graph Neural Network,GGNN)[19]學(xué)習(xí)事件鏈中每個(gè)事件的表示,這種把子圖作為輸入的圖神經(jīng)網(wǎng)絡(luò)被稱為可縮放的門控圖神經(jīng)網(wǎng)絡(luò)(SGNN)[17]。SGNN 的輸入分為兩部分:一部分是敘事事件鏈的所有事件表示E,另一部分是子圖的鄰接矩陣A。事件表示E如式(6)所示,子圖的鄰接矩陣A從全局事理圖譜中抽取,抽取過程如式(7)所示:
SGNN 的計(jì)算過程如式(8)~式(12)所示:
式(8)是指子圖的節(jié)點(diǎn)通過鄰接矩陣進(jìn)行消息的傳遞,式(9)~式(12)和GRU 類似,通過t-1 時(shí)刻的信息和其他節(jié)點(diǎn)來更新t時(shí)刻節(jié)點(diǎn)的狀態(tài)。z(t)是更新門,r(t)是重置門,σ是sigmoid 激活函數(shù),⊙是按位相乘。GEEP 模塊的輸出為t時(shí)刻的節(jié)點(diǎn)表示E(t),為了下文表述方便,把GEEP 模塊的輸出簡單記為E,E和LRTO 模塊的輸出H具有相同的維度。
門控注意力層的輸入是LRTO 模塊的輸出H∈R(m+n)×u和GEEP模塊的輸出E∈R(m+n)×u。為了解決時(shí)序信息和圖信息對不同的樣本預(yù)測的重要程度不同這一問題[20],本文提出一種門控機(jī)制G來表示時(shí)序信息和演化模式的重要程度,計(jì)算過程如式(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與原來的維度相同。
得到Hg之后,把Hg分為兩部分:上下文事件和候選事件∈Rm×u。根據(jù)式(16)得到上下文事件和候選事件的權(quán)重矩陣α∈Rn×m。根據(jù)式(17)得到上下文事件鏈對于候選事件的代表向量νh∈Rm×u,最后把該代表向量與候選事件之間的余弦相似性作為候選事件的得分sh,如式(18)所示:
得到Eg后,GEEP模塊對每個(gè)候選事件的打分sg根據(jù)同樣的方式計(jì)算得到,計(jì)算過程如式(19)~式(21)所示:
在此基礎(chǔ)上,通過式(22)計(jì)算候選事件ecj(j∈[1,m])的最終得分sscore(ecj):
其中:w是可學(xué)習(xí)的參數(shù)。
最后,對于每個(gè)敘事事件鏈對應(yīng)的m個(gè)候選事件,采用softmax 計(jì)算每個(gè)候選事件最終的發(fā)生概率,如式(23)所示,選擇發(fā)生概率最高的事件作為模型的輸出,如式(24)所示:
給定一系列的敘事事件鏈和候選事件集,訓(xùn)練目標(biāo)是最小化式(25)所示的邊界損失函數(shù):
其中:N是事件鏈的條數(shù);m是敘事事件鏈對應(yīng)的候選集的大小;sIj表示第I個(gè)敘事事件鏈對第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)練過程中使用RMS 優(yōu)化算法。
本文采用MCNC 評估方法,將ECGNet 模型和多個(gè)當(dāng)前最新的基線模型進(jìn)行對比,驗(yàn)證其有效性。
本文使用兩個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。一個(gè)是文獻(xiàn)[17]公開的NYT 英文數(shù)據(jù)集,該數(shù)據(jù)集從Gigaword 語料庫的紐約時(shí)報(bào)部分中進(jìn)行提取。NYT 數(shù)據(jù)集共包括160 331 個(gè)樣本,本文按照140 331∶10 000∶10 000 的比例劃分訓(xùn)練集、驗(yàn)證集和測試集
由于目前為止腳本事件預(yù)測領(lǐng)域僅有一個(gè)公開的英文數(shù)據(jù)集,因此本文基于文獻(xiàn)[21]收集的新浪新聞?wù)Z料庫處理了一個(gè)中文數(shù)據(jù)集,命名為SinaNews。原始新聞?wù)Z料庫由不同系列主題的新聞組成,每個(gè)系列包含了同一主題的眾多新聞文章。本文把同一主題下的新聞按照時(shí)間順序視為敘事事件鏈,每則新聞被視為一個(gè)事件,由于新聞的標(biāo)題包含了該則新聞的主要內(nèi)容,因此本文僅使用新聞標(biāo)題作為事件。具體處理流程按照以下步驟進(jìn)行:
1)劃分?jǐn)⑹率录?。將每個(gè)主題下的新聞按照時(shí)間順序劃分,每5 則新聞為一組,一組新聞被視為一個(gè)事件鏈。其中前4 則新聞作為上下文事件,最后一則新聞作為要預(yù)測的新聞事件,即預(yù)測標(biāo)簽。經(jīng)過劃分,得到147 622 個(gè)來自不同主題的新聞事件鏈,按照127 622∶10 000∶10 000 的比例劃分訓(xùn)練集、驗(yàn)證集和測試集。
2)抽取新聞事件。通過依賴解析從每則新聞標(biāo)題中抽取事件的相關(guān)要素(主語、謂語、賓語、介詞賓語)。依賴解析工具為HanLP[22]。
3)構(gòu)造候選事件集。遵循MCNC 標(biāo)準(zhǔn),本文對每個(gè)敘事事件鏈構(gòu)造候選事件集,把每組新聞中的最后一則新聞作為標(biāo)簽,從事件集中隨機(jī)抽取m-1則新聞,用標(biāo)簽事件的主語替換隨機(jī)選取的新聞事件的主語。因此,候選集中有且僅有一個(gè)正確的后續(xù)事件,且候選集中的所有的事件共享主語。
為了對ECGNet 模型的效果進(jìn)行全面評估,本文分別選擇了經(jīng)典的基于統(tǒng)計(jì)學(xué)和事件對的腳本事件預(yù)測方法,以及最新的基于事件鏈和事理圖譜的方法作為基線模型:PMI[4]和Bigram[5]是基于統(tǒng)計(jì)的模型;Word2Vec[14]和EventComp[6]是基于事件對的模型,它們通過學(xué)習(xí)上下文事件和候選事件對之間的關(guān)系對后續(xù)事件預(yù)測的影響;PairLSTM[15]、HierLSTM[21]和SAM-Net[16]是基于事件鏈的方法,它們通過循環(huán)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)敘事事件鏈的時(shí)序信息進(jìn)行后續(xù)事件預(yù)測;SGNN[17]是一種基于事理圖譜的方法,其構(gòu)造敘事事理圖譜描述事件之間的發(fā)展規(guī)律,并提出采用可縮放的圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)事理圖譜中的事件表示進(jìn)行后續(xù)事件預(yù)測。
ECGNet 和基線模型在測試集上的結(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ì)的模型無法應(yīng)對稀疏性和泛化性的問題。
2)基于事件鏈和事理圖譜的方法與基于事件對的方法相比效果有所提升,證明了僅考慮上下文事件和候選事件對之間的關(guān)系進(jìn)行后續(xù)事件預(yù)測是不夠的?;谑录湹姆椒ê突谑吕韴D譜的方法取得了較好的實(shí)驗(yàn)效果。這證明了時(shí)序信息和事件演化模式對后續(xù)事件的預(yù)測的重要性。
3)本文提出的ECGNet 模型取得的實(shí)驗(yàn)效果優(yōu)于所有基線模型且提升明顯(在兩個(gè)數(shù)據(jù)集上均比次優(yōu)模型提升預(yù)測準(zhǔn)確率3%以上),這充分證明了同時(shí)利用時(shí)序信息和演化模式進(jìn)行后續(xù)事件預(yù)測是非常重要的。此外,ECGNet 模型在中英文數(shù)據(jù)集上均取得了最好的實(shí)驗(yàn)效果,也驗(yàn)證了模型的魯棒性。
本節(jié)采用一系列對比實(shí)驗(yàn)驗(yàn)證事件表示方法對預(yù)測結(jié)果的影響。不同方法的輸入均為一個(gè)事件的4 個(gè)元素的詞嵌入,輸出為該事件的表示?!癈oncat”方法把事件的4 個(gè)元素的詞嵌入進(jìn)行拼接作為事件表示?!癆verage”方法把4 個(gè)元素的詞嵌入進(jìn)行平均作為事件表示?!癈omp”方法遵循前人的研究,采用tanh 層把4 個(gè)元素進(jìn)行組合得到事件的表示,計(jì)算過程如式(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)行簡單的平均會丟失一些特征;“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í)序語義信息對于事件表示和后續(xù)預(yù)測是非常重要的,Transformer 編碼器能夠較好地捕獲這些時(shí)序和語義信息,從而獲得更好的預(yù)測效果。
表2 不同事件表示方法的準(zhǔn)確率Table 2 Accuracy of different event representation methods %
本節(jié)通過消融實(shí)驗(yàn),驗(yàn)證ECGNet 各個(gè)模塊的效果,結(jié)果如表3 所示。
表3 消融實(shí)驗(yàn)結(jié)果Table 3 Ablation experiment results %
對表3 中的結(jié)果進(jìn)行分析,具體如下:
“-ER”表示去掉事件表示層,簡單地把事件的4 個(gè)元素的詞嵌入進(jìn)行拼接作為事件表示進(jìn)行后續(xù)預(yù)測。去掉事件表示層之后在NYT 和SinaNews 上準(zhǔn)確率分別下降了3.77 和3.26 個(gè)百分點(diǎn),驗(yàn)證了事件表示對于后續(xù)事件預(yù)測有著至關(guān)重要的作用。
“-LRTO”表示去掉LRTO 模塊,只考慮事理圖譜中的事件發(fā)展規(guī)律和演化模式,使用GEEP 模塊得到的事件表示進(jìn)行后續(xù)預(yù)測。去掉LRTO 模塊之后,實(shí)驗(yàn)效果有明顯的下降,這證明了敘事事件鏈中上下文事件之間的時(shí)序特征不可忽視。
“-GEEP”表示去掉GEEP 模塊,只考慮敘事事件鏈中的時(shí)序信息,使用LRTO 模塊得到的事件表示進(jìn)行后續(xù)預(yù)測。從實(shí)驗(yàn)結(jié)果可以看到,去掉GEEP模塊后,預(yù)測效果明顯下降,驗(yàn)證了事理圖譜中的事件演化模式對于腳本事件預(yù)測任務(wù)是非常重要的。
“-Gated M-att”表示去掉門控注意力層,在LRTO 模塊和GEEP 模塊分別使用注意力機(jī)制對候選事件進(jìn)行打分,將兩個(gè)模塊對候選事件的打分進(jìn)行相加作為該候選事件的得分。實(shí)驗(yàn)結(jié)果證明了本文提出的門控注意力機(jī)制能夠動(dòng)態(tài)融合時(shí)序信息和演化模式,進(jìn)行后續(xù)事件預(yù)測。
由于去掉事件表示層后預(yù)測效果下降明顯,本文設(shè)置了“Transformer+att”實(shí)驗(yàn),即通過Transformer 學(xué)習(xí)到事件表示之后,使用注意力機(jī)制和softmax 層進(jìn)行后續(xù)事件預(yù)測。實(shí)驗(yàn)結(jié)果表明,即使Transformer 具有強(qiáng)大的表示學(xué)習(xí)能力,但仍然需要結(jié)合敘事事件鏈中的時(shí)序信息和事理圖譜中的全局事件演化模式,才能取得更好的預(yù)測效果。
本文針對腳本事件預(yù)測事件表示不全面、信息融合不充分等問題,提出一種動(dòng)態(tài)融合事件鏈和事理圖譜的模型ECGNet。在NYT 英文數(shù)據(jù)集和SinaNews中文數(shù)據(jù)集上,使用預(yù)測準(zhǔn)確率作為評估標(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è)模塊的有效性。本文模型只對事件鏈中的時(shí)序信息和事理圖譜信息進(jìn)行了融合,下一步將通過深度整合知識圖譜和事理圖譜,進(jìn)一步提升腳本事件預(yù)測的準(zhǔn)確率。