劉 嘯 楊 敏
1(中國(guó)科學(xué)院深圳先進(jìn)技術(shù)研究院 深圳 518055)
2(中國(guó)科學(xué)院大學(xué)深圳先進(jìn)技術(shù)學(xué)院 深圳 518055)
機(jī)器閱讀理解[1]是自然語(yǔ)言處理領(lǐng)域中一項(xiàng)重要且富有挑戰(zhàn)的任務(wù),該任務(wù)通過(guò)向機(jī)器輸入一段非結(jié)構(gòu)化文本及其相應(yīng)的問題,要求機(jī)器能夠根據(jù)文本回答相關(guān)問題。然而,這些問題往往充斥著迷惑性,如果不理解文本內(nèi)容而根據(jù)規(guī)則進(jìn)行回答,由此得到的答案大概率為錯(cuò)誤答案。近年來(lái),機(jī)器閱讀理解得益于其在信息檢索和問答任務(wù)中的廣泛應(yīng)用而受到越來(lái)越多的關(guān)注。大量大規(guī)模數(shù)據(jù)集的發(fā)布,使其迎來(lái)了迅速的發(fā)展[2-4]。當(dāng)前的大部分閱讀理解模型主要聚焦于單輪問答中文章的答案提取,同一篇文章的不同問題和答案之間沒有聯(lián)系。相關(guān)模型在SQuAD[5]數(shù)據(jù)集上的性能甚至已經(jīng)超過(guò)了人類。
然而,在現(xiàn)實(shí)生活中,人類的交流更多是基于對(duì)話式的。在對(duì)話行為中,人類會(huì)基于已學(xué)習(xí)的信息,通過(guò)不斷地詢問來(lái)獲取額外的信息,這是機(jī)器智能化的體現(xiàn)。為了探索機(jī)器在歷史對(duì)話中提取有效信息并結(jié)合文章內(nèi)容進(jìn)行邏輯推理的能力,一種全新的機(jī)器閱讀理解任務(wù),即會(huì)話式機(jī)器閱讀理解任務(wù)被提出。會(huì)話式機(jī)器閱讀理解[6]是由機(jī)器閱讀理解與會(huì)話式問答交叉形成的新領(lǐng)域,即在傳統(tǒng)機(jī)器閱讀理解的基礎(chǔ)上加入多輪問答,使問答對(duì)之間具有一定的承接關(guān)系。它要求機(jī)器能夠模擬人類捕獲信息的方式來(lái)回答問題。會(huì)話式機(jī)器閱讀理解任務(wù)被證實(shí)比普通機(jī)器閱讀理解任務(wù)更具有挑戰(zhàn)性,因?yàn)樗粌H需要理解文章段落,還需要理解會(huì)話歷史中的語(yǔ)言現(xiàn)象,諸如指代關(guān)系、主語(yǔ)省略、主題轉(zhuǎn)移等。相比于單輪機(jī)器閱讀理解,會(huì)話式機(jī)器閱讀理解更符合人類對(duì)相關(guān)主題的問答習(xí)慣。為了探索這一新領(lǐng)域,越來(lái)越多的學(xué)者嘗試構(gòu)建此類數(shù)據(jù)集并嘗試不同的模型和方法。其中,最經(jīng)典的數(shù)據(jù)集為 Reddy 等[7]在 2018 年創(chuàng)建的多輪機(jī)器閱讀理解數(shù)據(jù)集 CoQA,它包含了 127 000 個(gè)問題及相應(yīng)答案,以及 8 000 篇對(duì)應(yīng)的文章。此后,有眾多研究者對(duì)該數(shù)據(jù)集展開了大量實(shí)驗(yàn),主要分為以下幾種方式:(1)將原訓(xùn)練數(shù)據(jù)中的多輪對(duì)話問題拆解為單輪對(duì)話問題,簡(jiǎn)化任務(wù)形式,并通過(guò)多次打亂問題順序來(lái)提高模型的泛化能力。對(duì)于問題輪數(shù)較少的樣本而言,這種處理方法可以在一定程度上利用模型的大規(guī)模參數(shù)來(lái)強(qiáng)行擬合數(shù)據(jù),達(dá)到較好的結(jié)果。但是,對(duì)于問題輪數(shù)較多,且上下文關(guān)聯(lián)性非常強(qiáng)的樣本而言,這種方法會(huì)破壞上下問題的聯(lián)系,導(dǎo)致效果降低。(2)另一種處理方式為將樣本中的多個(gè)問題處理為流機(jī)制的形式,上一個(gè)問題的處理結(jié)果會(huì)以輸入?yún)?shù)的形式參與當(dāng)前問題的處理過(guò)程,這樣在一定程度上保留了問題之間的關(guān)聯(lián)性。但是過(guò)往的方法在處理問題流時(shí)僅關(guān)注了問題與文章單一字、詞的聯(lián)系,忽略了問題流與全文的交互過(guò)程,造成信息損失。(3)還有一些處理方法是通過(guò)大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型構(gòu)建而成,如基于變換器的雙向編碼器表示技術(shù)(Bidirectional Encoder Representations from Transformers,BERT) 或基于廣義自回歸預(yù)訓(xùn)練方法(Generalized Autoregressive Pretraining Method,XLNet)的閱讀理解模型[8-9]。預(yù)訓(xùn)練語(yǔ)言模型利用遷移學(xué)習(xí)的思想,從相關(guān)任務(wù)的大量數(shù)據(jù)中預(yù)先訓(xùn)練出有效的語(yǔ)言模型,然后遷移到目標(biāo)任務(wù)中加以優(yōu)化,可以在一定程度上提高模型的準(zhǔn)確率。但是,這些模型不能有效整合句子的句法結(jié)構(gòu)、句子間長(zhǎng)距離的語(yǔ)義關(guān)系等信息,從而造成模型對(duì)問題和篇章理解不夠充分。
受到圖神經(jīng)網(wǎng)絡(luò)模型在自然語(yǔ)言處理等領(lǐng)域獲得成功的啟示,本文提出了一種用于會(huì)話式機(jī)器理解的動(dòng)態(tài)會(huì)話圖神經(jīng)網(wǎng)絡(luò)(Dynamic Conversational Graph Network,DCGN)。首先,針對(duì)當(dāng)前機(jī)器閱讀理解模型無(wú)法構(gòu)建全局語(yǔ)義關(guān)系以及較長(zhǎng)距離推理關(guān)系的問題,該方法在傳統(tǒng)的詞序列結(jié)構(gòu)基礎(chǔ)上添加了文本實(shí)體圖結(jié)構(gòu)。基于問題和對(duì)話語(yǔ)境中的命名實(shí)體構(gòu)建動(dòng)態(tài)文本圖,文本圖會(huì)隨著問題和對(duì)話歷史的處理過(guò)程而發(fā)生動(dòng)態(tài)變化。通過(guò)這種方式,系統(tǒng)可以在一系列上下文本圖中對(duì)語(yǔ)義和時(shí)間依賴性進(jìn)行建模。然后利用動(dòng)態(tài)圖神經(jīng)網(wǎng)絡(luò)獲得上下文中實(shí)體的語(yǔ)義嵌入表示,并與采用 RoBERTa[10]預(yù)訓(xùn)練模型所提取的序列化結(jié)構(gòu)的上下文嵌入表示進(jìn)行融合。最終根據(jù)問題嵌入與融合后的語(yǔ)義嵌入表示計(jì)算每輪的匹配分?jǐn)?shù)并進(jìn)行答案預(yù)測(cè)。通過(guò)在相關(guān)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明本文系統(tǒng)的性能超過(guò)了所有基線模型。
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的不斷進(jìn)步,機(jī)器閱讀理解成為自然語(yǔ)言處理領(lǐng)域里一個(gè)重要且富有挑戰(zhàn)的研究課題,受到了越來(lái)越多的關(guān)注。傳統(tǒng)的機(jī)器閱讀理解任務(wù)由文章段落、問題、答案三要素構(gòu)成,主要研究單輪問答的文章的答案提取,并提出了幾種單輪模型,如在 SQuAD 數(shù)據(jù)集中的 BiDAF 模型[11]、QANet 模型[12]等 。然而,隨著數(shù)據(jù)集逐漸從虛構(gòu)內(nèi)容轉(zhuǎn)向真實(shí)場(chǎng)景,問題由簡(jiǎn)單問題向復(fù)雜問題發(fā)展,機(jī)器閱讀理解的研究開始向更復(fù)雜的會(huì)話式機(jī)器閱讀理解領(lǐng)域進(jìn)行探索。會(huì)話式機(jī)器閱讀理解是由機(jī)器閱讀理解與會(huì)話式問答交叉形成的新領(lǐng)域,即在傳統(tǒng)機(jī)器閱讀理解的基礎(chǔ)上加入多輪問答,使問答對(duì)之間具有一定的承接關(guān)系。這更符合真實(shí)場(chǎng)景中人們通過(guò)多輪問答逐層深入了解相關(guān)主題信息的情況。通常來(lái)說(shuō),會(huì)話式機(jī)器閱讀理解任務(wù)由文章段落、會(huì)話、會(huì)話歷史三要素構(gòu)成。機(jī)器不僅要理解文章段落,還要理解會(huì)話歷史中的語(yǔ)言現(xiàn)象,諸如指代關(guān)系、主語(yǔ)省略、主題轉(zhuǎn)移等。相比于單輪機(jī)器閱讀理解,會(huì)話式機(jī)器閱讀理解更符合人類對(duì)相關(guān)主題的問答習(xí)慣。
為了將會(huì)話歷史信息融入模型,早期的處理方式大多為顯性地將過(guò)去的問題以及答案直接拼接到當(dāng)前的問題之前,這樣就可以保留對(duì)話中的歷史信息。典型的做法有 Choi 等[13]提出的 BiDAF++w/x-ctx 模型——利用“問題-文章段落”和“文章段落-問題”之間雙向的注意力來(lái)捕捉回答問題的有效信息。另外,為了將會(huì)話歷史信息添加到當(dāng)前問題中,BiDAF++w/x-ctx 模型將上一個(gè)問題的答案在文章中所對(duì)應(yīng)的下標(biāo)信息拼接到文章的詞向量矩陣?yán)铮龠M(jìn)行文章與問題的雙向注意力操作。與 Choi 不同的是,Reddy 等[7]提出的 DrQA+PGNet 模型,直接將上一個(gè)問題以及答案與當(dāng)前問題進(jìn)行拼接,并用特殊符號(hào)進(jìn)行標(biāo)記,再將其以普通機(jī)器閱讀理解任務(wù)的形式進(jìn)行建模。隨后,Zhu 等[14]提出的 SDNet 模型,將前幾輪的問題和答案拼接到當(dāng)前問題之前,以納入上下文信息,而且在文章和問題上運(yùn)用了互相關(guān)注和自我關(guān)注的方法,深度融合文章與問題的信息,獲得了不錯(cuò)的效果。自以 BERT 為代表的大規(guī)模模型問世以來(lái),有眾多研究者探索這種預(yù)訓(xùn)練模型在會(huì)話式機(jī)器閱讀理解任務(wù)上的表現(xiàn)。Ohsugi 等[15]提出了 BERT+Finetune 模型——使用 BERT 模型訓(xùn)練當(dāng)前問題-文章、上一問題-文章、上一問題的答案-文章,取得文章以及問題的高質(zhì)量特征數(shù)據(jù),再按普通機(jī)器閱讀理解的形式進(jìn)行建模,取得了非常好的效果。然而,這些處理方式只是簡(jiǎn)單地將之前的問題與當(dāng)前問題的答案拼接起來(lái),從而保持歷史問題與當(dāng)前問題的關(guān)聯(lián)性,本質(zhì)上并沒有解決會(huì)話式機(jī)器閱讀理解任務(wù)中模型需要從會(huì)話歷史中獲取與問題相關(guān)的信息的初衷,忽略了基于歷史信息的會(huì)話推理過(guò)程。
會(huì)話推理是會(huì)話式機(jī)器閱讀理解模型的核心,主要負(fù)責(zé)將問題、文章段落以及會(huì)話歷史進(jìn)一步融合,從而獲得三者之間的相互加權(quán)關(guān)系以及深層次語(yǔ)義信息,并為預(yù)測(cè)答案提供推理依據(jù)。與循環(huán)神經(jīng)網(wǎng)絡(luò)通過(guò)序列傳遞歷史信息類似,流是一種潛在表示序列,它將先前會(huì)話推理過(guò)程中產(chǎn)生的潛在表示序列傳遞到當(dāng)前問答推理中,使得當(dāng)前模型可以沿著會(huì)話進(jìn)程方向推理。Huang 等[16]構(gòu)建的 FlowQA 模型提出了一種沿著會(huì)話進(jìn)程方向以及上下文詞方向相互交叉融合信息的集成流機(jī)制。它在以往單輪機(jī)器閱讀理解模型對(duì)文章進(jìn)行雙向循環(huán)神經(jīng)網(wǎng)絡(luò)提取特征的基礎(chǔ)上,加入了會(huì)話進(jìn)程方向的單向循環(huán)神經(jīng)網(wǎng)絡(luò),將歷史問題的推理信息以隱向量的形式傳入當(dāng)前問題中并參與推理過(guò)程。這一簡(jiǎn)單的處理極大地提升了原本模型在此任務(wù)中的效果,也有力地證明了流機(jī)制在會(huì)話式機(jī)器閱讀理解任務(wù)中的重要性。此外,Chen 等[17]提出的 GraphFlow 模型利用基于圖神經(jīng)網(wǎng)絡(luò)的集成圖流機(jī)制來(lái)保留歷史問題的推理信息。GraphFlow 將構(gòu)建問題和會(huì)話歷史感知的上下文圖作為潛在表示序列傳入圖神經(jīng)網(wǎng)絡(luò)中,并使用 K 最近鄰(K-Nearest Neighbor,KNN)分類算法選擇k個(gè)最近鄰(包括自身)以及每個(gè)上下文節(jié)點(diǎn)的注意力值,來(lái)保存文章中重要的推理關(guān)系。這也是第一個(gè)將圖神經(jīng)網(wǎng)絡(luò)與會(huì)話式機(jī)器閱讀理解任務(wù)相結(jié)合的模型,取得了不錯(cuò)的效果。由此可見,會(huì)話一般具有較強(qiáng)的上下文關(guān)聯(lián)性,因此,可以將會(huì)話歷史結(jié)構(gòu)作為抽象信息輔助模型推理。然而,現(xiàn)有的基于流機(jī)制的方法尚處于萌芽階段,大部分的模型將文本簡(jiǎn)單地看作詞的序列,沒有探索詞之間豐富的語(yǔ)義關(guān)系。
圖神經(jīng)網(wǎng)絡(luò)最早由 Scarselli 等[18]提出,是一種用于處理圖結(jié)構(gòu)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)模型,在信息傳播、關(guān)系歸納偏置上展現(xiàn)了優(yōu)秀的性能。當(dāng)信息在圖的節(jié)點(diǎn)之間傳播時(shí),圖神經(jīng)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)會(huì)學(xué)習(xí)到它的鄰居節(jié)點(diǎn)狀態(tài)表示,并以此來(lái)更新自己的節(jié)點(diǎn)表示。近年來(lái),圖神經(jīng)網(wǎng)絡(luò)在自然語(yǔ)言處理的各種任務(wù)中取得了較好的成果。越來(lái)越多的學(xué)者將圖神經(jīng)網(wǎng)絡(luò)用于機(jī)器閱讀理解任務(wù),并顯示出優(yōu)于傳統(tǒng)方法的優(yōu)勢(shì)。其中,Qiu 等[19]提出的 DFGN 模型基于文本內(nèi)容構(gòu)建實(shí)體圖,并通過(guò)圖注意力機(jī)制傳播節(jié)點(diǎn)之間的信息。以從問題中提取的實(shí)體作為起點(diǎn),沿著基于文章內(nèi)容動(dòng)態(tài)構(gòu)建的實(shí)體圖進(jìn)行探索,并逐步找到給定文章中相應(yīng)的支持實(shí)體。同時(shí),添加了Graph2Doc 模塊,將每個(gè)實(shí)體節(jié)點(diǎn)的嵌入表示與該實(shí)體對(duì)應(yīng)的單詞嵌入表示進(jìn)行融合,然后送入長(zhǎng)短期記憶,將圖結(jié)構(gòu)中實(shí)體的表示轉(zhuǎn)化為序列表示來(lái)抽取答案。Thayaparan 等[20]提出的文檔圖網(wǎng)絡(luò)(Document Graph Network,DGN)模型,采用預(yù)過(guò)濾步驟來(lái)限制節(jié)點(diǎn)的數(shù)量,并直接在提取的文檔圖上訓(xùn)練門控圖神經(jīng)網(wǎng)絡(luò),從而為文檔圖結(jié)構(gòu)表示的識(shí)別提供證據(jù)文本。Ding 等[21]提出一個(gè)多跳閱讀理解框架 CogQA,該框架以認(rèn)知科學(xué)中的雙過(guò)程理論為基礎(chǔ),使用 2 個(gè)系統(tǒng)來(lái)維護(hù) 1 張認(rèn)知圖譜:系統(tǒng) 1 采用 BERT 模型,隱式地從句子中提取相關(guān)實(shí)體并對(duì)其中的信息進(jìn)行編碼,然后將它們提供給系統(tǒng) 2;系統(tǒng) 2 利用圖神經(jīng)網(wǎng)絡(luò)將這些實(shí)體及其編碼信息構(gòu)建為 1 張認(rèn)知圖譜,通過(guò)圖來(lái)對(duì)這些相關(guān)信息進(jìn)行推理計(jì)算,同時(shí)指導(dǎo)系統(tǒng) 1 進(jìn)行實(shí)體提取。CogQA 模型通過(guò)模擬人類的認(rèn)知方式來(lái)解決機(jī)器的閱讀理解問題,利用協(xié)同隱式提取模塊和顯式推理模塊,在迭代過(guò)程中逐步構(gòu)建認(rèn)知圖,并在認(rèn)知圖基礎(chǔ)上解答問題。雖然上述方法在多跳閱讀理解任務(wù)上測(cè)試證明能夠取得不錯(cuò)的性能,但會(huì)話式機(jī)器閱讀理解的核心問題是建模會(huì)話推理過(guò)程。如何進(jìn)一步運(yùn)用圖神經(jīng)網(wǎng)絡(luò)來(lái)完善機(jī)器的邏輯推理能力,使其擁有真正的自然語(yǔ)言理解能力,是未來(lái)一個(gè)重要的研究方向。
圖1 CoQA 數(shù)據(jù)示例Fig. 1 Example of CoQA dataset
本文所提方法的模型框架如圖 2 所示,主要包括信息編碼層、信息推理層和答案預(yù)測(cè)層 3 個(gè)模塊。
圖2 本文所提模型框架示意圖Fig. 2 The framework of the model proposed in this paper
3.2.1 信息編碼層
大量研究工作證明,預(yù)訓(xùn)練模型可以有效提升模型性能,這同樣適用于會(huì)話式機(jī)器閱讀理解模型。預(yù)訓(xùn)練模型不僅考慮到詞的全局統(tǒng)計(jì)信息,也涵蓋了上下文信息。通常情況下,傳統(tǒng)的機(jī)器閱讀理解模型使用預(yù)訓(xùn)練模型的最后一層輸出值作為文本的嵌入表示。但在會(huì)話式機(jī)器閱讀理解任務(wù)中,上述方法無(wú)法處理輸入序列中的會(huì)話歷史信息。由于會(huì)話歷史包含不同輪次的問答結(jié)果,模型理解當(dāng)前問題所需的信息可能在會(huì)話歷史的任意位置。這需要模型可以捕捉不同距離的依賴關(guān)系。而 BERT 的每一層 Transformer 會(huì)生成不同的權(quán)重表示,該權(quán)重表示可以看作模型對(duì)當(dāng)前輸入序列的不同階段的表示。因此,采用加權(quán)平均的方法融合 BERT 不同層 Transformer的權(quán)重,并將其作為輸入序列的上下文嵌入。與 BERT 相比,RoBERTa[22]的改進(jìn)主要有以下幾點(diǎn):(1)使用更多的訓(xùn)練資源和訓(xùn)練數(shù)據(jù),耗時(shí)更長(zhǎng)。(2)RoBERTa 使用了動(dòng)態(tài)掩碼的方式,每次向模型輸入一個(gè)序列時(shí)都會(huì)隨機(jī) mask 不同的token。動(dòng)態(tài)掩碼的方式可以使模型在大量數(shù)據(jù)輸入的過(guò)程中,逐漸適應(yīng)不同的掩碼策略,學(xué)習(xí)到不同的語(yǔ)言表征。(3)RoBERTa 使用更大的 byte級(jí)別 BPE 詞匯表來(lái)訓(xùn)練 BERT,且沒有對(duì)輸入進(jìn)行任何模型之外的預(yù)處理或分詞操作。這可以有效防止“unknown”問題。因此,本文使用 BERT以及 RoBERTa 模型,對(duì)輸入文本進(jìn)行編碼。
3.2.2 信息推理層
會(huì)話推理是會(huì)話式機(jī)器閱讀理解模型的核心,主要負(fù)責(zé)將問題、文章段落以及會(huì)話歷史進(jìn)一步融合,從而獲得三者之間的相互加權(quán)關(guān)系以及深層次語(yǔ)義信息,并為預(yù)測(cè)答案提供推理依據(jù)。當(dāng)前,大部分的模型將文本簡(jiǎn)單地看作詞的序列,沒有探索詞之間豐富的語(yǔ)義關(guān)系。為了解決這一問題,本文將圖神經(jīng)網(wǎng)絡(luò)應(yīng)用到會(huì)話式機(jī)器閱讀理解任務(wù)中,利用文本實(shí)體圖結(jié)構(gòu)建立全局語(yǔ)義關(guān)系以及長(zhǎng)距離推理關(guān)系,得到包含了語(yǔ)義結(jié)構(gòu)信息的文本嵌入表示。同時(shí),本文提出了一種動(dòng)態(tài)會(huì)話圖神經(jīng)網(wǎng)絡(luò)(Dynamic Conversational Graph Network,DCGN),該網(wǎng)絡(luò)基于問題和對(duì)話語(yǔ)境中的實(shí)體動(dòng)態(tài)地構(gòu)建文本圖,利用動(dòng)態(tài)圖神經(jīng)網(wǎng)絡(luò)獲得上下文中實(shí)體的語(yǔ)義嵌入表示。然后,通過(guò)融合機(jī)制將前輪的推理過(guò)程及結(jié)果并入當(dāng)前上下文圖中,提高了當(dāng)前輪次的推理性能。該模塊結(jié)構(gòu)如圖 3 所示,它由實(shí)體圖構(gòu)造模塊、語(yǔ)義融合模塊和動(dòng)態(tài)圖神經(jīng)網(wǎng)絡(luò)模塊 3 部分組成。
圖3 DCGN 模型框架示意圖Fig. 3 Overall architecture of the DCGN model
(1)實(shí)體圖構(gòu)造模塊
構(gòu)建文本實(shí)體圖結(jié)構(gòu)首先需要對(duì)文章進(jìn)行命名實(shí)體抽取,實(shí)體是機(jī)器閱讀理解任務(wù)中的關(guān)鍵要素。當(dāng)前機(jī)器閱讀理解數(shù)據(jù)集中,大多數(shù)問題都是基于事實(shí)的問題。實(shí)體在段落的語(yǔ)義信息中有重要的地位,實(shí)體之間的語(yǔ)義關(guān)系也是推理過(guò)程中的重要線索。因此,通過(guò)構(gòu)造文本中的實(shí)體圖結(jié)構(gòu)可以輔助獲取文章的深層次語(yǔ)義信息,提高模型的推理性能。在當(dāng)前命名實(shí)體抽取任務(wù)[23]中有大量的研究成果,并取得了很好的效果。其中,SpaCy 工具包[24]由于它的高效而被廣泛運(yùn)用,因此本文采用 SpaCy 工具包進(jìn)行命名實(shí)體抽取。在得到實(shí)體后,將文章的所有實(shí)體構(gòu)造為一個(gè)無(wú)向圖,構(gòu)建的圖可表示為G(E,A)。其中,E為圖的節(jié)點(diǎn)集合,該圖中的頂點(diǎn)即為文中所有的實(shí)體;A為圖的邊集合,本文采用雙仿射注意力模型[25]提取實(shí)體之間的依存關(guān)系。實(shí)體圖中邊的定義方式如下所示:(1)基于實(shí)體的依存關(guān)系,如果一個(gè)句子中的兩個(gè)實(shí)體之間存在依存句法關(guān)系,則兩個(gè)實(shí)體之間建立邊;(2)基于句子的共現(xiàn)關(guān)系,如果兩個(gè)實(shí)體出現(xiàn)在同一個(gè)句子中,則認(rèn)為它們之間存在共現(xiàn)關(guān)系;(3)基于上下文的同義詞關(guān)系,如果文本中的兩個(gè)實(shí)體具有相同詞性時(shí),則兩個(gè)實(shí)體之間建立鏈接。共同詞性邊通過(guò)詞性復(fù)現(xiàn)在句子之間建立關(guān)聯(lián),但是考慮到機(jī)器閱讀理解任務(wù)中有時(shí)篇幅比較短,重復(fù)詞較少。因此,本文引入詞性關(guān)系邊,通過(guò)詞性的重復(fù)將不同句子關(guān)聯(lián)起來(lái),同時(shí)也克服了圖稀疏的缺陷。具體的,滿足以下規(guī)則之一時(shí),兩個(gè)實(shí)體節(jié)點(diǎn)E1和E2是相似的:①E1等于E2;②E1包含E2;③E1和E2之間重疊的單詞數(shù)大于E1和E2最小單詞數(shù)的一半。據(jù)此可以得到一個(gè)基于依存關(guān)系的具有多個(gè)節(jié)點(diǎn)和邊緣類型的語(yǔ)義圖——捕獲了文章中實(shí)體之間的核心語(yǔ)義關(guān)系。此外,為了模仿人類的一些推理行為,實(shí)體圖在推理過(guò)程中會(huì)發(fā)生動(dòng)態(tài)變化。
(2)語(yǔ)義融合模塊
由于文本具備序列化結(jié)構(gòu)的特點(diǎn),因此在自然語(yǔ)言處理任務(wù)中,通常使用序列化結(jié)構(gòu)進(jìn)行文本嵌入表示。在構(gòu)建了命名實(shí)體圖之后,本文使用與實(shí)體關(guān)聯(lián)的文本嵌入表示來(lái)計(jì)算實(shí)體圖節(jié)點(diǎn)的向量表示。首先,構(gòu)造一個(gè)大小為m×m的二進(jìn)制矩陣M,用于選擇與實(shí)體關(guān)聯(lián)的上下文跨度。其中,m為上下文中的單詞數(shù);n為實(shí)體數(shù)。如果上下文中第i個(gè)單詞在第j個(gè)實(shí)體的范圍內(nèi),則Mi,j=1。由于每個(gè)實(shí)體節(jié)點(diǎn)中可能包含的單詞數(shù)量不止一個(gè),所以對(duì)每個(gè)節(jié)點(diǎn)中所包含的單詞向量都進(jìn)行最大池化與平均池化操作,再將得到的特征向量進(jìn)行拼接,得到最終的每個(gè)節(jié)點(diǎn)信息表示向量如公式(2)所示:
然后,利用門控循環(huán)神經(jīng)網(wǎng)絡(luò)(Gate Recurrent Unit,GRU) 對(duì)節(jié)點(diǎn)狀態(tài)進(jìn)行更新:
至此,得到更新后的實(shí)體圖節(jié)點(diǎn)向量表示:
此外,會(huì)話式機(jī)器理解任務(wù)中,不同輪次的問答對(duì)之間具有一定的承接關(guān)系。而圖作為一種描述數(shù)據(jù)節(jié)點(diǎn)之間關(guān)系的數(shù)據(jù)結(jié)構(gòu),本身并不含有圖之間的順序依賴關(guān)系。因此,本文設(shè)計(jì)了類似循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的信息融合機(jī)制,將之前的推理過(guò)程的結(jié)果融入當(dāng)前的推理過(guò)程中,補(bǔ)充了回答當(dāng)前問題所需要的額外信息。具體計(jì)算方式如下所示:
3.2.3 答案預(yù)測(cè)層
本文使用多輪機(jī)器閱讀理解數(shù)據(jù)集 CoQA[7]和 QuAC[13]作為實(shí)驗(yàn)數(shù)據(jù)。CoQA 是第一個(gè)高質(zhì)量會(huì)話式機(jī)器理解數(shù)據(jù)集——來(lái)自 7 個(gè)不同的領(lǐng)域,共計(jì) 8 399 個(gè)文章段落,12.7 萬(wàn)個(gè)對(duì)話。每個(gè)文章段落平均約有 15.2 輪問答,文章平均長(zhǎng)度達(dá) 271 個(gè)詞。QuAC 數(shù)據(jù)集提取自維基百科,包含 13 594 個(gè)會(huì)話以及 98 407 個(gè)問題,答案平均長(zhǎng)度約達(dá) 15 個(gè)詞且為跨距文本。與 CoQA 不同,QuAC 考慮了現(xiàn)實(shí)中師生問答的情況。學(xué)生試圖通過(guò)一系列的問題來(lái)了解隱藏的知識(shí),而教師用簡(jiǎn)短的段落和所有的會(huì)話來(lái)回答相應(yīng)問題。對(duì)于會(huì)話式機(jī)器閱讀理解,本文沿用機(jī)器閱讀理解中使用的F1值來(lái)作答案評(píng)價(jià)。相較于精確率、召回率,F(xiàn)1值更能準(zhǔn)確評(píng)價(jià)一個(gè)模型的好壞。F1值的計(jì)算如公式(20)所示:
QuAC 的評(píng)價(jià)方法除了F1值以外,還引入了人類等效分?jǐn)?shù)(HEQ)以計(jì)算模型F1值超過(guò)或等于人類F1值的樣本數(shù)百分比。HEQ包括HEQ-Q和HEQ-D:HEQ-Q計(jì)算所有會(huì)話中正確回答問題的百分比;HEQ-D計(jì)算所有會(huì)話中每一組會(huì)話中正確回答問題的百分比。
本文將所提出的 DCGN 模型分別基于 BERT預(yù)訓(xùn)練模型與基于 RoBERTa 預(yù)訓(xùn)練模型進(jìn)行實(shí)驗(yàn),選取目前主流的會(huì)話式閱讀理解模型作為基線模型與本文所提模型進(jìn)行對(duì)比,對(duì)比的基線模型有 FlowQA[16]、FlowDelta[26]、SDNet[27]和 GraphFlow[17]。此外,本文亦對(duì)其他基于BERT 的模型進(jìn)行了比較,如 BERT+HAE[15]、RoBERTa[22]等。實(shí)驗(yàn)結(jié)果如表 1、表 2 所示,本文模型優(yōu)于各種先進(jìn)的基線模型。
本文將對(duì)比模型分為基于 BERT 預(yù)訓(xùn)練模型與基于 RoBERTa 預(yù)訓(xùn)練模型。從表 1 可以觀察到,DCGN 模型在 CoQA 數(shù)據(jù)集上顯著超過(guò)了最先進(jìn)的基于注意力的模型。與同樣基于圖網(wǎng)絡(luò)思想的 GraphFlow 模型相比,本文模型可以更好地學(xué)習(xí)實(shí)體之間的語(yǔ)義關(guān)系與句子之前的句法結(jié)構(gòu)等信息,從而解決模型對(duì)問題和文章理解不充分的問題。同樣,從表 2 可以看出,DCGN 模型在 QuAC 數(shù)據(jù)集上優(yōu)于其他方法。此外,本文將DCGN 模型與基于 RoBERTa 預(yù)訓(xùn)練模型進(jìn)行了比較,證明了本文模型與基于 RoBERTa 預(yù)訓(xùn)練模型同樣具有競(jìng)爭(zhēng)力,且更容易集成到現(xiàn)有模型中。為了證明模型的各模塊對(duì)提升實(shí)驗(yàn)效果的有效性,在驗(yàn)證集上進(jìn)行模型消融實(shí)驗(yàn)來(lái)驗(yàn)證不同模塊對(duì)于模型效果的影響。本文對(duì) DCGN 模型中重要模塊進(jìn)行刪除或者替換實(shí)驗(yàn),結(jié)果如表 3所示。
表1 模型在 CoQA 測(cè)試集上各領(lǐng)域的 F1 值Table 1 F1 values of the model in each field on the CoQA test set
表2 模型在 QuAC 測(cè)試集的評(píng)價(jià)值Table 2 Evaluation results on the QuAC test set
由表 3 結(jié)果可知,刪除實(shí)體圖融合模塊,將文章中的單詞作為圖節(jié)點(diǎn),模型的效果下降了2.2%。由此可見,使用實(shí)體構(gòu)造的圖結(jié)構(gòu)能夠提取文本中的有效信息,避免冗雜信息的引入。刪除語(yǔ)義融合模塊,利用圖嵌入模型獲得每個(gè)圖節(jié)點(diǎn)的向量表示,模型的效果下降了 3.4%,究其原因是無(wú)法匹配節(jié)點(diǎn)與文章信息,造成圖信息與文本信息的不匹配問題。刪除動(dòng)態(tài)圖神經(jīng)網(wǎng)絡(luò)模塊,模型的效果下降了 2.7%,只利用 BERT 預(yù)訓(xùn)練模型對(duì)答案進(jìn)行預(yù)測(cè),缺少基于圖結(jié)構(gòu)的機(jī)器閱讀理解能夠利用圖結(jié)構(gòu)構(gòu)建全局語(yǔ)義關(guān)系以及較長(zhǎng)距離推理關(guān)系的優(yōu)勢(shì)。
表3 模型在 CoQA 測(cè)試集上消融實(shí)驗(yàn)的 F1 值Table 3 The model ablation experimental F1 values on the CoQA test set
本文針對(duì)會(huì)話式機(jī)器閱讀理解任務(wù)提出了一種新的基于動(dòng)態(tài)圖神經(jīng)網(wǎng)絡(luò)的機(jī)器閱讀理解模型(DCGN),該模型首先識(shí)別上下文中的實(shí)體,使用句法結(jié)構(gòu)與句子之間的語(yǔ)義關(guān)系進(jìn)行建模;然后將通過(guò)文本圖結(jié)構(gòu)得到的上下文實(shí)體嵌入表示融合到基于序列化結(jié)構(gòu)得到的上下文嵌入表示中;最終使用圖神經(jīng)網(wǎng)絡(luò)在每輪對(duì)話過(guò)程中動(dòng)態(tài)地構(gòu)建問題和會(huì)話歷史的推理圖,從而實(shí)現(xiàn)會(huì)話式機(jī)器閱讀理解問答。與之前的方法相比,本文提出的模型獲得了較好的結(jié)果。然而,會(huì)話式機(jī)器閱讀理解領(lǐng)域仍處于最初的研究探索階段,模型的推理能力和會(huì)話理解能力還有巨大的提升空間。未來(lái),在機(jī)器閱讀理解可解釋方法上進(jìn)行研究,從會(huì)話歷史篩選出與當(dāng)前問題最相關(guān)的歷史信息,并且生成可解釋的推理路徑。