Când rulezi simultan BM25 și căutare vectorială, scorurile brute nu pot fi adunate direct deoarece au scale diferite. RRF combină direct pozițiile din clasamente (rank).
Calcul matematic RRF
def compute_rrf(rank_lists, k=60):
rrf_scores = {}
for r_list in rank_lists:
for rank, doc_id in enumerate(r_list):
rrf_scores[doc_id] = rrf_scores.get(doc_id, 0.0) + 1.0 / (k + rank + 1)
return sorted(rrf_scores.items(), key=lambda x: x[1], reverse=True)
Standardul de aur pentru fuziunea rezultatelor în sistemele de căutare hibridă.
Întrebări & Discuții: Algoritmul Reciprocal Rank Fusion (RRF) pentru Fuziunea Căutărilor Paralele
Ai o întrebare despre Algoritmul Reciprocal Rank Fusion (RRF) pentru Fuziunea Căutărilor Paralele sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.