RRF
RRF(Reciprocal Rank Fusion) 即倒数排序融合算法,是一种简单而有效的数据融合算法,常用于将来自于多种搜索系统的结果进行融合。
基本原理
RRF 基于“倒数排名”的思想,其核心概念是,一个项目在各个搜索结果中的排名的倒数可以被累加,从而得到一个综合的分数,用于最终排名,分数越高,排名越靠前。RRF 的公式如下:
$$ Score=\sum_{i=1}^{k}\frac{1}{rank_i+c} $$
其中,$rank_i$ 是项目在 $i$ 个搜索系统中的排名,$k$ 是搜索系统的数量,$c$ 是一个常数,通常取 60,用来降低在某些搜索系统中排名特别靠前的分数在总的得分中的影响,使得最终的得分更加平滑。
特点和优势
- 简单,从上一节的算法公式可以看到,十分容易实现
- 有效
- 能够适应不同类型和数量的搜索系统
- 由于加入了常量 c,降低了极端值的影响,使得最终结果足够稳健