HyperAIHyperAI

Command Palette

Search for a command to run...

Fusion De Rang Réciproque (RRF)

Date

il y a 2 ans

Reciprocal Rank Fusion (RRF) est un algorithme qui évalue les scores de recherche de plusieurs résultats précédemment classés pour produire un ensemble de résultats unifié.Il s’agit d’une méthode permettant de combiner plusieurs ensembles de résultats avec différents indicateurs de pertinence en un seul ensemble de résultats. Le RRF n’a pas besoin d’être ajusté et les différentes mesures de pertinence n’ont pas besoin d’être corrélées entre elles pour obtenir des résultats de haute qualité. La technique, développée en collaboration entre l’Université de Waterloo (Canada) et Google, « produit de meilleurs résultats que n’importe quel système utilisé seul et meilleurs que les méthodes de reclassement standard », selon ses auteurs.

Processus RRF

Le principe de base du RRF est que les documents qui apparaissent systématiquement dans les premières positions dans différentes stratégies de recherche sont susceptibles d'être plus pertinents et devraient donc recevoir un classement plus élevé dans les résultats fusionnés.

Voici une description simplifiée du processus RRF :

  1. Collectez des résultats de recherche classés à partir de plusieurs requêtes simultanées.
  2. Attribuez un score de classement réciproque à chaque résultat de la liste classée. Le processus RRF génère un nouveau score de recherche pour chaque correspondance dans chaque ensemble de résultats. Pour chaque document dans les résultats de recherche, l'algorithme attribue un score de classement réciproque en fonction de sa position dans la liste. Le score est calculé comme 1/(rang + k), où « rang » est la position du document dans la liste et « k » est une constante. Les observations empiriques montrent que k fonctionne mieux lorsqu'il est défini sur une petite valeur, telle que 60. Notez que cette valeur « k » est une constante dans l'algorithme RRF et est complètement différente du « k » qui ajuste le nombre de voisins les plus proches.
  3. Combiner les scores. L'algorithme ajoute les scores de classement réciproques obtenus à partir de chaque stratégie de recherche pour chaque document, générant un score combiné pour chaque document.
  4. L'algorithme classe les documents en fonction des scores combinés et les organise en conséquence. La liste qui en résulte constitue le classement d’ensemble.

Le processus de fusion de rang réciproque (RRF) peut être décrit à l'aide d'un organigramme :

Figure 1 :Organigramme de la fusion de rangs réciproques (RRF). La figure illustre les étapes impliquées dans le processus de classement RRF.

Mise en œuvre du RRF

RRF utilise la formule suivante pour déterminer le score de classement de chaque document :

score = 0.0
for q in queries:
    if d in result(q):
        score += 1.0 / ( k + rank( result(q), d ) )
return score

# where
# k is a ranking constant
# q is a query in the set of queries
# d is a document in the result set of q
# result(q) is the result set of q
# rank( result(q), d ) is d's rank within the result(q) starting from 1

(Code de Documentation Elasticsearch

Références

【1】https://safjan.com/implementing-rank-fusion-in-python/

【2】https://www.elastic.co/guide/en/elasticsearch/reference/current/rrf.html


Créer de l'IA avec l'IA

De l'idée au lancement — accélérez votre développement IA avec le co-codage IA gratuit, un environnement prêt à l'emploi et le meilleur prix pour les GPU.

Codage assisté par IA
GPU prêts à l’emploi
Tarifs les plus avantageux

HyperAI Newsletters

Abonnez-vous à nos dernières mises à jour
Nous vous enverrons les dernières mises à jour de la semaine dans votre boîte de réception à neuf heures chaque lundi matin
Propulsé par MailChimp
Fusion De Rang Réciproque (RRF) | Wiki | HyperAI