RRF 检索聚合算法

倒数排名融合(Reciprocal Rank Fusion,RRF)

  • 一种简单有效的多检索结果聚合方法,效果始终优于单一系统
  • RRF 常用于混合检索的场景,比如关键词检索和向量检索的混合

RRF 的核心公式: $$ RRFscore(d\in D) = \Sigma_{r\in R}\frac{1}{k+r(d)} $$

  • 其中 $D$ 表示文档集合,$R$ 是不同检索后的文档排序结果
  • $k$ 是常量,默认为 60;用于减轻异常检索结果中的高排名影响

RRF 的简单示例:

  • 假设文档 docA 在三次不同的检索策略中出现,检索排名分别 1、2、1
  • 则文档 docA 的最终 RRF 得分为:1/(1+60) + 1/(2+60) + 1/(1+60) = 0.049

ElasticSearch 和很多向量数据库都原生支持混合检索与 RRF

RRF 算法的分析:

  • RRF 是一种零样本检索结果融合方法,适合排名分布未知的情况
  • RRF 只考虑不同检索策略的结果排名,限制条件少,实际应用广泛

往年同期文章