吳雨釗
(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都610065)
自然語(yǔ)言處理的發(fā)展與進(jìn)化帶來(lái)了新的熱潮與研究問(wèn)題,文本推理即是其中一個(gè)比較具有挑戰(zhàn)性的領(lǐng)域。文本推理是指基于已有的知識(shí)對(duì)未見(jiàn)問(wèn)題進(jìn)行理解和推斷,并得出問(wèn)題對(duì)應(yīng)答案的過(guò)程。在文本推理的過(guò)程中最重要的是如何讓機(jī)器來(lái)掌握人類知識(shí),并進(jìn)行可解釋性的推理是當(dāng)前技術(shù)面臨的一大挑戰(zhàn)。在眾多人類知識(shí)中,事件邏輯是一種重要并且普便存在的知識(shí),事件之間時(shí)間維度上相繼發(fā)生的演化規(guī)律和模式是一種十分有價(jià)值的知識(shí),挖掘這種事理邏輯知識(shí)對(duì)認(rèn)識(shí)人類行為和社會(huì)發(fā)展變化規(guī)律非常有意義。
1977年,為了使用計(jì)算機(jī)進(jìn)行自然語(yǔ)言理解時(shí)表示事件信息,Schank提出了“腳本(Script)”[1]的概念,有時(shí)也被稱為“框架”[2]。Schank提出的所謂腳本,就是一種結(jié)構(gòu)化的知識(shí)表示,用以描述特定上下文中固定不變的事件序列,Sundheim等人[3]也將其作為信息抽取的模板開(kāi)展了相關(guān)研究。這種知識(shí)表示方法是早期AI研究的重要成果之一。腳本事件預(yù)測(cè)就是基于事件腳本來(lái)做出文本推理的一項(xiàng)任務(wù)。這個(gè)任務(wù)最早在2008年由Chambers和Jurafsky兩人提出,他們提出以一種類似于Schank的“腳本”概念的新的結(jié)構(gòu)化知識(shí)表示方法,使用無(wú)監(jiān)督的方法從大量新聞?wù)Z料中抽取出文本中事件之間的敘述關(guān)系,這些事件是按行文順序排列,稱之為敘事事件鏈(Narrative Event Chains)。他們將腳本事件預(yù)測(cè)定義為,給定一條缺失了某個(gè)子事件的敘事事件鏈以及一些候選事件,判斷這些候選事件是否是缺失的事件。在給定了一系列的腳本事件“去(X,餐廳)”等,這些腳本事件是從同一篇文本中抽取出來(lái)的,腳本事件預(yù)測(cè)就是要從備選的c1、c2、c3、c4、c5中選出最為合適的后續(xù)事件。傳統(tǒng)的腳本事件結(jié)構(gòu)為v(a1,a2,a3),v是這個(gè)腳本事件的謂詞,可以是單個(gè)動(dòng)詞,或者是動(dòng)詞詞組的形式,a1、a2是腳本事件的直接賓語(yǔ)對(duì)象,a3是腳本事件的間接賓語(yǔ)對(duì)象。
如何以機(jī)器從原始文本中抽取腳本事件,獲取事件之間的敘事信息,組織敘事事件鏈,并建立合理的算法模型,做出最為合適的預(yù)測(cè),這是腳本事件預(yù)測(cè)的主要任務(wù),此領(lǐng)域的研究也聚焦于此展開(kāi)。
腳本事件預(yù)測(cè)的本質(zhì)是讓機(jī)器去理解文本中所蘊(yùn)涵的事理邏輯,從而做出類人的推斷,自動(dòng)化地完成文本語(yǔ)義信息的理解,研究人員也以此來(lái)開(kāi)展研究。腳本事件預(yù)測(cè)目前主要有兩種方法,一種是基于統(tǒng)計(jì)語(yǔ)言學(xué)的方法來(lái)建模,從而計(jì)算事件之間的關(guān)聯(lián)強(qiáng)度;一種是基于神經(jīng)網(wǎng)絡(luò)的方法,學(xué)習(xí)事件的語(yǔ)義信息,完成事件的表示,通過(guò)模型做出預(yù)測(cè)。目前,基于神經(jīng)網(wǎng)絡(luò)的方法是研究的主流。
在上世紀(jì)70-80年代,Schank提出“腳本”的概念,腳本就成為了自然語(yǔ)言理解的研究的中心,主要用于文本總結(jié)、共指解析和問(wèn)答系統(tǒng)等。在這個(gè)時(shí)期,腳本事件預(yù)測(cè)任務(wù)還尚未有清晰的研究路線,研究主要是依托于專家系統(tǒng)?;谝?guī)則和匹配,通過(guò)人工的方式從原始新聞文本中抽取腳本事件,進(jìn)行語(yǔ)法分析以及詞性分析,再根據(jù)時(shí)序關(guān)系構(gòu)成事件鏈,形成一種結(jié)構(gòu)化的知識(shí)表示。然后將以上的流程形成專家系統(tǒng)。這種知識(shí)表示在一定程度上以機(jī)器的視角理解了文本信息,但這種依托專家系統(tǒng)的方式缺陷也較為明顯,形成的專家系統(tǒng)是沒(méi)有自學(xué)習(xí)的能力的,是具有領(lǐng)域依賴的,并且人工的方式對(duì)于海量的數(shù)據(jù)是束手無(wú)策的。
由于這些明顯的缺陷,2008年Chambers和Jurafsky[4]提出了新的結(jié)構(gòu)化知識(shí)表示方法——敘事事件鏈。敘事事件鏈?zhǔn)且砸粋€(gè)共同的事件主角為中心并且部分有序的事件集合。這些事件參與者與事件集合可以填充到特定的場(chǎng)景中,從而得出推論。他們假設(shè)一個(gè)事件是由一個(gè)實(shí)體作為一個(gè)動(dòng)詞的參數(shù)組成,事件可以由一個(gè)動(dòng)詞以及實(shí)體(subj,obj or iobj)之間的語(yǔ)法依賴關(guān)系表示,將之稱之為predicate-GR。他們使用C&C[5]工具對(duì)原始新聞文本進(jìn)行詞性標(biāo)注和依賴關(guān)系分析,以及使用OpenNLP工具用于短語(yǔ)結(jié)構(gòu)分析和共同引用解析,完成事件集合的抽取。Balasubramanian等人[6]觀察到以事件主角來(lái)作為事件鏈的表征可能存在缺乏連貫性等缺點(diǎn),于是提出將事件表示為<arg1,relation,arg2>的形式,其中arg1和arg2分別代表了事件的主客體。
隨著機(jī)器硬件性能的提升以及相關(guān)標(biāo)準(zhǔn)數(shù)據(jù)集的出現(xiàn),基于統(tǒng)計(jì)的方法主要成為了這個(gè)階段腳本事件預(yù)測(cè)的主流方法。研究人員考慮通過(guò)計(jì)算文本相關(guān)強(qiáng)度的方式來(lái)進(jìn)行模型算法的建立。Chambers和Jurafsky提出了Pairwise Mutual Information(PMI)方法,計(jì)算候選事件與敘事事件鏈的相關(guān)強(qiáng)度,通過(guò)這個(gè)關(guān)聯(lián)強(qiáng)度來(lái)作為衡量事件與事件鏈之間相關(guān)性的指標(biāo)。他們
基于上文所述的無(wú)監(jiān)督的方法完成敘事事件鏈的提取,基于候選事件與事件鏈上的子事件之間共享語(yǔ)法論據(jù)頻率的方式建立成對(duì)關(guān)系,構(gòu)建一個(gè)全局的敘事分?jǐn)?shù),以便使敘事事件鏈上的所有子事件都能提供該候選事件的反饋分?jǐn)?shù),最終反饋分?jǐn)?shù)最高的即為模型選擇的預(yù)測(cè)事件。Jans等人[7]在2012年在C&J 08模型的基礎(chǔ)上提出了Bigram模型,以敘事事件鏈上先前的已有事件來(lái)評(píng)估此鏈上的后來(lái)事件的predicate-GR的最大似然估計(jì)概率。對(duì)于那些未觀察到的事件上下文,使用拉普拉斯平滑來(lái)估計(jì)并且返回其上下文概率,Bigram模型在PMI模型上顯示地利用了事件間的事件順序。Jans等人的模型也被后來(lái)一系列從文本中抽取事件鏈的方法所采用(Pichotta and Mooney,2014;Rudinger et al.,2015)[8-9]。
雖然基于統(tǒng)計(jì)的腳本事件預(yù)測(cè)方法取得了不錯(cuò)的成效,但是對(duì)于事件語(yǔ)義上的特征卻無(wú)法進(jìn)行深層次的學(xué)習(xí),隨著人工智能的發(fā)展,深度學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)逐漸的在自然語(yǔ)言領(lǐng)域興起,于是有研究人員提出利用事件表示學(xué)習(xí)的方法來(lái)對(duì)事件序列進(jìn)行建模,從而挖掘出腳本事件之間的相關(guān)性,提高腳本事件預(yù)測(cè)的精度,這也是目前腳本事件預(yù)測(cè)領(lǐng)域主流的研究方法。目前,利用神經(jīng)網(wǎng)絡(luò)的建模方法主要分為基于事件對(duì)、基于事件鏈以及基于圖的方法。
Grantoth Wilding和Clark[10]同樣使用C&J 08的方法抽取事件鏈,將腳本事件表示為謂詞和事件參數(shù)的組合形式,通過(guò)skipgram詞向量生成模型,以謂詞和每個(gè)事件參數(shù)的向量之和來(lái)作為事件的向量表示。
Grantoth Wilding和Clark基于事件對(duì)的方法提出了EventComp模型,他們將每條事件鏈正確的候選事件與鏈上每個(gè)子事件相組合,形成正樣本,再在數(shù)據(jù)集中隨機(jī)抽樣出一個(gè)事件,組成負(fù)樣本。然后,通過(guò)一個(gè)共享權(quán)重的孿生神經(jīng)網(wǎng)絡(luò)(Siamese Network),將兩個(gè)事件的向量表示映射到新的空間,將其組合到一起,形成新的向量空間表示。最后通過(guò)loss的計(jì)算,計(jì)算出這兩個(gè)輸入事件在同一鏈中出現(xiàn)的關(guān)聯(lián)強(qiáng)度。
類似的,Modi[11]直接利用動(dòng)詞和事件參數(shù)的詞嵌入,使用一個(gè)隱藏層自動(dòng)將詞嵌入合并為單個(gè)結(jié)構(gòu)化的事件嵌入,預(yù)測(cè)了候選事件屬于某個(gè)事件鏈的概率,結(jié)果表明它優(yōu)于離散的統(tǒng)計(jì)方法。這些神經(jīng)網(wǎng)絡(luò)方法與早期利用事件對(duì)關(guān)系的統(tǒng)計(jì)模型在思想上還是相通的。
在對(duì)腳本事件預(yù)測(cè)更進(jìn)一步的探索后,Pichotta和Mooney將LSTM用于腳本學(xué)習(xí),其表現(xiàn)優(yōu)于離散的統(tǒng)計(jì)方法。LSTM的一個(gè)優(yōu)點(diǎn)是它可以編碼無(wú)限的時(shí)間序列卻不會(huì)丟失長(zhǎng)期的歷史信息,并且很好的利用了敘事事件鏈本身帶有的時(shí)序信息。與Grantoth Wilding和Clark、Modi等人的方法相比,LSTM捕獲的時(shí)序信息明顯更多。但是一個(gè)強(qiáng)順序的LSTM模型可能也會(huì)遭受到過(guò)擬合。Wang等人[12]考慮到這一缺陷,充分利用了LSTM時(shí)序和事件對(duì)建模的優(yōu)勢(shì),提出將敘事事件鏈的時(shí)間順序集成到事件之間相關(guān)性度量中。通過(guò)使用LSTM隱藏狀態(tài)作為事件表示來(lái)計(jì)算事件對(duì)之間的關(guān)聯(lián)強(qiáng)度,使用敘事事件鏈的時(shí)序信息作為事件對(duì)建模的特征,而不是直接使用模型輸出的方式,緩解了LSTM過(guò)擬合的問(wèn)題。并且Wang等人還考慮到不同的事件對(duì)候選事件有不同的重要性,使用了一個(gè)動(dòng)態(tài)記憶網(wǎng)絡(luò)(Dynamic Memory Network)自動(dòng)地為每一個(gè)事件計(jì)算事件權(quán)值,推斷出黃金標(biāo)準(zhǔn)的候選事件。
基于事件對(duì)和事件鏈的神經(jīng)網(wǎng)絡(luò)方法,在一定程度上降低了事件之間的稀疏性,但是事件之間豐富的連接信息仍沒(méi)有被充分利用,為了利用事件之間的稠密連接信息,Li等人[13]提出基于敘事事件鏈構(gòu)建敘事事理圖譜,然后利用門(mén)控圖神經(jīng)網(wǎng)絡(luò)(GGNN)對(duì)敘事事理圖譜進(jìn)行圖表示學(xué)習(xí),克服了事件之間的稀疏性問(wèn)題,最終根據(jù)GGNN學(xué)習(xí)出的事件表示,來(lái)進(jìn)一步預(yù)測(cè)后續(xù)事件。
填空任務(wù)是用來(lái)評(píng)估一個(gè)系統(tǒng)的語(yǔ)言熟練程度的,方法是從句子中刪除一個(gè)隨機(jī)的單詞,讓系統(tǒng)嘗試去填空?;诖耍珻hambers和Jurafsky提出了一個(gè)適合于腳本事件預(yù)測(cè)的評(píng)估方法——敘事完形填空,指在敘事事件鏈中刪除一個(gè)事件,任務(wù)是預(yù)測(cè)出丟失事件。之后,Grantoth Wilding和Clark受到Sadegh[10]的啟發(fā),完善了這個(gè)評(píng)估方法,提出了多重選擇式敘事完形填空(MCNC),它與敘事完形填空任務(wù)緊密相關(guān),但更適合于評(píng)估一個(gè)敘事生成系統(tǒng)的有用性。
與Chambers和Jurafsky提出的評(píng)估方法類似,系統(tǒng)會(huì)呈現(xiàn)出整個(gè)敘事事件鏈的每個(gè)子事件,e1、e2、…、en。給定5個(gè)隨機(jī)排序的候選事件,c1、c2、c3、c4、c5,這些事件中其中有個(gè)為該事件上下文的后續(xù)事件,其余4個(gè)事件是從數(shù)據(jù)集中隨機(jī)抽樣出的處于別的事件上下文中的事件。并且將隨機(jī)抽樣出的事件主體替換為當(dāng)前事件上下文的主體。
在對(duì)下一個(gè)事件進(jìn)行預(yù)測(cè)時(shí),C&J 08評(píng)估方法只關(guān)注了事件之間的謂詞與事件參數(shù)組合的共現(xiàn)次數(shù),但是對(duì)于低頻的謂詞,就不能做出很好的判斷,而MCNC更能利用到文本中豐富的語(yǔ)義信息,MCNC評(píng)估方法也隨之成為了腳本事件預(yù)測(cè)領(lǐng)域的標(biāo)準(zhǔn)評(píng)估方法。
在對(duì)后續(xù)候選事件的選擇上,MCNC方法采用計(jì)算每個(gè)候選事件與事件鏈的相關(guān)分?jǐn)?shù),得分最高的即為系統(tǒng)所預(yù)測(cè)的事件。對(duì)于一個(gè)事件上下文e1、e2、…、en,和5個(gè)候選事件cj,1≤j≤5,計(jì)算第i個(gè)上下文事件ei與第j個(gè)候選事件ej的相關(guān)性分?jǐn)?shù)sij通過(guò):
對(duì)于整個(gè)事件上下文與第j個(gè)候選事件的相關(guān)得分使用:
挑選出分值最大的那個(gè)候選事件,作為模型最終的預(yù)測(cè)結(jié)果。
本文主要根據(jù)腳本事件預(yù)測(cè)的發(fā)展歷程,介紹了相關(guān)的研究和評(píng)價(jià)方法,總結(jié)了此領(lǐng)域的先進(jìn)研究成果。但是腳本事件預(yù)測(cè)在如何更深層次的進(jìn)行事件表示,以及探究敘事事件鏈上的事件之間的相關(guān)性方面等,還值得深入探索。并且目前研究也主要聚焦于英文文本,對(duì)于中文的腳本事件預(yù)測(cè)還尚未有過(guò)多研究。
腳本是人工智能領(lǐng)域的一個(gè)重要概念,腳本事件預(yù)測(cè)也是文本推理領(lǐng)域一項(xiàng)極具挑戰(zhàn)性的任務(wù),神經(jīng)網(wǎng)絡(luò)的興起為腳本事件預(yù)測(cè)帶來(lái)了新的機(jī)遇與挑戰(zhàn),不同領(lǐng)域的研究者可以在此領(lǐng)域做出獨(dú)具特色的研究,有力地提升文本推理系統(tǒng)的可解釋性。