ACL 2020 | 基于稠密段落检索的开放域问答系统技术
?PaperWeekly 原創 ·?作者|蔡杰
學校|北京大學碩士生
研究方向|QA
論文標題:Dense Passage Retrieval for Open-Domain Question Answering
論文來源:ACL 2020
論文鏈接:https://arxiv.org/abs/2004.04906
引言
Open-domain 的 Question Answering (QA) 一般需要先從大量的文檔庫中檢索出一些和問題相關的文檔(retrive),相關的方法有 TF-IDF 和 BM25。這篇文章發現學習 dense 的文檔向量去替換 retrive 階段的傳統方法是可行的,并且本文提出的檢索系統在 top-20 文章檢索準確率上比 Lucene-BM25 系統高出 9%-19%。
介紹
近年來隨著深度學習的興起,目前大部分做 Open-domain 的 QA 使一般沿用兩階段框架:1)retriever 首先選擇一小部分段落,其中一些包含問題的答案;2)reader 可以看到 retriever 檢索到的上下文并從中識別正確的答案。
目前主流的 retriever 使用傳統的信息檢索(IR)方法,包括 TF-IDF unigram/bigram matching 或詞權重支持 BM25 詞權重的工具,如 Lucene 和 Elastic-search。
TF-IDF 和 BM25 將 query 和 context 用高維的 sparse 向量來表示,這些sparse向量可以通過倒排索引進行有效搜索,并且對于那些通常需要根據關鍵字顯著縮小搜索空間的問題回答有效。
但是 TF-IDF 和 BM25 也有一些缺點就是無法很好的建模詞與詞之間的語義關系(兩個同義詞可能長的完全不一樣),所以一些 encoding 文本為 dense 向量的方法給 TF-IDF 和 BM25 這一類方法做了補充。
本文通過學習 dense representations 代替傳統的 IR 方法進行檢索改進 Open-domain 的 Question Answering。
Dense Passage Retriever (DPR)
在檢索之前先用一個 dense encoder 給文檔庫中的所有文檔都進行 encoding。在檢索的時候用另一個 dense encoder 給 question 進行 encoding,之后根據下圖公式算兩個 representation 的 similarity,取 top-k 作為結果。
公式(1)比較簡單,但是作者說該方式是最有效的。作者用的 encoder 是 bert-base-uncased,然后拿 [CLS] 的 vector 作為 representation。由于文檔庫可能會很大,所以作者用了 FAISS(一個非常高效的開源庫,用于 dense 向量的相似性搜索和聚類,可以很容易地應用于數十億個向量)來索引 encode 之后的向量。
當然,為了讓公式(1)的效果更好,對encoder的訓練是不可避免的。每一個 example 由一個 question 和一堆 paragraph 組成,paragraph 中有一個是和 question 相關的,n 個和 question 無關的,loss 也就是對數似然:
一般情況下,正負例的比例會差很多,作者在選負例的時候也采用了一些 trick:
(1) Random: any random passage from the corpus;
(2) BM25: top passages returned by BM25 which don’t contain the answer but match question tokens heavily;
(3) Gold: positive passages paired with other questions which appear in the training set. (效果最好)
question 和 passage 在 encoding 之后,作者還采用了一種節省計算量的方法,稱之為 In-batch negatives,原文描述如下:
Experiments: Passage Retrieval
Table 2 使用 top-k 精度(k 為 20 或 100)比較了五個 QA 數據集上不同的文章檢索系統。除了 SQuAD,DPR 在所有數據集上都比 BM25 表現得更好。當k值較小時,差距尤其大(例如,NQ 的 top-20 78.4% vs 59.1%)。
當使用多個數據集進行訓練時,TREC(五種數據集中最小的數據集)可以從更多的訓練示例中獲益。相比之下,NQ 和 WebQuestions 得到了適度的改進,而 TriviaQA 則略有下降。在某些情況下,可以通過在單數據集和多數據集設置中結合 DPR 和 BM25 進一步改進結果。
作者還探討了需要多少訓練實例才能獲得一個良好的文章檢索性能。
作者也嘗試了不同的 DPR 訓練方案。表 4 中總結了 NQ dev 集的結果。
最后,作者根據不同的DPR,對后續的 QA 的效果也做了對比:
結論
首先,本文演示了在適當的訓練設置下,只需對現有 question and passage encoder 進行 fine-tuning 就足以在 top-k 檢索精度方面大大超過強大的 Lucene-BM25 系統。
dense 表示法是 sparse 向量表示法的補充,將它們結合起來可以進一步提高性能。其次,我們驗證了,在開放域 QA 的上下文中,較高的檢索準確度確實可以轉化為較高的 end-to-end QA 準確度。
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的ACL 2020 | 基于稠密段落检索的开放域问答系统技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理想汽车 9 月交付新车超 5.3 万辆
- 下一篇: java信息管理系统总结_java实现科