RRF(逆順位融合)って何?
良い検索は、しばしば複数の「審判」に同時に聞きます。キーワード検索、ベクトル検索、意味検索——それぞれがランキングを返してきます。問題は、3つのリストが食い違うこと。どれを信じる? RRF(Reciprocal Rank Fusion、逆順位融合)は、複数のランキングを「1つにまとめる」アルゴリズムで、追加の学習が不要、ノイズにも強いのが特徴です。なぜうまくいくのか
スコアは1つ:順位の逆数RRFの採点はとても素朴です。1位は1/1、2位は1/2、3位は1/3——上位ほど高得点。そして同じ文書のスコアを全リストで合計し、合計が一番高いものを先頭に置きます。
なぜ生の関連度スコアを使わないのか
検索器ごとのスコアは直接比べられません。キーワード検索の0.9とベクトル検索の0.7は「通貨」が違います。RRFは順位しか見ないので、その問題を自然に回避できます。使いやすく移植しやすい理由です。
何が良いのか
コストゼロ・調整ゼロ学習データも重み調整も不要。数行のコードで動きます。
悪いリストにも頑健
ある検索器が調子を崩して文書を下位に埋めても、逆数スコアが全体を台無しにするのを防ぎます。
検索器を足しやすい
もう1路検索を加えたければ、その順位をスコアに変えて足すだけ。拡張性が高い。
どこで使われる?
RRFはハイブリッド検索の主役。スパースなキーワード検索とデンスなベクトル検索の結果を融合し、「完全一致」と「意味理解」を両立します。多くのRAGシステムの標準的な融合戦略です。まとめ:RRFは「出どころは問わず、順位だけを見る」。逆数スコアで複数のランキングを、より確かな1つのリストにまとめます。
コメント