Phrase Retrieval Learns Passage Retrieval, Too

語言: CN / TW / HK

論文: Phrase Retrieval Learns Passage Retrieval, Too

程式碼: https:// github.com/princeton-nl p/DensePhrases

來源:EMNLP 2021

Abstract

在許多NLP場景中,稠密檢索相比於稀疏檢索展示出更好的前景。片段(phrase,代表文件中單詞數量不超過定值的任意連續文字片段,包括單個單詞)作為最細粒度的檢索單元,可以直接當作問答、槽填充任務的輸出,因此 稠密片段檢索 十分具有吸引力。 本文探究了片段檢索是否可以作為更粗粒度檢索(段落或文件)的基礎 。實驗表明一個未經重新訓練的稠密片段檢索系統 可以提升段落檢索的準確率 ,同時也可優化端到端QA的表現。本文對此現象進行了解釋,即與段落級別的監督相比,片段級別的監督有助於更好地學習細粒度的限定。此外,本文表明片段檢索 可以在實體連結和基於知識的對話等文件檢索任務中獲得有競爭力的效能 。此外,作者還 使用片段過濾和向量量化來減少索引的記憶體佔用 ,使密集片段檢索成為多粒度檢索中一個實用而通用的解決方案。

Introduction

稠密檢索在一系列知識密集型NLP任務上的表現超越了稀疏檢索。稠密檢索方法在設計時需考慮 檢索單元 的設定,如DPR將包含100個詞語的段落作為基礎檢索單元。近期一些工作(Real-time open-domain question answering with dense-sparse phrase index, ACL 2019)提出可以 將片段作為檢索單元 ,並有相關工作(Learning dense representations of phrases at scale, ACL 2021)表明片段的稠密檢索( DensePhrases )在OpenQA和槽填充任務中可獲得有競爭力的效能,這些工作值得我們關注的原因是片段可以直接作為輸出,這省去了使用額外的閱讀器來處理檢索段落的步驟。

片段作為對應文字上下文的一部分,通過對上下文的編碼進行表示。 如果檢索器可以定位片段,那我們能否直接利用其進行段落或文件的檢索呢? 本文定義了基於片段的段落檢索,段落的分數由段落內片段的最高分決定。通過評估,DensePhrases無需調整直接應用於 段落檢索 ,就可以取得與DPR相比可競爭甚至更好的效能,當k較小時,top-k精度的提高尤其明顯,這也使提升了在給生成式閱讀模型輸入少量段落的情況下OpenQA的準確率。作者對此現象進行了充分分析,並 進一步探索片段檢索是否可以擴充套件至更粗粒度的檢索或應用於其他NLP任務 。通過對查詢編碼器進行微調,模型能夠在KILT基準上的實體連結和基於知識的對話檢索任務上獲得具有競爭力的效能。此外,作者還 使用片段過濾和向量量化來減少索引的記憶體佔用 ,使密集片段檢索成為多粒度檢索中一個實用而通用的解決方案。

Phrase Retrieval for Passage Retrieval

片段自然有其被提取的源文字,基於此事實,本文定義了一種簡單的基於片段的段落檢索策略,即段落的分數由段落內片段的最高分決定:

具體做法為:首先檢索少量的片段,計算每個段落的分數,並返回前k個段落。分數合併的計算開銷可忽略,基於片段的段落檢索的 推理速度與片段檢索相同 ,因此十分高效。

本文在NQ和TriviaQA上進行了實驗,使用Top-k(前k個檢索段落中至少包含一個黃金答案的問題的比例)、MRR@k(在前k篇段落中,第一篇相關段落的排名倒數平均值)、P@k(在前k個檢索段落中相關段落所佔比例的平均值)作為評估指標。

  • DensePhrases實現了相比於DPR具有競爭力的段落檢索精度,尤其是當檢索段落較少時其準確率有明顯優勢。

使用DensePhrases檢索段落作為近期提出的FiD生成式閱讀模型(Leveraging passage retrieval with generative models for open domain question answering, EACL 2021)的訓練資料來實現OpenQA。

  • 使用DensePhrases作為段落檢索器實現了與基於DPR的FiD相比具有競爭力的效能,並顯著改善了原始DensePhrases的效能。當獲得與基於DPR(100個段落)的FiD類似的效能時,DensePhrases需要更少的段落(k = 25或50),降低了生成式閱讀器的計算開銷。

A Unified View of Dense Retrieval

此部分對DPR和DensePhrases的訓練目標進行了比較並解釋了DensePhrases是如何學習段落檢索的。

DPR和DensePhrases均使用對比損失進行訓練,負樣本的選取至關重要。

批內負樣本:由於批次內段落是從訓練集中隨機取樣構成的,批內的負樣本通常是主題負的,也就是說,模型可以只根據主題區分正負樣本。

困難負樣本:儘管主題相關特徵在識別廣泛相關的段落時很有用,但它們往往缺乏在語料庫中找到包含答案的準確段落的精確性。DPR使用具有較高BM25詞彙重疊卻不包含答案的段落作為困難負樣本來促使DPR學習更細粒度的特徵從困難負樣本中找到正樣本。與之相比,DensePhrases可使用段落內負樣本作為困難負樣本,即出現在同一段落中但卻不是答案的片段。作者假設基於片段的段落檢索可能是從這種片段級監督中得到收益的。

  • 段落內負樣本可以明顯提升模型對困難樣本的區分能力;
  • DPR對主題的區分更有優勢可能是由於其batch size相比於DensePhrases更大;
  • DensePhrases相比於主題特徵更依賴於細粒度隱含線索,這可能是其靠前的檢索結果更加準確的原因。
  • 增加額外的負樣本不能給DensePhrases帶來明顯的收益,表明段落內負樣本已十分有效。

Improving Coarse-grained Retrieval

前文表明DensePhrases可能不適用於主題比細粒度隱含線索更重要的檢索任務,如應用於實體連結的文件檢索。針對此問題,作者提出一種簡單的方法來調整DensePhrases模型。

調整DensePhrases中的查詢端精調模組,由於在建立索引後調整片段表示不太現實,因此選擇對查詢編碼器進行精調。選擇損失為:

經過精調,模型被進一步訓練來檢索包含在相關文件中的任何片段。

  • 使用特定訓練目標的DensePhrases在實體連結與基於知識的對話任務中取得可競爭的效能。

DensePhrases as a Multi-Vector Passage Encoder

DensePhrases使用一系列片段向量來表示段落,這與多向量段落編碼的思想類似。而之前工作使用固定數量的向量或token級別的向量表示文件,DensePhrases則使通過過濾片段(二元分類器實現,答案標註作為監督)用動態數量來表示段落。

多向量段落編碼的瓶頸在於多個向量作索引帶來的儲存壓力。本文在保證效能的基礎上引入基於量化的方法來降低記憶體佔用。

Conclusion

本文證明了片段檢索模型可以在不作任何修改的情況下學習段落檢索,並通過與DPR訓練目標的比較對此進行了解釋。此外,DensePhrases可以被精調用於更粗粒度的檢索單元的檢索。

片段檢索器其實類似於閉卷式QA生成模型,在模型引數中儲存知識來直接回答問題。本文思路與Generation-Augmented Retrieval for OpenQA(ACL 2021)類似,均是通過對真實答案(或相關上下文)的檢索(片段檢索器)或生成(閉卷式QA)為檢索模型引入額外的知識以提升其效能。由於答案在這裡只作為輔助文字,因此即使不準確但只要與檢索內容相關即可提升檢索效能。