Dense Retrieval(密集檢索)是一種基於向量語義表示的檢索技術,主要用於自然語言處理領域,特別是在開放域問答(Open-Domain QA)與語料檢索任務中。這種方法通過深度學習模型將查詢(Query)和文檔(Document)編碼成密集的實數向量(dense vector),並根據向量間的相似度進行檢索,而非傳統的基於關鍵字匹配的稀疏檢索方法。
核心概念及原理包括:
- 向量表示(Embedding):使用深度神經網絡(如BERT)對查詢與文檔進行編碼,將語言轉化為語義豐富且連續的低維向量。
- 雙編碼器架構(Dual Encoder):分別用兩個獨立編碼器將查詢和文檔映射至同一向量空間,方便計算兩者的相似度。
- 相似度計算:一般採用內積(dot product)或餘弦相似度(cosine similarity)來衡量查詢與文檔向量之間的相關性。
- 高效檢索:在大量文檔中,先將文檔向量預先索引,查詢時快速計算向量相似性,找到Top-k最相關的文檔。
- 優勢對比: 針對語義層面的匹配更精確,不依賴於詞彙的字面匹配, 能處理同義詞、多義詞與自然語言多樣表達, 在開放域問答與知識檢索中大大提升檢索質量, 相較傳統像TF-IDF、BM25等基於字頻的稀疏檢索效果更好。
- 案例模型:DPR(Dense Passage Retriever)是目前最具代表性的Dense Retrieval架構之一,透過雙編碼器與專門的訓練策略,顯著提升了開放域問答的檢索性能。