Accelerating Real-Time Question Answering via Question Generation閱讀筆記

語言: CN / TW / HK

論文: Accelerating Real-Time Question Answering via Question Generation

來源:AAAI 2021

Abstract

現有方法實現 實時問答(RTQA) 的思路為:對文件中的關鍵短語進行表示,之後將其與問題表示相匹配得到答案。然而,這種方法 受限於實時問題的編碼時間 ,當流量大時會出現可察覺的時延。為進一步 提高RTQA速度 ,本文提出 Ocean-Q(an Ocean of Questions) ,一種利用問題生成(QG)的RTQA新方法。Ocean-Q 引入QG模型 ,線下生成大量的問答對,之後實時將輸入問題與候選問答對匹配來預測答案,無需對問題編碼。為提升QG質量,本文提出一種新的 資料增強 方法,並利用 多工學習多樣beam search 來提升RTQA的效能。實驗表明Ocean-Q比當前SOTA系統速度快4倍,準確率僅下降3+%。

Introduction

RTQA由於在網路規模應用的商業價值而獲得持續增長的關注。在實際應用中,QA搜尋引擎需在問題給出後幾毫秒內給出答案,避免人類可察覺的時延。目前, SOTA QA模型依賴於問題與文件中相關上下文的跨序列注意力 。當得到一個新問題時,系統需線上對其編碼並關注相關文件,當給定上下文無限時(開放域),計算開銷十分巨大。

為加速此過程, 查詢無關(query-agnostic)的方法 對不同的問題重用相關的上下文。基本思路是:對文件中的關鍵短語表示,與問題表示進行匹配得到答案。然而對問題的編碼在實際應用中仍會導致可注意到的時延。

為進一步加快RTQA的速度,本文提出 Ocean-Q ,通過 利用問題生成 顯著減少query-agnostic方法中的問題編碼時間。具體來說,候選問答對線上下生成,當實時問題輸入系統時,通過 n-gram重疊 與候選問題匹配,基於排序靠前的問答對選擇答案。

Ocean-Q的關鍵組成 問題生成 近年來被廣泛研究(發展路線:基於人工設計規則和模板→encoder-decoder架構→引入段落資訊→使用預訓練模型)。QG模型的評估依賴於BLEU、ROUGE、METEOR等指標,然而有研究指出這些指標不能真正反映生成問題的質量。為使QG更好地融入QA系統中,本文考慮 將RTQA作為QG模型的評估指標 ,使QG與RTQA連線起來來保證端到端的效能提升。此外,本文提出了一種新的資料增強方法,並利用多工學習和多樣化beam search來 增強QG ,以進一步提高RTQA的效能。

本文主要 貢獻

  1. 提出Ocean-Q,利用問題生成提高RTQA速度,比SOTA模型快4倍,準確率受輕微影響;
  2. 使用一些技巧(資料增強、多工學習和多樣化beam search)提升QG質量,進一步提升RTQA效能。

Ocean-Q for Real-Time QA

框架包括兩個組成部分:線下問答對生成和線上問題匹配

Offline QA-pair Generation

答案抽取

原則上,段落中的任何片段均有可能是候選答案。為了保證QA的召回率, 將答案抽取看作分類問題 並使用RoBERTa實現。對段落中的每個詞,預測其為答案開始和結束位置的概率,之後選擇分數前k個預測答案作候選答案。

段落表示為 ,其中 為段落長度, 為每個詞語上下文表示維度。每個位置作候選答案片段開始和結束位置的對數概率通過線形層預測:

其中

答案片段抽取分數計算方法為:

問題生成

基於UniLM(一種可用於NLU和NLG的統一預訓練模型)實現,將輸入段落和答案作為輸入資料,針對同一答案使用beam search生成策略生成L個不同問題。

QA對驗證

上述兩步驟得到一些初始QA對,然而這些答案可能並不夠準確,因為答案抽取模型無法精確確定答案邊界。因此,本文使用基於BERT的QA模型來對初始QA對驗證,之後將初始答案替換為預測答案。

疑問:替換並不能改善答案抽取不佳使生成問題質量較差的問題?

Online Question Matching

兩級排序器

引入DrQA中的檢索方法,為每篇文件建立文件級 TF-IDF 向量 ,輸入問題同樣使用TF-IDF向量編碼,用 表示,通過計算 和 的內積 檢索相關文件 。在一級排序後,根據段落級TF-IDF向量 ,同樣通過內積計算 檢索相關文件中的相關段落

問題匹配

將基於排序後得到的相關段落生成的問題與輸入問題進行匹配。通過計算 存在詞彙的共同數量 來衡量候選問題與輸入問題的相似度。

問題匹配結束後,使用檢索問題的對應答案作為系統的最終答案。

Enhanced Question Generation

問題生成是Ocean-Q中的一個重要組成部分,假設QG得到更多樣的問題可以提高RTQA的效能。為驗證假設,本文從三個方面進行研究。

資料增強

為提升QG模型訓練資料 的多樣性, 從模型生成問題中選擇部分樣本作為模型的訓練資料 。生成問題可能與原始問題在語義上有差異,因此對其進行篩選,只選擇一部分作為增強資料。

通過Quora Question Pairs (QQP) 資料集(記為 )訓練問題轉述模型得到生成問題和真實問題的轉述得分,作為問題選擇的準則之一(語義相關性);此外,語義相似問題之間存在詞彙重疊,使用 指標作為問題選擇的另一個準則(表達多樣性)。因此對 中的每條資料都可以得到增強資料樣本,形成新的資料集 。最終問題生成模型基於 訓練。

多工學習

應用基於混合比例策略的多工學習提升問題生成模型的泛化能力。

(Multi-task Learning with Sample Re-weighting for Machine Reading Comprehension. NAACL 2019)

多樣beam search

(A simple, fast diverse decoding algorithm for neural generation. 2016)

傳統的beam search傾向於生成相似的序列。應用多樣beam search技巧懲罰從同一父節點中衍生出來的序列假設,使結果來自更多的父節點,從而使生成的候選問題更加多樣。

Experiments

資料集:SQuAD、HotpotQA

  • 效果可超過早期的較差注意力模型並取得更快的推理速度;
  • 與準確率最高模型相比速度提升410倍,犧牲5.8%的準確率;
  • 與推理速度最快模型速度提升4倍,犧牲3.5%的準確率;
  • 分析認為準確率的差距主要來自於問題生成,更好的QG模型會提升準確率。
  • 非開放域的情況下,模型效果優於查詢無關基線;
  • 相比於其他模型到開放域的效能下降更少,表明模型具有較好的泛化能力。
  • 資料增強(DA)、多工學習(MTL)、DBS比基線模型效果更好,問題多樣化有利於提升RTQA效果;
  • DA對QG提升效果最明顯,MTL對RTQA效果提升最明顯,表明QG從域內資料中獲益更多,RTQA從域外資料中獲益更多;
  • 相似的域內資料比多樣資料對QG的幫助更大。
  • 增加候選答案數量和光束大小可以提升RTQA效果,表明這兩種方法使生成的問答對更加多樣;
  • 消融實驗:除去問答對驗證模組,RTQA模型效能下降9.46%,表明模組的有效性。
  • 兩級排序器可以有效定位答案相關段落。
  • 答案抽取模型無法精確定位答案邊界,但QG可以通過對不同的子答案的關注產生不同的問題,QA驗證模型可以對答案進行修正;
  • 同樣的答案生成的問題對應於段落中的不同片段,但QA驗證模型可以幫助糾正錯誤答案。
  • 通過優化第一、三部分可以京一部提高模型推理速度。

Conclusion

本文提出Ocean-Q,一種利用QG進行RTQA的新方法,解決線上問題編碼的瓶頸。實驗表明,模型比SOTA模型快4倍,以準確率下降3+%為代價。引入資料增強、多工學習、多樣化beam search來提高QG質量,以進一步提升RTQA效能。未來工作包括設計更好地QG模型,提高模型在準確率方面的表現。