Dense Passage Retrievalとは

Dense Passage Retrievalとは、質問と文書をそれぞれベクトル(意味を表す数値の並び)に変換し、意味の近さで関連文書を探し出す検索手法です。略称はDPR。2020年4月に論文が公開され、キーワードの一致に頼らない「意味で探す」検索が実用になることを示しました。

キーワード検索の「言い換え」問題を超える

それまで文書検索の事実上の標準は、BM25のように語の一致で点数を付ける方式でした。確実な半面、同じ意味でも言葉が違うと拾えないのが弱点です。DPRは質問用と文書用に2つのエンコーダ(BERT系の変換器)を用意し、双方をベクトル化して近いものを返します。書名の文字が一致する本しか出せない司書から、内容を覚えていて「その話ならこの本」と差し出せる司書へ。そんな変化に近いでしょう。論文では、上位20件に正解文書が入る割合がBM25系を9〜19ポイント上回ったと報告されています。

RAG時代から見た立ち位置

発表は2020年4月で、ChatGPT公開(2022年11月30日)より2年半ほど前のことです。その後に広がったベクトル検索や埋め込みモデルの、直系の出発点のひとつに位置づけられます。社内検索やRAG(検索拡張生成)の検索部分を支える発想は、ここから育ちました。DPRそのものは2020年の研究成果として参照される存在で、同じ設計思想を受け継いだ埋め込みモデルが数多く登場しています。

Topic「RAG」の名付け論文と顔ぶれが重なっている?

RAGという言葉を世に出した論文(2020年・NeurIPS採択)と、このDPRの論文には同じ研究者の名前(Patrick Lewis氏)があります。検索のDPRと生成のRAG。いまセットで語られる2つの部品が、同じ2020年に著者の重なる研究として相次いで発表されていた、という系譜の小話です。

Dense Passage Retrievalに関するよくある質問

BM25とDPRはどちらを使うべきですか?
二者択一にしない構成が広く使われています。意味で探すベクトル検索と、型番や固有名詞に強い語の一致検索(BM25)を組み合わせ、結果を統合するハイブリッド検索が定番の選択肢です。
名前の「Dense(密)」は何が密なのですか?
文書や質問を表すベクトルの性質です。キーワード方式は出てこない語の欄がほぼ0になる疎(スパース)な表現なのに対し、DPRはすべての次元へ意味を詰め込んだ密な表現を使うため、こう呼ばれます。
DPRは今も使われていますか?
双エンコーダで意味検索するという設計の原型として参照され続けています。実装としては2020年の研究成果で、実務ではその後に登場した新しい埋め込みモデルへ置き換えて使われることが増えています。

Dense Passage Retrievalに関連する記事