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