朱運昌,龐亮*,蘭艷艷,程學旗
(1.中國科學院 計算技術研究所 中國科學院網(wǎng)絡數(shù)據(jù)科學與技術重點實驗室,北京 100190;2.中國科學院大學, 北京 100049)
隨著互聯(lián)網(wǎng)的快速發(fā)展,基于關鍵詞的傳統(tǒng)搜索引擎由于準確率低、存在冗余信息等缺陷,而機器開放域問答系統(tǒng)允許用戶使用自然語言問句進行信息查詢,能夠對用戶輸入的問句進行理解給出更精確的答案。因此開放域問答系統(tǒng)已成為自然語言處理中的重要研究課題。特別是自新冠肺炎疫情暴發(fā)以來,國家各級部門相繼出臺了一系列惠民惠企政策,為了更好地幫助各行業(yè)從眾多繁雜的政策中準確找到與自己相關的信息,政策型機器開放域問答受到了極大關注。
作為機器開放域問答中的重要技術,抽取式閱讀理解的形式為給定一篇文檔和一個問題,模型從文本中找出一個片段去回答此問題。得益于深度學習的快速發(fā)展,Match-LSTM[1]、BiDAF[2]和QANet[3]等模型紛紛涌現(xiàn),抽取式閱讀理解已經(jīng)取得了長足進步。特別是BERT[4]出現(xiàn)之后,機器在SQuAD[5]等數(shù)據(jù)集上的表現(xiàn)甚至超過了人類。然而,現(xiàn)有的抽取式閱讀理解模型和數(shù)據(jù)集大多只關注如命名實體之類的短答案抽取,但政策型問答中的答案卻通常是長度很長的政策內容,這些長答案往往也對應著更長的輸入文檔。面對長文檔長答案的場景,現(xiàn)有模型往往會遇到輸入長度超越極限和長答案抽取不完整的挑戰(zhàn)。
首先,任何模型實際中都存在一個輸入文本長度的極限,當輸入文本長度超過這個極限后,模型就無法正常的工作。對于當下最流行的BERT來說,其基于的Transformer[6]結構是通過位置嵌入(position embedding)來體現(xiàn)不同詞語的位置信息的,有限的位置嵌入的數(shù)量就限制了輸入序列的最大長度;對于基于循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network, RNN)[7]的閱讀理解模型來說,雖然其理論上不存在輸入長度的極限,但因輸入序列過長而出現(xiàn)的長距離依賴等問題也會使模型的性能出現(xiàn)劇烈下滑。
此外,雖然可以利用圖1所示的預處理方法通過滑動窗口的方式將長文檔切分成多個文檔塊來保證長文檔以多次輸入的形式輸入到抽取式閱讀理解模型之中,進而解決輸入長度超越極限的問題,但是文檔中的潛在答案(尤其是長答案)仍會不可避免地被切分到不同文檔塊,即使在最理想情況下模型精準地抽取出了每個文檔塊中存在的部分答案,但這些部分答案與真實答案在召回率上仍卻存在著巨大差距。
● 問題:疫情期間,如何安排經(jīng)費預算?● 答案長度:446● 文檔塊:1) [1, 501]:關于進一步做好新型冠狀病毒感染肺炎疫情防控經(jīng)費保障工作的通知……全力支持疫情防控工作,堅決打贏疫情防控阻擊戰(zhàn)。2) [502, 986]:現(xiàn)就進一步做好疫情防控經(jīng)費保障工作通知如下:一、明確經(jīng)費保障目標……二、統(tǒng)籌安排經(jīng)費預算近期,按照黨中央、國務院統(tǒng)一部署……切實履行好經(jīng)費保障職能。3) [987, 1483]:年初衛(wèi)生防疫經(jīng)費預算安排不足的 ……對基層財政“三?!苯?jīng)費的保障力度也要切實加強。三、加快調度撥付資金……墊付等措施,優(yōu)先保障疫情防控資金撥付?!?) [2346, 2581]:七、切實做好信息上報和新聞宣傳工作……堅決打贏疫情防控阻擊戰(zhàn)。 財政部 2020年1月31日
為了克服這些挑戰(zhàn),本文注意到抽取式問答的目標只是為了找到更精準的答案邊界位置,其對與問題無關的片段和答案內部冗長的內容其實并不特別關心。因此,在經(jīng)過對整個文檔進行過分塊閱讀之后,問答系統(tǒng)對整個上下文及與問題相關的候選答案區(qū)域已經(jīng)有了初步了解,這時問答系統(tǒng)可以就放心地排除與問題無關的片段,甚至可以跳過候選片段中間的冗長內容,只考慮候選答案的邊界并對它們進行整合就可以得到一個更完整精確的答案。
基于這個思想,本文提出了一個答案邊界整合(BoundaryQA)框架,該框架提供了三種答案邊界整合策略:局部片段合并策略是利用啟發(fā)式規(guī)則來局部地合并那些因文檔塊切分而被分開的兩個鄰近候選答案片段,從而得到更完整的答案;全局邊界重選策略是額外訓練一個答案邊界重選模型,讓此模型自己學習出如何從所有候選答案邊界中全局地重新選擇出一對最好的答案開始邊界和結束邊界;跳躍式重閱讀策略則是首先基于基礎抽取式閱讀理解模型預測出的多個候選答案生成一段僅包含候選答案邊界附近上下文的摘要,最后訓練一個精讀模型讓其重讀這個包含全局候選答案和邊界局部上下文信息的簡短摘要并從中抽取出更準確的答案。
為了驗證BoundaryQA框架的有效性,本文在具有明顯的長答案長文檔特點的疫情政策問答數(shù)據(jù)上進行了實驗。實驗結果表明框架中的三種策略均能夠在整體ROUGE-L[8]指標提升的基礎上,明顯提升長答案抽取的ROUGE-L。此外,實驗結果還表明ROUGE-L的提升主要源自召回率的提升,這說明BoundaryQA框架有效緩解了長答案抽取不完整的問題。
作為機器開放域問答的重要組成部分,抽取式閱讀理解技術直接決定了最終答案的準確程度。
注意力機制[9]很早就被提出,在處理機器閱讀理解任務時,基于神經(jīng)網(wǎng)絡的模型幾乎都直接或間接地使用了注意力機制[10]。簡單來說注意力機制就是在編碼或者解碼的階段為序列的每個位置生成一個權重。權重大小代表了當前位置對最終預測結果的重要性。
在抽取式閱讀理解任務中,根據(jù)注意力機制的結構可以將這些模型分為單路注意力模型、雙路注意力模型和自匹配注意力模型。
單路注意力模型被用來模擬人做閱讀理解時帶著問題去閱讀的過程,先看問題再去文本中有目標地閱讀以尋找答案。通過結合問題和文檔二者的信息生成一個關于文檔各部分的注意力權重,進而對文檔信息進行加權,該注意力機制可以更好地捕捉文本段落中與問題相關的信息。Hermann等[11]最先將基于注意力機制的深度神經(jīng)網(wǎng)絡模型用于機器閱讀理解任務,即以問題為上下文計算出文檔中每個單詞的權重并生成文檔的最終表示。在此基礎上,Chen等[12]分別對注意力函數(shù)做了一些改進,但它們在本質上并沒有擺脫單路注意力的框架。
不同于單路注意力模型只在文檔上使用注意力機制,雙路注意力模型同時在文檔和問題上使用了注意力機制。Cui等[13]按列進行注意力計算,獲得“文檔-問題”注意力矩陣,然后采用啟發(fā)式規(guī)則,按行進行合并,得到文檔的注意力。Seo等[2]則是首先對相似度矩陣按列使用注意力機制,得到問題的注意力表示,再按行使用注意力機制,得到文檔的注意力表示,然后將二者進行融合,得到文檔的最終表示。雙路注意力模型由于對文檔和問題之間的相似度進行了更加細粒度的建模,因此包含更加豐富的細節(jié)信息,其性能往往比單路注意力模型好。
上述兩種注意力機制可以被認為是帶著問題去閱讀文檔或是帶著文檔去閱讀問題。這些注意力機制過于依賴先驗信息,導致只重視文檔中與問題相關度較高的局部信息,丟失了文檔本身強調的重點信息。自匹配注意力模型則會反復閱讀文檔并找出重點?;谶@一點,Wang等[1]提出了單路注意力模型和自匹配注意力模型結合的網(wǎng)絡結構,Clark等[14]則是通過在雙路注意力模型之后加入自匹配注意力模塊從而使模型性能獲得了進一步提升。
隨著預訓練模型近年來在自然語言處理中的應用與發(fā)展,抽取式閱讀理解不再單純地依靠網(wǎng)絡結構與注意力機制的方法。預訓練語言模型的發(fā)展推動了機器閱讀理解的進步,在某些數(shù)據(jù)集上已經(jīng)超越了人類的表現(xiàn)。
預訓練模型前期通過語言模型在大量自然語言上進行自監(jiān)督訓練,如掩碼預測、句子關系的預測、以及自然語言的多任務訓練等。通過在大量文本上進行預訓練,得到強健的語言模型,可以捕獲句子間更深層次的關聯(lián)關系。在做機器閱讀理解任務時,只需要設計適合具體任務的網(wǎng)絡拼接到預訓練模型網(wǎng)絡后進行微調即可。
其中,ELMO[15]將通過預訓練得到的字詞表征以及網(wǎng)絡結構信息保存,在處理閱讀理解任務時,其學到的字詞動態(tài)嵌入信息就會被應用到下游網(wǎng)絡中。BERT[4]引入Transformer編碼模型,通過掩碼語言模型和下一句預測任務來進行預訓練,獲得了更多的語言表征。此外,ENRIE[16]引入了外部知識到預訓練過程,MTDNN[17]在預訓練階段進行多任務學習。XLNet[18]使用排列語言模型,加入雙注意力流機制。RoBERTa[19]使用動態(tài)的掩碼替換靜態(tài)掩碼,去除下一句預測任務,并使用了更大的批大小和更多的訓練語料。BERT-WWM[20]引入整詞掩碼策略,將BERT對字的掩碼改為對整詞的掩碼。ALBERT[21]和DistilBERT[22]通過對模型進行蒸餾獲取小型化模型,方便模型的部署。
機器開放域問答的形式化定義為:給定一個文檔集P={P1,P2,…,P|P|},對于一個問題Q=[q1,q2,…,qm],系統(tǒng)需要從P中找到能夠回答Q的文檔P=[p1,p2,…,pn],并從P中預測出答案片段A=Pstart:end,1≤start≤end≤n,其中start和end分別為答案A在文檔P中的開始和結束邊界位置。
機器開放域問答通常包括相關文檔檢索、候選答案抽取和最終答案決策三個步驟。由于本文主要期望通過候選答案邊界整合的方式預測出更完整的長答案,即第三個步驟,并且信息檢索和抽取式閱讀理解技術已經(jīng)較為成熟,本章將只簡要介紹前兩個步驟所采用的現(xiàn)成的技術方案。
相關文檔檢索的目標是根據(jù)問題Q從文檔集P中檢索出能夠回答問題的最佳文檔P*。為了簡單起見,本文采用經(jīng)典的BM25算法作為文檔檢索器,并假設排名最靠前的文檔P即為最佳文檔。
由于抽取式問答的目標只是為了找到更精準的答案邊界位置,其對與問題無關的片段和答案內部冗長的內容其實并不特別關心。尤其是在分塊閱讀文檔并得到k個候選答案后,問答系統(tǒng)對整個上下文及與問題相關的候選答案區(qū)域已經(jīng)有了初步了解,因此這時問答系統(tǒng)可以就放心地跳過與問題無關的片段甚至候選片段中間的冗長內容,只對候選答案邊界進行整合,這樣,文檔和答案的長度就不再可以影響最終答案的決策,問答系統(tǒng)也就可以決策出一個更完整精確的答案。接下來,本章將介紹基于這個思想的BoundaryQA框架中所提供的三種不同答案邊界整合策略。
由于模型在訓練階段學習過從文檔塊中抽取部分答案,因此,如果模型學得好的話,模型就應該能把潛在答案散布在各個文檔塊中的部分答案抽取出來作為候選答案,并且這些候選答案片段應該是鄰近的。基于這個見解,本文首先提供了一種樸素的局部片段合并策略。
如算法1及圖2所示,此策略先找到置信分數(shù)最高的候選答案作為最終答案的基礎,接著以基礎部分為中心分別局部地向前、向后擴展最終答案。具體地,如果基礎部分最鄰近的候選片段與基礎部分的距離小于鄰近距離閾值dist,并且該片段的置信分數(shù)與最高置信分數(shù)的差值小于分數(shù)差距閾值diff,此策略就將最終答案向前或向后擴展到該片段的開始位置或結束位置,如此循環(huán)直到無法繼續(xù)與鄰近片段合并為止。得到算法1輸出的start和end后,最終答案為Pstart:end。
算法1:局部片段合并輸入:候選答案集B鄰近距離閾值dist分數(shù)差距閾值diff輸出:最終答案區(qū)間[start,end]1. mid←argmaxiBi,3+Bi,42. score←Bmid,3+Bmid,43. 以結束、開始邊界對B1:mid-1升序排序4. 以開始、結束邊界對Bmid+1:k升序排序5. l←mid6. start←B_(l,1)7. while |start-Bl-1,2| 作為一種啟發(fā)式策略,鄰近片段合并策略的性能與兩個閾值的設置密切相關,這嚴重依賴人類的經(jīng)驗。此外,鄰近片段合并策略只能作用在置信度最高的候選答案周圍的局部區(qū)域,如果上一步的閱讀理解模型抽取的片段偏差較大或者對片段的打分方差較大,那么鄰近片段合并法就很難奏效。為了克服這些缺點,本文繼而提供了一種可訓練的全局邊界重選策略。 為了避免調節(jié)閾值超參的麻煩,該策略額外訓練一個答案邊界重選模型,讓模型自己學習出如何從所有候選答案邊界中全局地重新選擇出一對最好的答案開始和結束邊界。 圖3展示了答案邊界重選模型的結構,該模型以候選邊界的特征矩陣F=[f1,f2,…,f2k]∈6×2k為輸入,其中fi=[posi,n-posi,posi-posi-1,posi+1-posi,sposi,eposi]表示按位置排序后的第i個候選邊界的特征向量,該特征向量的前兩維分別表示這個邊界在文檔P中的正向位置和反向位置,中間兩維分別表示此邊界與相鄰的前一個邊界和后一個邊界的相對距離,最后兩維分別表示此邊界作為答案開始邊界和結束邊界的分數(shù)。為了更好地建模邊界順序,特征矩陣先被送入了一層序列建模常用的雙向GRU[23],接著雙向GRU輸出的隱層表示又被送入了一層Transformer[6]以通過自注意力機制來讓所有候選邊界更好地全局交互,至此就可以得到所有候選邊界最終的嵌入表示b×2k。 H′=Transformer(BiGRU(F))。 雖然全局邊界重選策略克服了局部片段合并策略只能局部交互的缺點,但是這兩種方法都只利用了候選邊界這些點的信息,并沒有利用邊界周圍的上下文信息。另外,如果想對上一步預測出的存在偏差的候選邊界進行修正,前兩種方法都無法做到,因為前兩種方法本質上都是從已有的候選邊界中選擇,并不能預測出新的修正后的邊界。 為了克服這個缺陷,本文進一步提出了采用重新閱讀的策略來修正最終答案的邊界。然而,如果只是簡單重閱讀,不免又會陷入長答案長文檔的境地。不過,經(jīng)過第一遍閱讀之后,閱讀理解模型已經(jīng)抽取出了多個候選答案片段,也就是說,只有這些候選片段及其附近上下文是與問題最相關的內容,因此,我們可以放心地跳過其他不相關內容,只針對性地精讀由候選片段及其附近上下文構成的摘要就可以了。但是,對于候選片段很長的情況,這個摘要還是會太長從而導致精度模型無法一次性讀完。考慮到抽取式閱理解只關注尋找答案的邊界,長答案中間冗長的內容除了能提供一些上下文信息,在最后答案邊界選擇時并不會受到關注,因此我們完全可以舍棄掉這些不太重要的上下文信息來換取更精簡的摘要。 具體地,為了得到精讀模型,我們利用算法2根據(jù)上一步閱讀理解模型抽取的候選答案生成出訓練集中所有相關文檔的摘要,圖4展示了這種摘要的一個示例,然后以此構造出新的精讀訓練樣本,微調上一步中的閱讀理解模型。在預測時,我們首先找到摘要中的置信分數(shù)最高片段的開始和結束邊界1≤start′≤end′≤|S|,然后根據(jù)映射關系找到其在原始文檔中的位置1≤start≤end≤n,得到最終答案為Pstart:end。 圖2 局部片段合并示意圖Fig.2 Schematic diagram of local span merging 圖3 全局重選模型的網(wǎng)絡結構Fig.3 Global reselection neural network 問題:疫情期間,如何安排經(jīng)費預算?摘要:...:一、明確經(jīng)費保障目標 各級財政部門要按照習近 … 好疫情防控經(jīng)費保障工作。確保人民群眾不因擔心費… 統(tǒng)籌安排經(jīng)費預算 近期,按照黨中央、國務院統(tǒng)一部署… 時,切實履行好經(jīng)費保障職能。年初衛(wèi)生防疫經(jīng)費預算安排不 … 經(jīng)費的保障力度也要切實加強。三、加快調度撥付資金... 本章通過實驗對我們提出的BoundaryQA框架進行驗證,并通過與基線方法對比來驗證本文提出的三種答案邊界整合策略,最后還分析了上下文窗口大小對跳躍式重閱讀的影響。 算法2:針對問題的摘要生成輸入:候選答案集B文檔P=[p1,p2,…,pn]上下文窗口大小w輸出:摘要S1. I←0n2. for all(sp,ep,ssp,eep)∈B do3. Isp-w:sp+w←12w+14. Iep-w:ep+w←12w+15. S←[]6. for t←1 to n do7. ifIt=1 then8. S.append(p_t) 數(shù)據(jù)集:本文利用DataFountain疫情政務問答助手比賽提供的數(shù)據(jù)(1)https:∥www.datafountain.cn/competitions/424/datasets作為本文實驗的數(shù)據(jù)集,該數(shù)據(jù)共有8 000篇文檔、4 999條問答對,經(jīng)過隨機劃分后,訓練集包含2 999條問答對,驗證集和測試機各包含1 000條問答對。表1展示了根據(jù)參考答案長度對整個數(shù)據(jù)集進行的統(tǒng)計,我們可以看到不同于以往的抽取式問答,政策型問答的答案長度普遍較長,平均長度達到了58,最大長度甚至達到了2 131。 評價指標:由于抽取式閱讀理解常用的F1指標不太適用于評價答案較長的答案,本文采用ROUGE-L[8]評價答案的正確性,其考察預測答案A和參考答案A′的最長公共子序列(LCS)上的準確和召回情況,具體計算方式如下: 實驗細節(jié):基于Elasticsearch搭建文檔檢索器,基于谷歌發(fā)布的中文預訓練BERT-BASE訓練閱讀理解模型。通過在驗證集上調節(jié)超參,候選答案數(shù)量k設為5,算法1中的鄰近距離閾值dist設為12,分數(shù)差距閾值diff設為2.3,算法2中的上下文窗口大小w設為64,全局邊界重選策略中的候選邊界嵌入向量維度b設為24。 本文實驗的基線方法[4]除了最直接選取分數(shù)最高的候選答案作為最終答案,其他設置均與Bound-aryQA相同。表2展示了基線方法及不同答案邊界整合策略在測試集上的表現(xiàn),其中不同列展示了方法在不同參考答案長度的表現(xiàn)。我們可以發(fā)現(xiàn),當參考答案長度變得比較大時,基線方法的性能下降明顯,其中召回率Rlcs下降的幅度更大,這說明隨著答案長度的增加,閱讀理解模型越來越難抽取到完整的答案。 相比基線方法,本文提出的三種整合方法均能在整體ROUGE-L提升的基礎上,對長答案抽取的ROUGE-L提升更大,另外值得注意的是,ROUGE-L的提升幅度始終與召回率Rlcs的提升幅度一致,這表明ROUGE-L的提升主要源自召回率的提升,同時也說明BoundaryQA框架有效緩解了長答案抽取不完整的問題。 三種策略對比來看,局部片段合并策略對參考答案長度稍長([4,16))的樣本表現(xiàn)最好;全局邊界重選策略對參考答案長度較長([16,256))的樣本表現(xiàn)出眾;而跳躍式重閱讀法不僅帶來的提升最大,其在任何答案長度區(qū)間的表現(xiàn)也都不俗,這充分體現(xiàn)了結合局部和全局信息的優(yōu)勢。 表3展示了采用不同上下文窗口大小的跳躍式重閱讀策略在驗證集上的表現(xiàn),可以發(fā)現(xiàn),大的上下文窗口能帶來更高的召回率,但是太大的窗口會導致答案的精確率降低進而導致ROUGE-L下降,因此,一個適中的上下文窗口大小最為合適。 針對政策型問答場景中遇到的輸入長度超越極限、長答案抽取不完整的挑戰(zhàn),本文提出了答案邊界整合框架BoundaryQA,該框架提供了三種邊界整合策略,其中局部片段合并策略局部地合并了那些因文檔塊切分而被分開的兩個鄰近候選答案片段;全局邊界重選策略訓練一個答案邊界重選模型來全局地從所有候選答案邊界中重新選擇出一對最好的開始和結束邊界;跳躍式重閱讀策略則重新閱讀了一段包含全局候選答案和邊界局部上下文信息的簡短摘要并從中抽取出更準確的答案。本文最后在真實疫情政策問答數(shù)據(jù)上進行了實驗,驗證了BoundaryQA框架的有效性。 表1 疫情政務數(shù)據(jù)集參考答案長度統(tǒng)計 表2 不同答案整合策略在測試集上的表現(xiàn) 表3 跳躍式重閱讀策略采用不同上下文窗口大小在驗證集上的表現(xiàn) 目前BoundaryQA框架在相關文檔檢索階段中只采取了比較簡單的BM25方法,未來的工作可以從檢索角度切入,考慮如何根據(jù)簡短的問題更好地檢索到包含長答案的相關文檔。2.2 全局邊界重選
2.3 跳躍式重閱讀
3 實驗和分析
3.1 實驗設置
3.2 實驗結果
3.3 上下文窗口大小對跳躍式重閱讀的影響
4 結論