朱斯琪,過(guò) 弋,2,3,王業(yè)相
(1. 華東理工大學(xué) 信息科學(xué)與工程學(xué)院,上海 200237;2. 大數(shù)據(jù)流通與交易技術(shù)國(guó)家工程實(shí)驗(yàn)室-商業(yè)智能與可視化研究中心,上海 200237;3. 上海大數(shù)據(jù)與互聯(lián)網(wǎng)受眾工程技術(shù)研究中心,上海 200072)
近年來(lái),隨著互聯(lián)網(wǎng)中新聞、電商等平臺(tái)海量文本數(shù)據(jù)的產(chǎn)生,如何更好地理解文本從而提高機(jī)器的智能化水平,已經(jīng)吸引了不少國(guó)內(nèi)外學(xué)者的關(guān)注,而教會(huì)機(jī)器理解人類的語(yǔ)言也是目前自然語(yǔ)言處理領(lǐng)域最大的挑戰(zhàn)之一。機(jī)器閱讀理解,旨在讓機(jī)器通過(guò)指定的上下文來(lái)回答問(wèn)題從而實(shí)現(xiàn)對(duì)自然語(yǔ)言文本的理解。SQuAD[1-2]、RACE[3]、CoQA[4]、DuReader[5]等數(shù)據(jù)集的提出,使得模型在單跳機(jī)器閱讀理解任務(wù)上的性能逐步提升,然而這些模型仍缺少在不同段落中尋找線索和聚集信息的能力。
與單跳機(jī)器閱讀理解相比,多跳機(jī)器閱讀理解需要從多個(gè)段落提及的實(shí)體中找到潛在的內(nèi)部鏈接關(guān)系,提取與問(wèn)題相關(guān)的線索,并對(duì)信息進(jìn)行融合與分析,從而得到最終的答案。因此,多跳機(jī)器閱讀理解是一項(xiàng)更具有挑戰(zhàn)性的任務(wù)。目前,已經(jīng)發(fā)布的多跳MRC數(shù)據(jù)集有Wikihop[6],ComplexWeb-Questions[7],HotpotQA[8]等。
本文實(shí)驗(yàn)基于HotpotQA數(shù)據(jù)集,數(shù)據(jù)樣例如表1所示。該數(shù)據(jù)集每個(gè)樣例包含1個(gè)問(wèn)題與10個(gè)段落,其中僅有兩個(gè)段落與問(wèn)題相關(guān),而其他8個(gè)段落與問(wèn)題無(wú)關(guān)。它不僅需要模型從10個(gè)段落中篩選出與問(wèn)題相關(guān)的兩個(gè)段落,而且還要求模型能夠在選出的兩個(gè)段落中進(jìn)行推理,從而獲得問(wèn)題的答案。此外,由于該數(shù)據(jù)集不依賴于外部的知識(shí),因此需要模型泛化能力強(qiáng),這為開(kāi)放領(lǐng)域的問(wèn)答打下了堅(jiān)實(shí)的基礎(chǔ)。
表1 HotpotQA數(shù)據(jù)集的數(shù)據(jù)樣例
目前,為了解決多跳推理機(jī)器閱讀理解任務(wù),主要有三類研究方向。
(1)圖神經(jīng)網(wǎng)絡(luò): 將文本中的實(shí)體以及其他信息構(gòu)建為實(shí)體圖,并通過(guò)GCN、GAT等模型對(duì)包含鏈接的實(shí)體表示進(jìn)行更新,從而得到答案。該方法雖具備一定的可解釋性,但實(shí)體識(shí)別工具的不準(zhǔn)確性會(huì)對(duì)該類模型造成一定的干擾,且當(dāng)答案不是實(shí)體時(shí),模型很難給出正確答案。
(2)多跳轉(zhuǎn)單跳: 將多跳問(wèn)題轉(zhuǎn)化為單跳問(wèn)題,再對(duì)每一個(gè)單跳問(wèn)題用傳統(tǒng)的機(jī)器閱讀理解模型進(jìn)行回答。此類模型的缺點(diǎn)是在問(wèn)題分解時(shí)缺少標(biāo)注樣本,極大地限制了模型的性能。
(3)當(dāng)作單跳問(wèn)題: 預(yù)訓(xùn)練模型的強(qiáng)大性能使得部分研究人員將多跳推理問(wèn)答任務(wù)當(dāng)作簡(jiǎn)單的單跳任務(wù)輸入到預(yù)訓(xùn)練模型中進(jìn)行訓(xùn)練,該方法雖然性能較好,但由于受到預(yù)訓(xùn)練文本長(zhǎng)度的限制,無(wú)法同時(shí)具備多個(gè)段落的視野,以至于此類模型不論是在段落篩選時(shí)還是在問(wèn)答時(shí),都缺少跨段落文本之間的交互。
為了解決上述模型的不足,本文提出了一種跨段落信息深度交互融合的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)加強(qiáng)段落-段落、問(wèn)題-段落之間的交互。首先,通過(guò)對(duì)多個(gè)段落信息的交互融合,篩選出10個(gè)段落中與問(wèn)題相關(guān)的兩個(gè)段落,降低干擾項(xiàng)段落對(duì)模型性能的影響。進(jìn)而將篩選出的兩個(gè)“黃金段落”的信息進(jìn)行交互與融合,這也是目前的工作所忽略的內(nèi)容。最后,問(wèn)題與段落通過(guò)傳統(tǒng)機(jī)器閱讀理解模型進(jìn)行交互融合,并通過(guò)答案預(yù)測(cè)模塊得到最終答案。
本文的貢獻(xiàn)總結(jié)如下:
(1) 提出了一種多段落信息融合的思想,可有效地在段落篩選模塊和答案選擇模塊發(fā)揮其優(yōu)勢(shì),實(shí)現(xiàn)多跳推理任務(wù)中的多信息交互,提升模型性能。
(2) 針對(duì)段落選擇模塊設(shè)計(jì)了一個(gè)跨段落的交互架構(gòu)。以往模型大多僅計(jì)算多個(gè)文本之間的相似性得分,而本文將一個(gè)完整的段落表示當(dāng)作一個(gè)單獨(dú)的向量,并利用多層自注意力機(jī)制實(shí)現(xiàn)不同段落間信息的交互融合,從而篩選出與問(wèn)題相關(guān)的段落。
(3) 針對(duì)段落信息融合模塊設(shè)計(jì)了一個(gè)信息融合網(wǎng)絡(luò),可以解決在預(yù)訓(xùn)練模型中由于文本長(zhǎng)度過(guò)長(zhǎng)而產(chǎn)生的限制。此外,該網(wǎng)絡(luò)可適用性強(qiáng),可以處理超過(guò)兩個(gè)段落以上的文本內(nèi)容。
(4) 在HotpotQA數(shù)據(jù)集上對(duì)提出的方法進(jìn)行評(píng)測(cè),結(jié)果表明,僅使用基礎(chǔ)版本的預(yù)訓(xùn)練模型就可以在干擾項(xiàng)賽道實(shí)現(xiàn)較好的結(jié)果,與基準(zhǔn)模型相比,精確匹配(EM)提升18.5%,F1值提升18.47%,性能僅次于HGN[9]模型。
隨著SQUAD[1-2]、RACE[3]、CoQA[4]、DuReader[5]等閱讀理解數(shù)據(jù)集的提出,機(jī)器閱讀理解領(lǐng)域發(fā)展迅猛,特別是在基于大規(guī)模數(shù)據(jù)BERT[10]、RoBERTa[11]、AlBERT[12]等預(yù)訓(xùn)練模型產(chǎn)生后,機(jī)器閱讀理解進(jìn)入了一個(gè)全新的時(shí)代。而以Wikihop[6]、ComplexWebQuestions[7]、HotpotQA[8]為代表的多跳推理閱讀理解數(shù)據(jù)集則為自然語(yǔ)言處理領(lǐng)域提供了一個(gè)更具有挑戰(zhàn)意義的任務(wù)。
現(xiàn)有的研究工作已經(jīng)在多跳機(jī)器閱讀理解任務(wù)中發(fā)揮了傳統(tǒng)機(jī)器閱讀理解的作用。例如,Sewon等[13]和Perez等[14]將多跳問(wèn)題分解為多個(gè)子問(wèn)題,進(jìn)而利用傳統(tǒng)單跳機(jī)器閱讀理解方法來(lái)解決多跳推理問(wèn)題。Nishida等[15]將抽取線索當(dāng)作一個(gè)基于問(wèn)題的文本摘要任務(wù),并在每一跳時(shí)更新問(wèn)題的表示。
而Tu等[16]、Groeneveld[17]等、Sewon等[18]以及Shao等[19]則通過(guò)傳統(tǒng)的TF-IDF方法或?qū)︻A(yù)訓(xùn)練模型進(jìn)行微調(diào)來(lái)計(jì)算問(wèn)題與10個(gè)段落的相似性程度從而獲得與問(wèn)題相關(guān)的“黃金段落”,進(jìn)而通過(guò)BERT[10]或RoBerta[11]等預(yù)訓(xùn)練模型得到問(wèn)題的答案。而Jiang等人[20]則設(shè)計(jì)了三個(gè)模塊動(dòng)態(tài)地實(shí)現(xiàn)不同類型的推理。然而,不論是在檢索黃金段落時(shí)還是在回答問(wèn)題時(shí),很少有研究工作關(guān)注到多個(gè)段落之間的交互。
除了上述工作,研究人員同時(shí)也發(fā)現(xiàn)了圖神經(jīng)網(wǎng)絡(luò)在多跳問(wèn)答領(lǐng)域發(fā)揮的作用。Dhingra等[21]、Ming等[22]、Ming等[23]、Nicola等[24]均通過(guò)spacy及Stanford corenlp工具包[25]等命名實(shí)體識(shí)別工具識(shí)別上下文中的實(shí)體,從而構(gòu)建一張實(shí)體圖,并通過(guò)GCN[26]、GAT[27]或者它們的變體在構(gòu)建的整張圖上進(jìn)行推理。
此外,DFGN[28]設(shè)計(jì)了一個(gè)融合層來(lái)動(dòng)態(tài)地探究每一個(gè)推理步的子圖并通過(guò)動(dòng)態(tài)掩碼來(lái)選擇合適的子圖。然而并不是所有的問(wèn)題都是由實(shí)體組成的,因此,單純地將文本中的實(shí)體當(dāng)作圖結(jié)點(diǎn)對(duì)模型的性能產(chǎn)生了一定的限制。為解決此問(wèn)題,HGN[9]利用不同細(xì)粒度的異構(gòu)節(jié)點(diǎn)信息創(chuàng)建了一個(gè)層級(jí)圖結(jié)構(gòu),從而實(shí)現(xiàn)HotpotQA數(shù)據(jù)集中不同類型的任務(wù)。而SAE[16]則在構(gòu)建圖的時(shí)候,將每個(gè)句子當(dāng)作一個(gè)結(jié)點(diǎn)而不是將實(shí)體當(dāng)結(jié)結(jié)點(diǎn)。然而Shao等[19]通過(guò)實(shí)驗(yàn)證明,在多跳問(wèn)答中,一個(gè)經(jīng)過(guò)良好調(diào)整的預(yù)訓(xùn)練模型可以完全替代圖神經(jīng)網(wǎng)絡(luò)。因此,本文不采用圖神經(jīng)網(wǎng)絡(luò)方法實(shí)現(xiàn)段落篩選與答案選擇。
本文所提出模型的整體結(jié)構(gòu)如圖1所示,模型主要包括段落篩選模塊、文本編碼模塊、段落-段落信息融合模塊、問(wèn)題-文本注意力交互模塊以及答案選擇5個(gè)模塊。下文將給出每個(gè)模塊細(xì)節(jié)的詳細(xì)描述。
圖1 模型整體結(jié)構(gòu)
在HotpotQA數(shù)據(jù)集中,每個(gè)樣例由一個(gè)問(wèn)題q與10個(gè)段落p1,p2,…,p10組成,然而并不是10個(gè)段落均對(duì)回答問(wèn)題有所幫助,因此需要將與問(wèn)題有關(guān)的段落篩選出來(lái),避免對(duì)模型造成干擾。目前,篩選“黃金段落”的研究工作[19,28]僅僅計(jì)算問(wèn)題和單個(gè)段落之間的相似性分?jǐn)?shù),而忽略了一個(gè)段落對(duì)另一個(gè)段落產(chǎn)生的影響,因此我們針對(duì)這個(gè)問(wèn)題設(shè)計(jì)了一個(gè)新的模型,模型結(jié)構(gòu)如圖2所示。
圖2 段落篩選模塊模型結(jié)構(gòu)
(1)其中,Wc、Wd、Wg是可調(diào)節(jié)的參數(shù),Ql、Kl、Vl是Xl的線性映射,l是自注意力的第l層,Hl是第l層中融合了其他9個(gè)段落信息的上下文表示,Hl也被定義為l+1層的輸入Xl+1。最后一層的隱藏層狀態(tài)被定義為多層自注意力模塊的輸出Hsa。最后,將段落選擇任務(wù)當(dāng)作多標(biāo)簽分類問(wèn)題,從10個(gè)段落中直接選擇兩個(gè)段落,交叉熵?fù)p失函數(shù)被定義如式(2)所示。
(2)其中,P(yi)是第i個(gè)段落是黃金段落的概率,ai表示第i個(gè)段落的標(biāo)簽,如圖3所示,如果段落篩選模塊的輸出是(0,0,1,0,0,0,0,0,1,0),則認(rèn)為第3個(gè)和第9個(gè)段落是與問(wèn)題相關(guān)的段落。2.2 文本編碼模塊在上個(gè)模塊里,對(duì)于每個(gè)樣例,我們獲得段落m和段落n。接下來(lái),分別對(duì)段落m和n構(gòu)建特征"yesno"+para+"",并分別輸入到RoBerta模型中。本實(shí)驗(yàn)針對(duì)需要用“yes”和“no”回答的問(wèn)題,我們?cè)谳斎氲奶卣髦刑砑恿恕皔es”和“no”兩個(gè)單詞,而不是像以往的模型那樣將其作為一個(gè)分類任務(wù)。接下來(lái),模型分別輸出段落m和段落n的文本編碼Hm∈lsm×h以及Hn∈lsn×h,其中,lsm和lsn分別表示段落m和段落n的序列長(zhǎng)度。2.3 段落-段落信息融合模塊目前,已有的工作[16,19]僅將選擇出來(lái)的段落通過(guò)一個(gè)預(yù)訓(xùn)練模型和線性層得到答案的開(kāi)始位置和結(jié)束位置,然而,大部分的預(yù)訓(xùn)練模型都受到文本長(zhǎng)度的限制,盡管應(yīng)用了滑動(dòng)窗口的方法來(lái)解決文本過(guò)長(zhǎng)的問(wèn)題,但是對(duì)于多個(gè)段落來(lái)說(shuō),一個(gè)段落前面的文本和另外一個(gè)段落尾部的文本仍然沒(méi)有辦法擁有互相的視野。為了解決這個(gè)問(wèn)題,本實(shí)驗(yàn)設(shè)計(jì)了一個(gè)段落-段落信息融合模塊。首先,將上一個(gè)模塊的輸出Hm分為lq×h和lm×h,Hn也同樣被分為lq×h和ln×h。其中,lq、lm和ln分別為問(wèn)題的最大長(zhǎng)度,段落m的長(zhǎng)度以及段落n的長(zhǎng)度。接下來(lái),為了融合段落m和段落n所包含的信息,本實(shí)驗(yàn)采用交叉注意力機(jī)制來(lái)生成包含另一個(gè)段落信息的段落表示。與自注意力機(jī)制[29]不同的是,我們定義的線性映射是的線性映射分別是Kn和Vn。然后,將Qm,Kn,Vn輸入到交叉注意力機(jī)制層中從而獲得深度交互融合的段落信息表示,具體方式與式(1)類似。此外,這里使用了多頭注意力機(jī)制,定義如式(3)所示。
圖3 問(wèn)答模塊模型結(jié)構(gòu)
(4)此外,本文設(shè)計(jì)了一個(gè)問(wèn)題-文本注意力交互模塊來(lái)加強(qiáng)每個(gè)問(wèn)題-段落對(duì)的雙向注意力流的交互。首先,與Seo[31]的工作類似計(jì)算問(wèn)題編碼Q和段落編碼C之間的相似度矩陣S∈(lm+ln)×lq,如式(5)所示。
(5)其中,Ci和Qj分別表示段落文本的第i個(gè)字符表示和問(wèn)題的第j個(gè)字符表示,“⊙”表示矩陣對(duì)應(yīng)元素相乘。
圖4 自注意力網(wǎng)絡(luò)層數(shù)對(duì)答案選擇性能的影響
圖5 自注意力層數(shù)對(duì)答案選擇EM及F1的影響
3.2 實(shí)驗(yàn)結(jié)果表2中列舉了在干擾項(xiàng)賽道公開(kāi)發(fā)布的模型性能。可以看出,本文提出的模型僅通過(guò)base版本就已經(jīng)實(shí)現(xiàn)了具有競(jìng)爭(zhēng)力的效果,EM超過(guò)基準(zhǔn)模型18.5%,F(xiàn)1值超過(guò)基準(zhǔn)模型18.47%。
表2 實(shí)驗(yàn)結(jié)果 (單位: %)
為了更好地驗(yàn)證本文所提出的模型的性能,本文進(jìn)行了段落篩選模塊、答案選擇模塊的消融實(shí)驗(yàn)。
首先,對(duì)段落篩選模塊進(jìn)行消融實(shí)驗(yàn),指標(biāo)僅選擇精確匹配(EM),結(jié)果如表3所示。本文提出的段落篩選模型精確匹配率為93.32%,當(dāng)去掉平均池化層后EM為93.07%;當(dāng)去掉一層自注意力層后,EM為92.00%,而去掉兩層自注意力層后EM為87.28%,如表3所示。由此可見(jiàn),增加段落信息之間的交互對(duì)選擇合適的“黃金段落”有益。此外,將段落表示從768維降為1維的平均池化層也為模型的性能帶來(lái)了提升。
表3 段落篩選模塊消融實(shí)驗(yàn)
接下來(lái),對(duì)答案選擇模塊進(jìn)行消融實(shí)驗(yàn),結(jié)果如表4所示。為了模型性能不受到段落篩選模塊的影響,此處僅使用“黃金段落”作為輸入來(lái)驗(yàn)證答案選擇模塊的性能。從表4中看出,段落-文本信息融合模塊與問(wèn)題-文本注意力交互模塊均在一定程度上提升了模型性能。
表4 答案選擇模塊消融實(shí)驗(yàn)
此外,通過(guò)采用不同的問(wèn)題-文本注意力交互方法: AOA[36]、BiDAF[31]、交叉注意力[29],來(lái)證明本文實(shí)驗(yàn)所采用的模型性能優(yōu)異。為了方便比較,將RoBerta-base模型以及段落-文本信息融合作為基準(zhǔn)模型,實(shí)驗(yàn)結(jié)果如表5所示。
表5 不同問(wèn)題-文本注意力交互實(shí)驗(yàn)結(jié)果
值得一提的是,在信息融合之后拼接段落m和段落n的文本表示對(duì)模型性能的提升很大。在實(shí)驗(yàn)開(kāi)始階段并沒(méi)有拼接兩個(gè)段落的信息,而是將兩個(gè)段落分開(kāi)處理,僅僅使用輸入特征的第一個(gè)單詞“”來(lái)決定答案是否位于此段落中。然而,實(shí)驗(yàn)結(jié)果EM僅有62.64%,F(xiàn)1值僅有76.21%。
本節(jié)探究了數(shù)據(jù)集中的錯(cuò)誤樣例,錯(cuò)誤類型可以分為以下三種類型: 多少類,是否類,實(shí)體錯(cuò)誤類。表6列舉了每個(gè)錯(cuò)誤類別的部分樣例。
表6 錯(cuò)誤樣例
對(duì)數(shù)據(jù)集中模型預(yù)測(cè)錯(cuò)誤的樣例進(jìn)行分析,大多數(shù)的錯(cuò)誤都集中在多少類: 模型預(yù)測(cè)的答案與標(biāo)準(zhǔn)答案相比多幾個(gè)單詞或少幾個(gè)單詞,但并不影響答案所表述的意思。但是由于模型的評(píng)估指標(biāo)有精確匹配(EM),因此在一定程度上會(huì)影響模型性能。
第二種錯(cuò)誤類型為是否類: 問(wèn)題需要通過(guò)“yes”或者“no”來(lái)回答。以表6中樣例為例,問(wèn)題的標(biāo)準(zhǔn)答案是“yes”,但是模型預(yù)測(cè)為“no”。因?yàn)槟P偷妮斎霝?yesno"+para +"",所以模型僅在yes和no之間定位答案,缺少足夠的邏輯推理與判斷。因此,未來(lái)的工作中我們將會(huì)更多地專注于對(duì)是否類問(wèn)題的回答,以此提高模型的邏輯推理能力。
第三種錯(cuò)誤類型為實(shí)體錯(cuò)誤類,例如,問(wèn)題“Who is older, Annie Morton or Terry Richardson?”需要比較兩個(gè)實(shí)體的屬性。由于缺少對(duì)數(shù)字的推理計(jì)算能力,導(dǎo)致本文模型在此類問(wèn)題上效果并不優(yōu)異。因此,在未來(lái)的工作中我們將會(huì)添加類似于推理機(jī)的機(jī)制來(lái)比較不同實(shí)體,并參考在數(shù)字推理數(shù)據(jù)集Drop[37]上進(jìn)行研究的工作進(jìn)一步改進(jìn)本文模型。
本文提出了一個(gè)處理多跳機(jī)器閱讀理解任務(wù)的模型。首先,本文提出了一種通過(guò)多個(gè)段落間的信息交互篩選出與問(wèn)題相關(guān)的段落的“黃金段落”篩選模型;然后,為了解決在預(yù)訓(xùn)練模型中文本長(zhǎng)度限制的問(wèn)題,提出了一種融合多個(gè)段落信息的方法,進(jìn)而應(yīng)用傳統(tǒng)的機(jī)器閱讀理解方法得到最終的答案。在HotpotQA數(shù)據(jù)集上的實(shí)驗(yàn)顯示,本文模型與排行榜上其他模型相比實(shí)現(xiàn)了比較優(yōu)異的效果。在未來(lái)的工作中,本文將專注于對(duì)需要進(jìn)行比較和判斷的問(wèn)題進(jìn)行研究以提高模型的邏輯推理能力,進(jìn)一步提升模型性能。