蘇 珂,黃瑞陽,張建朋,余詩媛,胡 楠
(1.鄭州大學 軟件學院,鄭州 450001;2.國家數字交換系統工程技術研究中心,鄭州 450002)
機器閱讀理解(Machine Reading Comprehension,MRC)是一項使機器能夠理解文本篇章段落語義內容并回答人類相關問題的技術。MRC 可以幫助人類從海量文本中快速聚焦相關主題,顯著提升人類獲取信息的效率,因此,其在文本理解、信息抽取、對話系統等領域具有極高的應用價值。近年來,隨著深度學習快速發展,機器智能化水平大幅提升,一些大規模MRC 數據集被陸續發布,基于深度學習的MRC 技術開始進入人們的視野。與傳統MRC 模型相比,基于深度學習的MRC 模型使用神經網絡結構,能夠更好地挖掘文本的上下文語義信息,在文本理解和智能問答中表現更為出色,甚至超越了人類水平。因此,該技術受到工業界和學術界的廣泛關注,被認為是實現通用人工智能的重要支撐。
根據答案的形式,常見的MRC 任務可分為完形填空式、多項選擇式、片段抽取式、自由回答式等4 類[1],其中,完形填空式和多項選擇式是考試試題中的常見題型,數據收集相對簡單,這兩類任務通常采用淺層語義匹配或多分類模型解決。自由回答式閱讀理解形式多樣且難度大。相比而言,片段抽取式閱讀理解難度適中,且有高質量的數據集支撐,其作為文本問答、信息抽取等領域的基礎任務,具有較高的研究價值,因此也受到更多關注。然而,現有的抽取式閱讀理解模型和相關數據集大多限定答案僅由單個文本中單個片段組成,這在很大程度上限制了當前MRC 模型的實際應用[2]。
在開放域問答等復雜場景中,很多問題對應答案的段落都不是預先確定的,需要在多個文本段落中“跳轉”,即模型需要整合來自不同來源的證據文本并推斷出答案。因此,多跳機器閱讀理解技術應運而生,其不是從文章中直接定位答案,而是經過多步的跳轉推理后獲取答案,相比單跳機器閱讀理解更具挑戰性。如對于問題“誰是X 導演2018 年在洛杉磯拍攝的愛情電影的女主角”,首先要定位到X 導演2018 年在洛杉磯拍攝的愛情電影的實體,然后跳轉到該實體所在段落或文本,找到電影的女主角作為最終答案。可以看出,這樣的問題更加復雜,處理難度更大。首先,要從多篇文檔中檢索到與問題相關的文檔。答案監督的多跳閱讀理解模型可能會檢索包含正確答案但與問題無關的文檔,這種噪聲會影響模型的性能表現。其次,可能存在不能回答問題的情況。如果模型檢索得到的文檔中沒有答案,但沒有判斷出問題不能回答,則即使答案不正確也會輸出答案,這將導致模型性能表現變差。此外,還可能存在多個答案,需要根據問題所在的上下文語境做進一步判斷。如問題“美國總統是誰”,特朗普和奧巴馬都是可能的答案,但是哪一個是正確答案還需要結合語境進行推斷。除上述挑戰外,還要對多條線索進行聚合。回答問題的線索可能出現在多篇文檔中,需要對其進行總結歸納或者逐步跳轉才能得出最終答案。
近年來,很多研究者致力于解決面向大型非結構化文本語料庫的開放域問答(Open-domain Question Answering,OpenQA)任務,并在多跳機器閱讀理解方面開展了許多研究與實踐。本文對多跳機器閱讀理解技術的研究進展進行梳理總結,將現有方法歸為基于問題分解、基于圖神經網絡(Graph Neural Network,GNN)、改進檢索、基于推理路徑等方法,分別闡述特點和優劣并展示各模型在專用數據集上的性能表現。在此基礎上,分析當前MHMRC 任務的熱點與難點,并展望未來發展方向。
現有多跳問答的工業實踐往往依賴于大型知識庫完成,面向非結構化文本數據的多跳閱讀理解任務,現有方法主要包括以下3 類:
1)基于問題分解的方法,即利用化繁為簡的思想將復雜問題分解為單步即可找到答案的子問題,最后子問題答案即為復雜問題的答案。
2)基于圖神經網絡(GNN)的方法,即先對文本進行命名實體識別,抽取出實體,再以實體作為GNN中的節點來處理多跳問題。
3)針對開放域多跳改進檢索和基于推理路徑的方法。改進檢索的方法是基于信息抽取(Information Retrieval,IR)模型先對開放域語料進行粗過濾,將問題支持文檔或段落檢索出來,再拼接支持文檔,使用單跳閱讀理解(Reading Comprehension,RC)模型從中進行答案抽取,其使用IR 和RC 模型迭代檢索,通過每次將閱讀理解結果反饋給IR 以更好地選擇支持文檔。基于推理路徑的方法則是為問題生成一個推理鏈,根據此推理鏈進行跳轉即可得出答案。
基于問題分解的方法是指將復雜問題分解成若干個相對簡單的子問題,然后把這些子問題及其答案作為上下文提供給模型,以此大幅降低直接回答復雜問題的難度。
文獻[3]設計了DECOMPRC 系統,將組合問題分解為若干個簡單的子問題,而這些子問題可以通過現成的單跳RC 模型來回答。DECOMPRC 通過3 個步驟回答問題:1)根據3 種推理類型將原始的多跳問題分解為多個單跳子問題,3 種推理類型包括橋接、交叉和比較,其中,橋接類型需要找到第1 跳與第2 跳的橋接證據,交叉類型要求找到滿足2 個獨立條件的2 個實體,比較類型則需要比較2 個不同實體的屬性;2)對每一種推理類型,利用單跳RC 模型回答每個子問題,并根據推理類型組合答案;3)利用一個分解打分器來判斷哪個分解是最合適的,并將該分解的答案作為最終答案輸出。此外,DECOMPRC系統還采用了一種新的全局重新打分方法,即考慮每種分解來選擇最佳答案,大幅提高了整體性能,增強了模型的可解釋性,為答案推理提供了依據。
文獻[4]提出一個使用指針網絡框架解決問題分解的方法。指針網絡主要用于解決組合優化類問題,首先使用注意力機制計算Softmax 概率值,將其作為指針指向輸入序列中的元素,然后對輸入序列進行組合,最后使用有監督方法對模型進行訓練。該方法先利用指針網絡分解復雜問題,并把分解后的簡單問題送入搜索引擎查找問題上下文,再利用單跳RC 模型抽取答案。具體地,先通過構造計算樹的方法來拆分問題,再使用Web-based QA+RASOR和DocQA 這2 個RC 模型來給出答案和該答案得分,并和原來的得分進行比較,進而決定是否進行分解。該文作者同時發布了Complex WebQuestion數據集,其中問題類型包括Comp(two hop)、conj(two constraint)、comparable、superlative 等4 類。
多跳問答需要模型連接分散在長上下文中的多條證據來回答問題,如HotpotQA 數據集由包含4 種不同多跳推理范式的問題組成(具體包括需要橋實體或者需要對比2 個實體,以及需要檢查實體多個屬性和通過橋實體來推斷另一實體的屬性),這使得單個神經網絡模型難以處理所有情況。文獻[5]基于棧的思想提出一個基于控制器的模塊自組裝神經網絡,其中包括4個新的模塊(find,relocation,compare,no),每個模塊執行單一類型的推理。該自組裝網絡首先以預訓練BERT 詞向量作為輸入來理解多跳問題的語義,使用控制器從問題中推斷出所需的每一步推理行為并輸出子問題,同時預測所有可用模塊的軟組合,以引導主網絡遵循推理路徑。然后按照模塊軟組合依次或并行使用子模塊進行答案推理得出最終答案,其中中間模塊可以通過橋實體連接2 個相距較遠的證據事實。
先前的工作探索了用監督或啟發式算法來分解問題,而文獻[6]提出一種在無監督的情況下自動分解問題的算法。分解包括3 個階段:1)學習在無監督情況下使用偽分解對多跳問題進行分解;2)使用現成的單跳RC 模型回答子問題;3)使用子問題及其答案作為附加輸入來更準確地回答復雜問題。該方法只依賴于最終的答案作為監督,但與依賴于強監督的方法一樣有效,即非監督分解產生的子問題答案通常與HotpotQA 中標注的證據事實一致。然而不足的是,這種無監督分解在很大程度上是抽取式的,雖然這對于組合式的多跳問題也有效,但不能處理所有的復雜問題,后續仍然需要更多地研究無監督分解。
基于問題分解的方法對比如表1 所示,從中可以看出,各模型基本的分解思路都是相同的,大致也都是將問題類型分為橋接、對比等幾個類型,主要差異在于分解方式的不同,有使用分解打分器、指針網絡等來選擇分解組合的,也有探索無監督分解的工作。因此,針對此類方法的研究思路主要是改進分解方式,包括探索魯棒的無監督分解方法等。

表1 基于問題分解的MHMRC 方法對比Table 1 Comparison of MHMRC methods based on question decomposition
圖神經網絡(GNN)是一種用于處理圖結構數據的神經網絡模型,在信息傳播、關系歸納偏置上展現了優秀的性能。當信息在圖的節點之間傳播時,GNN 中每個節點會學習到它的鄰居節點狀態表示,并以此來更新自己的節點表示。因此,研究者采用圖數據結構構建文本數據之間的關聯,應用GNN 技術在多文檔多段落數據上實現多跳推理問答。一方面,利用圖表示學習在節點和邊表示上的優勢,可以更好地表示文本語義;另一方面,利用圖神經網絡在信息傳播和推理上的優勢,可以更有效地在多文檔多段落之間進行跳轉,提供可解釋的模型。顯然,將GNN 用于多跳推理任務時必須解決以下問題:1)確定圖中的節點,并初始化節點表示;2)確定節點與節點之間的連邊關系;3)設計節點之間的信息傳遞算法。
文獻[7]提出了基于GNN 的多跳問題處理方法,分別構建了基于圖卷積網絡(Graph Convolutional Network,GCN)和圖循環網絡(Graph Recurrent Network,GRN)的基線模型MHQA-GCN 和MHQAGRN。對于輸入,首先用BiLSTM 層編碼,然后提取段落中提及實體的表示向量(使用斯坦福CoreNLP來獲得共指解析和命名實體識別標注結果),將段落中的實體名或者代表實體的代詞視為圖中的節點。在圖中考慮3 種類型的邊:1)不同文章之間或同一文章中相距較遠的同一實體節點之間的連邊;2)在同一文章中2 個不同實體節點之間的連邊,這有助于在實體間傳遞有用的證據;3)在同一段落固定窗口閾值內2 次提及的不同實體節點之間的連邊。MHQA-GCN 與MHQA-GRN 采用相同的方法初始化提及實體的表示向量,其區別主要在于GCN 和GRN 傳遞信息時更新節點狀態的方式,其中GRN 采用門控機制,而GCN 采用帶Sigmoid 的線性傳輸。
文獻[8]也在多步推理任務中引入了GCN 算法來建模實體之間的關系,建立了Entity-GCN 模型。Entity-GCN 使用預訓練語言模型ELMo2 來初始化節點表示,而節點關系則由以下4 個規則確定:1)同一文檔中的實體節點相連接;2)相同的2 個實體節點相連接;3)處于同一共指關系鏈中的實體節點相連接;4)為防止出現與其他實體都沒有聯系的孤立實體,任意2 個實體節點之間都有特殊的邊相連接。對于節點間的消息傳遞,Entity-GCN 在使用GCN 之外還引入了門控機制來控制每一層各個節點的表示被傳遞到下一層的比例。
文獻[9]利用對自然語言分粒度進行建模的思想,將候選答案、文檔和文檔中的實體建模為圖中不同類型的節點,提出一種異構文檔-實體圖(Heterogeneous Document-Entity graph,HDE graph)。
與Entity-GCN 不同的是,HDE graph 有候選答案、文檔、實體等3 種類型的節點,并同時使用Co-attention和Self-attention 上下文編碼方法來學習初始節點表示。首先使用門控循環單元(Gate Recurrent Unit,GRU)分別對問題、文檔和候選答案進行編碼。然后進行實體抽取,將問題和候選答案中的提及實體都抽取出來作為實體。最后計算節點間的聯合注意力和自注意力池化作為節點的初始化表示。其中節點之間的連邊關系具體包括:1)文檔與候選答案,候選答案出現在文檔中則邊存在;2)文檔與實體,若實體是從該文檔中抽取出的則邊存在;3)候選答案和實體,若候選答案提及到該實體則邊存在;4)實體與實體,若兩實體是從同一篇文章中抽取出的則邊存在,若兩實體是同一個候選答案或問題對象所提及到的,則邊也存在;5)所有候選答案互相連接;6)連接不滿足上述條件的實體。在推理鏈方面,HDE graph使用與Entity-GCN 相同的圖卷積算法。
同樣基于GCN 方法,文獻[10]提出了BAG 模型,采用多級特征來更好地進行節點間關系表示,并引入圖與問題間的雙向注意力來生成問題感知的節點表示,為推理預測提供信息。如圖1 所示,BAG 模型有候選答案和提及實體2 類實體節點。對于節點表示,其使用GloVe+ELMo+NER Embedding+POS Embedding 多級特征來初始節點。與HDE graph 不同的是,BAG 的節點表示在初始化時并不與問題進行交互,而是在圖與問題的雙向注意力層進行交互,而對于節點的連邊關系,則是在同一實體在不同文本中和不同實體在同一文本中的2 種情況下的節點間連接邊。在消息傳遞算法上,BAG 同樣使用關系圖卷積網絡(R-GCN)模型與門控機制。

圖1 BAG 模型架構Fig.1 Framework of BAG model
上述模型都是針對WIKIHOP 數據集設計的,該數據集包含候選答案,只需要根據已知內容在候選答案中做選擇題。對于類似HotpotQA 的抽取式的閱讀理解,模型的預測目標是文本中答案開始和結束位置的概率,并抽取出概率最大的文本片段作為答案。因此,將圖神經網絡應用于抽取式閱讀理解任務還需要進一步解決如何從推理鏈條的最后一跳中抽取出最終答案片段的問題。
文獻[11]提出DFGN(Dynamically Fused Graph Network)模型,將圖網絡應用于抽取式閱讀理解。該模型基于需要閱讀的文章構建實體圖,對于所給的候選文檔集合,首先使用一個二分類模型將問題相關的段落篩選出來,并將被選出的段落列表拼接作為文本,將問題與文本拼接,經過BERT 和雙向注意力的編碼得到問題與文本中每個單詞的向量表示。在使用預訓練BERT 在命名實體識別的經典數據集CoNLL 2003 上進行微調后,對HotpotQA 的每篇文章進行命名實體識別,得到每篇文章的實體。在此基礎上,使用以下3 個規則建立邊:1)對于同一個句子中同時出現的實體間,建立邊的連接;2)對于同樣的實體在文本中出現多次,則他們直接有邊的連接;3)文章標題中出現的實體與其對應正文中的所有實體都有連接。DFGN 模型架構如圖2 所示。與Entity-GCN、HDE graph、BAG 這3 種模型不同的是,該模型使用GAT 代替GCN 作為節點間的消息傳遞算法,且加入了Graph2Doc 模塊,將每個實體節點的向量表示與實體對應的單詞表示進行拼接,然后送入長短期記憶(Long Short-Term Memory,LSTM),將圖結構中實體的表示變為序列表示來抽取答案。

圖2 DFGN 模型架構Fig.2 Framework of DFGN model
文獻[12]提出一種層次圖網絡(Hierarchical Graph Network,HGN),通過具有層次結構的多級細粒度圖實現答案和證據事實的聯合預測。如圖3 所示,HGN 包含以下4 個主要模塊:

圖3 HGN 模型架構Fig.3 Framework of HGN model
1)圖構建模塊,引入了問題、段落、句子和實體這4 種類型的圖節點,并定義了7 種不同類型的邊,包括問題節點和段落節點之間的邊、問題節點與其對應的實體節點之間的邊、段落節點與其對應的句子節點之間的邊(段落中的句子)、句子節點與其通過超鏈接鏈接的段落節點之間的邊、句子節點及其對應的實體節點(出現在句子中的實體)之間的邊、段落節點之間的邊和同一段落中出現的句子節點之間的邊。該模塊可以有效地利用所有不同粒度級別的結構信息來學習細粒度的表示并連接來自不同來源的線索。
2)上下文編碼模塊,通過基于預訓練RoBERTa模型獲得圖節點的初始表示。
3)圖推理模塊,基于預訓練的RoBERTa 編碼器訓練段落排序器,檢索段落標題與問題中的短語匹配的段落,如果通過標題匹配找到多個段落,則對其概率進行排序并僅選擇得分最高的2個段落。推理過程使用基于圖注意力(Graph Attention Network,GAT)的消息傳遞算法來聯合更新節點表示形式,并使用第1 跳段落中的超鏈接來發現第2 跳段落。
4)多任務預測模塊,其中多個子任務是同時執行的,包括段落選擇、證據事實預測、實體預測和答案提取。
文獻[13]提出文檔圖網絡(Document Graph Network,DGN)模型,采用預過濾步驟來限制節點的數量,并直接在提取的文檔圖(Document Graph,DG)上訓練門控圖神經網絡(Gated Graph Neural Network,GGNN),從而為文檔圖結構表示的識別提供證據文本。對預過濾考慮文檔中出現的所有句子,其采用預訓練的GloVe 向量來獲得每個單詞的分布式表示,并計算句子中每個單詞與問題中每個單詞之間的相似度,選擇具有TopK個相關分數的句子獲得最終子集。在此基礎上,建立DG,其中包含文檔節點和句子節點2 種節點,并添加2 種類型的邊:s2d 類型的邊表示句子屬于該文檔;d2d 類型的邊表示在該文檔中引用了另一文檔中描述的實體。DG 對文檔語料庫中表達的背景知識進行編碼,并永久存儲在數據庫中,以便在需要時加載。給定一個問題,使用DG 作為DGN 模型的輸入,可以大幅簡化計算。
文獻[14]提出SAE(Select-Answer-Explain)模型。如圖4 所示,該模型首先過濾掉與答案無關的文檔,然后基于GNN 提取答案。模型從給定的N個文檔輸入中準確提取支持文檔,這對于最大限度地減少傳遞給下游答案和證據句預測任務分散注意力的信息至關重要。然后給定問題和支持文檔,模型以多任務學習方式聯合訓練答案和證據句預測任務,將所有的支持文檔連接成一個文本輸入,并使用BERT 以“[CLS]+問題+[SEP]+文本+[SEP]”格式對問題和文本進行編碼。最后在句子級表示上構建GNN 模型,使用句子向量作為圖中節點,并添加3 種類型的邊:1)最初來自同一文檔2 個句子節點之間的邊;2)來自不同文檔的在問題中都具有命名實體或名詞短語(可以不同)的2 個句子節點之間的邊;3)不同文檔的具有相同的命名實體或名詞短語的2 個句子節點之間的邊。該模型采用具有門控機制的多關系GCN 消息傳遞策略來更新圖節點特征,并將最終的節點特征輸入到多層感知器以獲取答案的類型(是、否或一段文本)以及證據事實。

圖4 SAE 模型架構Fig.4 Framework of SAE model
文獻[15]基于雙過程理論構建雙系統CogQA模型。如圖5 所示,該模型使用2 個系統來維護一張認知圖譜(Cognitive Graph),系統1 在文本中抽取與問題相關的實體名稱并擴展節點和匯總語義向量,系統2 利用圖神經網絡在認知圖上進行推理計算。

圖5 CogQA 模型架構Fig.5 Framework of CogQA model
在CogQA 模型中:系統1 采用BERT 模型,以問題本身、從前面段落中找到的“線索”以及關于某個實體的維基百科文檔為輸入,隱式地從句子中提取相關實體并對其中的信息進行編碼,然后將它們提供給系統2,即每次系統一抽取出的“下一跳實體名稱”或“候選答案”都將在認知圖譜中建立一個新的點,并進行下一步迭代;系統2 采用GNN 模型,將這些實體及其編碼信息構建為一張認知圖譜,通過圖來對這些相關信息進行推理計算,同時指導系統1進行實體提取。CogQA 模型通過模擬人類的認知方式來解決機器的閱讀理解問題,不僅利用了BERT模型強大的隱式關系提取的能力,而且利用GNN 實現了對于相關信息的顯式推理,借助模型生成的認知圖譜,顯性掌握和解釋機器的推理過程。
文獻[16]利用知識圖譜(Knowledge Graph,KG)中的關系事實來構建關系實體圖,進而提出一個知識增強圖神經網絡(Knowledge-enhanced Graph Neural Network,KGNN),利用知識圖中的關系事實來增強模型的推理能力,并使用GNN 在段落之間傳播信息,該網絡模型架構如圖6 所示。首先將段落中的所有實體視為多段落推理圖中的節點,并加入2 種邊建立實體圖。如果2 個節點指示相同的實體,則添加邊到圖中;如果2 個實體在知識圖中有關系事實,則關系邊將被添加到圖中。對于每個節點,模型從上下文單詞表示中獲得它的初始表示,并將消息從每個節點傳播到它的鄰居,以幫助執行推理。由于不同類型的邊在推理中起到不同的作用,因此模型在消息傳播中使用關系特定網絡。計算關系的注意力權重以測量問題與關系之間的相關性,并利用一個重置門來決定從段落表示和圖關系表示中保留多少信息。最后,應用自注意力機制來共享從實體到整體的全局信息。

圖6 KGNN 模型架構Fig.6 Framework of KGNN model
文獻[17]通過融合基于GCN 和基于路徑方法的思想,為多個文檔引入基于路徑的推理圖,構建了Path-based GCN 模型。與傳統圖相比,基于路徑的推理圖包含從問題到候選答案的多條推理路徑。推理圖使用門控RGCN 來學習節點的表示,與普通GCN 相比,門控GCN 利用注意力和問題感知門控機制來調節跨文檔傳播信息的有用性,并在推理過程中添加問題信息,更接近人類的推理過程。如圖7所示,該模型主要由3 個部分組成,包括圖的構建、使用門控RGCN 的推理層和輸出層。首先基于Entity-GCN 構造一個實體圖,提取段落中所有提及實體作為圖中的節點。受人類推理過程啟發,基于從提及實體到候選答案的推理路徑有助于跨文檔推理的想法,因此模型將路徑中的推理實體也添加到了實體圖中。該推理圖使用提及實體、推理規則和候選答案作為實體圖中的節點,并構建了以下6 種邊:1)出現在文檔的同一個句子中的2 個實體節點添加邊;2)同一路徑上的相鄰推理節點添加邊;3)在文檔的同一個句子中的推理節點和候選節點添加邊;4)提到相同的候選實體的2 個節點添加邊;5)出現在同一文檔中的2 個節點添加邊;6)不滿足前面任一條件的節點之間添加邊。初始化時使用預訓練GloVe 詞向量表示節點,并使用ELMo 為不同文檔中的每個節點編碼上下文信息,然后通過一層線性網絡將這兩個節點表示連接在一起進行編碼。在圖初始化之后,使用門控關系圖卷積網絡來實現多跳推理。這種門控機制控制有多少最新消息傳播到下一步,可以防止覆蓋過去的信息。類似于BAG,實體圖和問題之間使用雙向注意力機制。

圖7 Gated-RGCN 模型架構Fig.7 Framework of Gated-RGCN model
文獻[18]對DFGN 進行消融實驗,旨在研究圖結構究竟在多大程度上有助于多跳推理,并在DFGN 基礎上提出C2F Reader。經實驗驗證,通過適當使用預訓練模型,圖結構對于多跳推理并不是必需的。這個發現可能會讓該領域的研究者重新思考基于圖結構來解決MHMRC 的后續發展。
上述方法都能較好地解決圖神經網絡用于多跳推理的3 個問題,這些方法的節點、節點表示、邊類型和消息傳遞方式比較如表2 所示。

表2 基于圖神經網絡的MHMRC 方法對比Table 2 Comparison of MHMRC methods based on graph neural network
開放域問答(OpenQA)是指從一個外部較大的知識源(例如維基百科)中找到問題的相關上下文和正確答案的問答任務。相比于傳統MRC,OpenQA在給定問題的同時,不給定單個或多個支持文檔,而是需要在文檔集合或者整個百科中尋找答案。本節所關注的問題主要是開放域多跳問題,它需要模型同時進行有效的檢索和文本理解,并根據橋接信息多步推理去尋找最終答案,即多跳OpenQA 首先需要從大型知識源中檢索到相應于問題的支持文檔,然后再從文檔中推斷答案,而且在推斷時需要從前一篇中推斷出所需的內容后才能從后面的文檔中推斷另外的答案,因此解決起來更為困難。
1.3.1 改進檢索的方法
OpenQA 的難點在于如何從大型知識源中獲取與問題相關的支持文檔,改進檢索的方法主要將工作重點放在問題相關支持文檔或證據句的檢索上。
OpenQA 需要先根據問題檢索出支持文檔,然后聚焦到段落,再閱讀給出答案。因此,目前大多數的OpenQA 系統都包括文檔段落的檢索、答案抽取和驗證這2 個過程。文獻[19]提出一個強大的維基百科問答系統DrQA,其正是由文檔檢索器和文檔閱讀器兩部分組成的。對于一個問題,DrQA 首先使用文檔檢索器,利用Wikipedia 自帶的全文檢索機制對問題和文檔進行TF-IDF 的相似度計算,并獲得最相關的5 個支持文檔,然后通過文檔閱讀器理解文檔語義,并得到合適語句塊作為答案。
研究者們相繼提出了一些迭代檢索方法,與早期僅依賴原始問題進行查詢的方法相比,這些方法在復雜問題的證據選擇質量上表現更為出色。文獻[20]提出了一種稱為MUPPET 的迭代多跳檢索模型,旨在構建一個迭代查詢的過程,使檢索向量隨著已經查到的線索進行更新。如圖8 所示,MUPPET模型主要包含以下3 個部分:

圖8 MUPPET 模型架構Fig.8 Framework of MUPPET model
1)段落和問題編碼,負責將問題和文檔編碼為對應的向量。
2)MIPS 檢索器,使用最大內積搜索(MIPS)算法迭代地從文檔集中找出與問題對應的支持文檔。首先采用TF-IDF 方法找到與問題相匹配的TopK個標題。然后對與這些標題相對應的文檔進行編碼,將文檔編碼成向量,并將查詢編碼成相同向量空間中的搜索向量。最后應用MIPS 來尋找給定查詢的最相似文檔。
3)段落閱讀,將得到的支持文檔傳遞給段落閱讀器,使用RC 模型找到問題的答案。MUPPET 使用來自上下文的信息迭代地更新檢索向量,可以有效地模擬多步推理。
以上2 種方法都是使用TF-IDF 對文檔集進行排序,盡管基于TF-IDF 的檢索方法對于需要開放域單跳推理的問題表現不錯,但是當用于多跳推理時,其性能會顯著降低[21]。因此,文獻[22]提出一個段落檢索器-閱讀器-多步推理機聯合模型,使用相關性分數代替TF-IDF 對候選段落進行排序。該模型由以下3 個部分組成:
1)段落檢索器,為給定查詢中的每個段落計算一個相關性分數(具體計算為段落向量和查詢向量之間的內積),并根據該分數進行排序。其中段落表示的計算獨立于查詢,一經計算就不會更新,可以緩存這些表示并離線存儲。
2)閱讀器,采用RC 模型從檢索器接收幾個排名靠前的段落,并輸出一段文本作為問題的答案。
3)多步推理機,采用門控循環單元來實現檢索器和閱讀器之間的迭代交互,其中門控循環單元主要用于接收當前的閱讀器狀態和當前的查詢向量來進行門控更新并產生重構的查詢,重構的查詢被發送回檢索器,檢索器使用它來對語料庫中的段落重新排序。由于多步推理機的門控更新取決于機器閱讀器的當前狀態,因此這種多步交互為IR(檢索器)和RC 模型(閱讀器)提供了一種相互通信的方式。
文獻[23]提出了GoldEn(Gold Entity)Retriever,該模型不依賴于人工介入的數據集,其在讀取上下文和檢索更多證據文檔之間進行迭代,以回答開放域多跳問題。與單純依賴原始問題來檢索段落不同,在每一步中,該模型還使用來自先前推理跳的IR結果在每個推理步驟展開時生成新的搜索查詢,并檢索新的證據來回答原始問題。具體地,在推理的第1 跳中,首先利用原始問題生成檢索支持文檔的搜索查詢,然后對于每個后續推理步驟,它都從問題、上一跳結果和支持文檔中生成一個自然語言查詢,并采用語義重疊的方法來縮小搜索空間后再查詢支持文檔。GoldEn Retriever 訓練時利用數據集中原有的支持文檔信息,在推理的每一跳中迭代查詢更多相關的支持文檔,這使其可以有效地用于開放域多跳推理,同時保持可解釋性。
文獻[24]將候選支持段落檢索問題重新定義為閱讀理解任務,提出的模型包括橋梁推理機和閱讀器2 個部分:橋梁推理機將每篇文章中的錨鏈接都視為橋梁實體的候選集,即每個橋梁候選實體都是另一個段落的標題,充當連接支持段落的橋梁;閱讀器使用共享的雙向GRU 對問題和段落進行編碼,然后將已編碼的問題和段落傳遞到雙向注意力層以獲取問題感知的文本狀態。狀態向量通過自注意力層得到增強,最后送入線性層以預測答案的開始和結束位置。
基于重排序的思想,文獻[25]提出了Entity-Centric IR 技術,其基于實體鏈接進行多跳檢索,既不學習順序檢索推理路徑,也不學習檢索器和閱讀器之間的相互作用,而是使用排序器來選擇下一跳實體與支持文檔。具體來說,Entity-Centric IR 使用最初檢索的相關段落中存在的實體信息來找到描述該實體的文本段落(實體鏈接),并且確定該段落是否與回答多跳問題相關。Entity-Centric IR 的主要組成部分是一個重排序模型,通過將問題和描述實體的維基百科段落提供給預訓練的BERT 模型,獲得實體的上下文表示,排序器使用初始段落表示和其中所有實體的表示來得到支持文檔。
文獻[26]提出QFE 模型來提取證據句。QFE是從源文檔中提取句子的機制,以使得提取的摘要涵蓋文檔中的重要信息。模型使用多任務學習,問答模型用于答案選擇,QFE 模型用于事件抽取,輸入為多個句子文本和問題,輸出包括答案類型、答案和證據句。QFE 使用帶有問題注意力機制的RNN,通過考慮證據句之間的相關性和問題的覆蓋范圍依次提取證據句,并在句子集合中添加一個稱為EOE 的虛擬句子,通過將終點條件定義為到達EOE 句,自適應地確定證據句的數量。QFE 模型架構如圖9 所示(彩色效果見《計算機工程》官網HTML 版)。

圖9 QFE 模型架構Fig.9 Framework of QFE model
文獻[27]提出了一種無監督的策略ROCC 來選擇多跳問答中的證據句。ROCC 的具體運作方式如下:
1)候選證據句的檢索。對于與問題相關的文本段落,該段落中的所有句子都將成為候選。
2)候選證據句子集合的生成。因為重點是知識聚合,所以ROCC 對整個證據句子集合而不是單個句子進行排序。在這一步中,通過從前n個句子生成n個k組句子來創建候選證據句子集合。
3)候選證據集的排序。首先計算每個候選證據句子集合的ROCC 分數,ROCC 分數最大化所選句子的相關性,最小化所選事實之間的重疊以及最大化問答的覆蓋范圍(最小化所選事實之間的重疊減少了冗余,并鼓勵聚合的句子解決問題和答案的不同部分,同樣,最大化問答的覆蓋范圍會鼓勵模型去處理更多提到的有意義的內容)。最后按照ROCC得分的降序排列它們,并選擇得分最高一組理由作為給定問題的證據輸出。
文獻[28]從重構問題的角度提出了一個新的架構,稱為潛在問題重構網絡(LQR-net)。LQR-net 由閱讀模塊和重構模塊組成,閱讀模塊的目的是產生文檔感知的問題表示,重構模塊從這個文檔表示中提取基本元素來計算更新檢索向量,然后將更新的檢索向量傳遞到下一跳。閱讀模塊和重構模塊構成一跳,并分別重復t次直至結束。具體地,模型編碼使用預訓練BERT 表示文檔和問題,閱讀模塊由文檔-問題注意力和文檔自注意力兩層組成,根據上一跳輸入的問題來更新文檔的表示,問題重構模塊將前一個模塊的輸出、重構問題的表示和文檔的編碼作為輸入,并產生了問題的更新形式。最后問題回答模塊也由4 個部分組成,對應用于監督證據事實、文檔中每個單詞作為答案開始結束的概率和答案類型(是、否或一段文本)。
1.3.2 基于推理路徑的方法
考慮到HotpotQA 為每個問題的答案提供證據事實,研究者們想到為每個問題生成推理鏈來解決多跳問答。與上述改進檢索的方法返回與問題最相關的支持文檔或支持句不同,基于推理路徑的方法直接為多跳問題生成推理鏈,然后從推理鏈中提取實體或句子回答問題。
文獻[29]用一個兩階段模型ChainEX 來識別中間推理鏈。該模型在訓練時從推理鏈中學習,在測試時可以產生一個推理鏈列表,然后輸入到一個問答模型中提取最終答案。其中推理鏈提取器是一個神經網絡,它將輸入的文檔和問題作為輸入,將可變長度的句子序列作為輸出。鏈提取器的處理流程可以分為句子編碼和鏈預測2 個主要部分。給定一個問題和一個包含n個段落的文檔,首先將問題與每個段落聯系起來,并使用預訓練的BERT 編碼器對它們進行編碼。然后將所有句子感知的編碼表示視為一個包,并采用基于LSTM 的指針網絡提取推理鏈。再將鏈提取器預測的前k個波束中的句子視為答案預測模型的輸入。最后使用預訓練BERT 提取最終答案。
雖然上述方法在公開數據集上測試證明能夠取得不錯的性能,但它屬于有監督的方法,對合理的證據或推理鏈標注過于依賴。顯然,對于開放域問答而言,缺乏大量的帶標注證據事實的訓練數據,因此,可以采用一些半監督學習的方式,減少對于標注數據的依賴。文獻[30]提出了一個可解釋的三模塊系 統,稱 為EPAr(Explore-Propose-Assemble reader)。首先,文檔瀏覽模塊迭代地選擇支持文檔,并以樹形結構表示不同的推理鏈,以允許從所有鏈中吸收信息。然后,答案提取模塊從推理樹中的每一個根節點到葉節點的路徑中提出一個答案。最后,證據集成模塊從每條路徑中提取包含提出答案的關鍵句子,并將它們組合起來預測最終答案。圖10 顯示了EPAr 模型架構。可以看出,當面對多個長文檔時,EPAr 的3 個模塊共同優化,根據前一級的輸出,將每一級的損耗總和降至最低,近似人類的由粗到細的閱讀理解行為。

圖10 EPAr 模型架構Fig.10 Framework of EPAr model
基于維基百科圖和RNN,文獻[31]提出一個針對開放領域多跳問答的路徑提取器-答案抽取器模型,該模型使用一個推理路徑提取器和一個閱讀理解答案抽取器,分兩步完成多跳問答。路徑提取器需要首先構建一個覆蓋維基百科所有段落的圖,圖中每個節點代表一個單獨的段落,然后使用超鏈接來構建圖中的直接邊。該圖是離線構建的,可在后續任何問題的訓練和推理中重復使用。構建圖之后,訓練一個RNN 進行循環路徑提取,通過BERT 微調的段落編碼來最大化在每一步選擇正確證據段落的可能性,并在圖中對推理路徑進行評分。路徑提取器的優點在于,它知道已經提取的段落,并且可以很方便地進行束搜索。閱讀理解器首先對所有路徑重排序,然后從最有可能的路徑中抽取答案。具體來說,閱讀器任務包括:
1)推理路徑重排序,對每條路徑,先用BERT 得到特征表示,再用Sigmoid 得到該路徑的概率,并使用概率對檢索到的推理路徑重新排序。
2)閱讀理解的多任務學習,使用BERT 從概率最高的推理路徑中提取答案文本,其中輸入是問題和候選段落集中所有段落的文本的拼接。
為進一步解決數據依賴問題,研究者提出了利用無監督方法檢索生成多跳推理鏈的思路,文獻[32]構建了一種簡單快速的無監督迭代的證據檢索模型AIR(Alignment-based Iterative Evidence Retrieval)。模型由以下2 個部分組成:
1)無監督的迭代部分,它迭代構建給定查詢的證據鏈,首先使用問題和候選答案文本初始化查詢,然后AIR 重復執行對齊檢索和動態添加這2 個步驟直到達到終止條件為止。迭代步驟具體為:在給定當前查詢的情況下使用對齊IR 方法檢索最明顯的證據句,并調整查詢以關注于缺失的信息(當前推理鏈沒有覆蓋的關鍵詞),即AIR 還會向查詢中動態添加新詞條,以推動多跳檢索。
2)RoBERTa 答案分類組件,給定原始問題和先前檢索到的證據事實,該組件將候選答案分類為正確或不正確。此外,在OpenQA 任務中可能會出現存在多個產生正確答案的推理鏈的情況,為了利用這種特性,可以運行n次AIR 提取N條平行的推理鏈,且確保每條推理鏈的第一個證據事實是不同的。在檢索出N條推理鏈后,將所有證據事實聯合起來進行答案抽取。
除了上述3 種主流類型以外,也有一些MHMRC方法在公開數據集上取得了不錯的效果。
1.4.1 基于注意力的方法
文獻[33]提出的CFC和文獻[34]提出的DynSan 是典型的基于注意力的方法。CFC 應用聯合注意力和自注意力來學習候選答案和文檔的查詢感知節點表示,而DynSAN 提出了一個動態的自注意力結構來確定哪些信息對于語義表示是重要的。CFC 模型同時使用粗粒度推理和細粒度推理2 種方式:在粗粒度推理中,它在不知道哪些候選答案可用的情況下,根據查詢條件構建支持文檔的粗略摘要,然后對每個候選候選答案進行評分;在細粒度推理中,該模型匹配同時提及候選答案和查詢的細粒度上下文,以便衡量候選答案的相關性。2 個模塊都采用了一種層次自注意力來組合支持文檔信息。與CFC 不同,DynSAN 基于在一個長序列中重要標記的數量遠遠小于序列長度的假設,使用動態的自注意力來進行答案選擇。由于DynSAN 的自注意力是在一組動態確定的token 上進行的,因此稱之為動態自注意力。具體來說,在DynSAN 的底部,輸入文本的表示采用預訓練的Fasttext 的300 維詞向量,并在訓練過程中采用了2 層highway 對其進行修正。之后,向量被送到一層DynSA 塊中,DynSA 通過token選擇機制找出最重要的token,然后只對這些選擇的token 進行自注意力計算。
同樣是修改注意力機制,文獻[35]提出的Transformer-XH(Transformer eXtra Hop)模型,在Transformer 的層中引入了eXtra Hop 注意力機制。額外躍點注意力使每個文本片段與其他證據相關的證據更全面地表示,且額外躍點注意力沿著圖的邊緣傳播信息,從而使連接的文本序列之間可以共享信息。當應用在MHMRC 時,需要首先構造一個證據圖,然后在圖上應用Transformer-XH 來找到答案。
針對自注意力機制的弊端,文獻[36]提出可以直接處理長序列的Longformer,解除了Transformer的序列長度限制。Longformer 的注意機制是一個窗口局部情境自注意力和一個全局注意力的組合,使之最多可以處理4 096 長度的序列。以往解決像BERT 這樣的基于Transformer 模型的512 長度限制,最簡單的方法是截斷文檔,或者將文檔分成長度為512 的塊(可以是重疊的),然后分別處理每個塊。對于多跳和開放域問答任務常見的第3 種方法是使用兩階段模型,其中第一階段檢索相關文檔,然后傳遞文檔到第二階段進行回答,但這些兩階段方法都因截斷或級聯錯誤而遭受信息損失。相比之下,Longformer 可以處理長序列,而不需要截斷或分塊,因此,可以采用一種更簡單的方法來連接可用的上下文,并在一次處理中處理它。文獻[37]也發現了稀疏注意力與輸入序列成線性比例,而不是二次關系。基于此,其借鑒圖稀疏化方法中,將降低自注意力矩陣的二次復雜度問題看作一個圖稀疏化問題,并開發了同樣可以處理序列長度高達Transformer 8 倍的Big Bird。
1.4.2 引入外部知識庫常識填補知識空白的方法
文獻[38]針對NarrativeQA 數據集[39]提出了一個強大的多跳指針生成器模型(Multi-Hop Pointer-Generator Model,MHPGM),它可以在上下文中推理、收集和合成互斥的信息用來生成答案。具體而言,MHPGM 使用多重注意力機制來執行多跳推理,在長篇段落內有效地讀取和推理,并合成與問題一致的答案。模型包括嵌入層、推理層和自注意力層:嵌入層使用預訓練ELMO 模型來進行上下文表示;推理層通過K個推理單元傳遞上下文表示,其中每個推理單元使用BiDAF 迭代更新問題的上下文表示;自注意力層利用靜態自注意力機制幫助模型處理具有長依賴的文本。此外,MHPGM 模型還引入了一種外部常識獲取算法,該算法通過逐點互信息(PMI)和基于詞頻的評分功能從ConceptNet 中獲得基礎的多跳關系常識信息。常識選擇策略包含以下2 個方面:1)通過構造旨在選擇具有高召回率候選路徑樹的方法收集潛在相關的常識信息;2)對這些路徑進行排序和過濾,通過三步評分策略(初始節點評分、累積節點評分和路徑選擇評分)確保添加信息的質量和多樣性。同時還加入一個信息單元(NOIC),它可以有效連接外部知識庫來提取常識信息,并利用提取的常識信息來填充相鄰兩跳之間的推理空白,大幅提高了模型的性能。
1.4.3 使用蘊含模型解決MHMRC 問題的方法
問答可以很自然地歸結為一個蘊涵問題,即驗證某些文本是否包含問題的答案。文獻[40]基于句子級的文本蘊含問題可以被重用于識別依賴關系的發現上,提出一種通用的體系結構Multee,可以有效地將蘊涵模型用于多跳問答任務。Multee 通過將局部需求決策與全局需求決策相結合來匯總多跳任務的信息,它使用一個本地(句子級別)關聯模塊來幫助定位重要的句子,從而避免分散信息,并使用一個全局(文檔級別)多級融合模塊,通過有效地合并重要性權重來聚集信息。
縱觀近年來MHMRC 的發展,本節對比、總結現有方法,包括機制、優勢、缺點、適用場景以及后續改進方向。對比結果如表3 所示。現有方法的使用場景大致可以分為在封閉數據集和開放域兩種場景。在實際工程應用上,如果是垂直領域問答,則可以選用基于問題分解和基于GNN 的方法,同時若具有標注好的問題分解訓練數據,采用問題分解方法結合現有單跳MRC 模型即可。若無這種數據,可采用基于GNN 的端到端模型。對于開放域問答,由于需要檢索海量文檔及網頁,因此可以結合信息檢索的方法解決。

表3 MHMRC 方法分類總結Table 3 Classification summary of MHMRC methods
傳統的如SQuAD 等大規模抽取式閱讀理解數據集都是以使用單個段落或文檔來推斷答案的方式構建的,只需要定位到所給段落中與問題相關的那個句子就能回答,這種推理被稱為單跳推理,而多跳推理則是一個需要綜合多種來源數據的任務。目前針對多跳閱讀理解的數據集大多是半結構化的知識庫數據,而MHMRC 數據集則主要是非結構化的文本內容。
目前MHMRC 相關數據集主要有QAngaroo[41]、TriviaQA[42]和HotpotQA[43]數據集,這3個數據集數據規模如表4 所示。

表4 數據集規模Table 4 Data scale of datasets
1)QAngaroo 數據集。該數據集包含2 個閱讀理解數據集,且它們都需要結合多個文檔中的多個推斷步驟來獲取答案。其中第1 個數據集WIKIHOP數據集是一個包含問題、多篇相關文章以及候選答案的專注于維基文章的開放域數據集,很多時候為了回答一個問題,可能需要綜合多篇文檔中的信息來得到一個最終答案,因此WIKIHOP 非常具有挑戰性。另一個數據集MedHop 是一個來源于醫療論文庫PubMed 的論文摘要數據集,目前針對此數據集的研究尚少。
2)TriviaQA 數據集。該數據集為了得到答案需要復雜的多級推理,其中包括95k 個問答對,并為每個問題都收集了平均6 份證據,這些證據為回答問題提供了高質量的遠程監管。該數據集中文本句法比較復雜,回答問題需要很多復合的信息,且文本語法和用詞也比較復雜,之前簡單的文本匹配方法可能會失效,因此也更具挑戰性。此外,數據集中的信息推理和WIKIHOP中跨文檔推理不同,其為跨句推理。
3)HotpotQA 數據集。該數據集是一個具有自然、多跳問題的問答數據集,分為Distractor 和Fullwiki 任務,目前大多數模型都是針對此數據集的研究。其中問題本身不會受限于任何預設的知識圖譜,且被設計為必須進行兩步推理才能得到答案。問題的推理類型包括:(1)需要橋實體或者需要對比2 個實體;(2)需要檢查多個屬性來定位答案實體;(3)需要通過橋實體來推斷另一個實體的屬性。此外,它除了要求模型在閱讀了多個文檔后給出問題的答案以外,還要求給出回答該問題所必需的證據事實,相比于之前基于整篇文章進行訓練的粗粒度方式,HotpotQA 利用這些證據事實作為推理線索要求模型知其然亦知其所以然。
本節具體介紹MHMRC 相關的評測指標。
由于WIKIHOP 與MedHop 數據集本質為多項選擇題,因此采用準確率來評測,計算公式如式(1)所示。

其中:r為預測正確的個數;n為全部個數。
因為TriviaQA 數據集答案為文本片段,所以采用F1 作為評測標準,計算方法為:首先計算預測出的答案與原始答案字符之間的重疊,根據重疊的數目c與正確答案的字符數目la計算召回率,根據重疊的數目c與預測出的所有字符數目lp計算準確率,然后使用準確率與召回率計算F1。具體計算公式如下:

由于HotpotQA 數據集既要求給出答案,又要求給出證據事實,因此需要對答案和證據事實都進行評測,并最終采用Joint F1 和Joint EM 對答案和證據事實進行聯合評測。其中EM 表示精確匹配率,如果預測與答案完全匹配則e值為1,否則為0。Joint EM和Joint F1 計算分別如式(9)和式(12)所示(其中答案與證據事實的準確率與召回率計算同上)。

本文從相關論文和排行榜統計了不同模型在上述數據集上的表現,因為其中針對MedHop 數據集研究較少,所以本文不展示此數據集排行,而HotpotQA 又分為干擾設置和全維基設置,因此,本文對2 個不同設置上模型表現都做了統計。各模型性能表現如表5~表8 所示。

表5 各模型在WIKIHOP 數據集上的性能表現Table 5 Performance of each model on WIKIHOP dataset %

表6 各模型在TriviaQA 數據集上的性能表現Table 6 Performance of each model on TriviaQA dataset %

表7 各模型在HotpotQA數據集(Distractor Setting)上的性能表現Table 7 Performance of each model on HotpotQA dataset(Distractor Setting) %

表8 各模型在HotpotQA 數據集(Fullwiki Setting)上的性能表現Table 8 Performance of each model on HotpotQA dataset(Fullwiki Setting) %
機器閱讀理解是自然語言理解領域極具挑戰性的任務之一,而多跳機器閱讀理解任務的挑戰難度又上了一個新的臺階。針對MHMRC 問題,近年來,研究者開展了許多有益的研究,各種表現出色的模型被不斷地提出,共同推進其向推理能力和泛化能力更強的方向發展。本文在詳細梳理和總結現有相關模型的基礎上,指出現有方法在MHMRC 任務上主要有以下3 個方面的提升空間:
1)引入外部常識知識。
許多問題單憑文本包含的信息是無法完成推理并回答的,往往需要引入外部知識庫中的常識信息,因此,如何巧妙地結合非結構化文本段落與知識庫中半結構化知識進行聯合推理是目前需要解決的問題。
2)提高可解釋性。
可解釋性不足是深度學習黑盒模型飽受詬病的弊端之一。在多跳機器閱讀理解中,如果不能給出每一跳答案的合理解釋,則無法證明模型是否真正“理解”文本。盡管HotpotQA 數據集被設計為必須返回推理證據文本,但是這種有監督方法訓練出的模型并不適用于大型開放式問答的推理路徑生成,因此,如何找到好的推理路徑生成方法也是目前需要解決的問題。
3)開放域多跳閱讀理解。
當語料不多時,面向單段閱讀理解的MRC 模型都可以直接處理,但是真正的問答系統勢必需要大規模語料并從中尋找答案。目前常見的權衡的方法是:先根據問題在語料(維基百科)中檢索出少量相關段落,再在這些段落中進行NLP 處理。但是當下檢索器-閱讀器的方式在很大程度上依賴于檢索器對文本的排序篩選,如果正確答案段落一開始就不包含在閱讀器的輸入中,則無法得到正確答案。因此,如何找到一個性能較好的文本檢索方法也是需要解決的問題。
未來的研究工作可以從以下6 個方面展開:
1)更好地融入知識庫數據。
目前機器閱讀理解和人類閱讀理解之間尚存在差距,主要體現在數據需求上,人類往往擁有大量的常識性知識,單從短文中就能進行深刻的閱讀理解,而機器則需要一定規模且噪聲小的標注數據才能進行學習。有些學者提出將知識圖譜等知識庫集成到機器閱讀理解中,為模型配備領域知識,提高模型在特定領域任務上的性能,同時降低大規模預訓練成本。借助知識圖譜等外部知識庫數據,以幫助回答問題是當前研究的一個熱點和難點,未來研究需要考慮如何更好地融入知識庫數據來輔助推理提升效果和可解釋性。
2)利用無監督方法選擇推理路徑和證據文本。
目前多跳任務的可解釋性主要集中在推理路徑上選擇每一跳時的證據文本,然而目前現有方法大都是數據驅動的,都需要在訓練時的遠程監督。數據獲取難度和構造成本制約著有監督方法的發展,基于此,未來研究可以使用無監督方法選擇推理路徑和證據文本,提升模型表現和可解釋性。
3)結合預訓練模型。
預訓練模型通常采用預訓練+微調的模式,即先使用大規模無監督語料對模型進行預訓練,再使用小規模標注數據進行具體下游任務上的微調,使得小規模標注數據也可以取得不錯效果。縱觀數據集評測排行可見,目前仍是預訓練模型相較其他方法表現更佳。同時,C2F[18]也驗證了通過使用預訓練模型,模型結果較之前有所提升。因此,未來研究可以考慮結合現有模型架構與預訓練模型編碼的優勢,進一步提升效果。
4)減少流水線中的重復編碼。
當前針對開放域的主流做法是使用兩階段流水線方法,通常包含1 個用于返回少量相關文檔的檢索階段和1 個抽取候選答案的閱讀階段。但是,檢索階段檢索器會對文檔進行編碼,而閱讀理解階段又會對返回文檔再進行一次編碼,每個模塊都會對輸入文本重復編碼,這導致在處理海量文本時效率過低。因此,未來研究需要設計一些方法來存儲文檔編碼以達到復用的目的,減少流水線中的重復編碼,提高處理效率。
5)在訓練中融入對抗實例,解決存在推理捷徑的問題。
在HotpotQA 數據集中,模型可以使用通過將問題與上下文中的句子進行單詞匹配直接定位答案的推理快捷方式來直接回答,無須多跳推理就能推出答案[21],但通過此快捷方式得到的答案準確率不高。如文獻[50]使用一個控制單元,在不同的推理跳動態地關注問題,經過對抗訓練后,模型明顯表現更好,且實驗結果也說明將明確的組合推理與對抗訓練結合起來的改進能夠進一步推動新模型的發展。因此,未來研究中需要考慮在訓練過程中加入對抗實例以提高模型的魯棒性,避免陷入推理捷徑。
6)構建兼具速度與性能的模型。
現有模型的主要研究點在于如何提高模型在特定數據集上的性能,傾向于付出巨額的GPU 或TPU資源來訓練非常復雜的模型,雖然這可能在性能上有所突破,但忽視了模型的推理速度,未考慮實際應用時的效率問題。特別是在面對海量文檔的開放域問答場景下,注重答案準確的同時也要考慮響應速度,構建兼具速度與性能的模型。
多跳機器閱讀理解作為機器閱讀理解中非常重要但極具挑戰性的一項任務,受到學術界與工業界的廣泛關注。在大數據時代背景下,面對龐大的文本信息,多跳機器閱讀理解可以幫助人們快速聚焦相關信息,在回答問題的同時給出支持文檔段落甚至是證據事實,幫助人們大幅縮減從海量數據中篩選有用信息的時間。本文圍繞基于深度學習的多跳機器閱讀理解研究,分類梳理已有的研究成果,總結關鍵問題,對比不同的模型方法,并指出未來發展方向。分析結果表明,多跳機器閱讀理解仍存在一些問題需要解決,如需要引入外部常識、提高可解釋性等。后續可將多跳機器閱讀理解與預訓練模型、知識圖譜、排序學習、Ad-hoc 檢索等熱門技術相結合,進一步推動該項研究的發展。