re-ranker

En metode til at forbedre søgeresultater ved at anvende en sekundær, mere præcis model til at genrangere et lille antal kandidater fra en første hurtig søgning.

Kort fortalt

En re-ranker tager de bedste resultater fra en simpel søgning og sorterer dem smartere for at finde de allermest relevante.

Kategori
teknik
Niveau
øvet
Udtale
/riːˈræŋkər/

Betydninger

1
  1. 1

    En genrangeringsmodel, typisk en cross-encoder, der tager et dokument og en query og udregner en relevansscore for at rangere dokumenterne.

    • Vi brugte en BERT-baseret re-ranker til at genrangere de 100 bedste hits fra BM25-søgningen.Forskningsartikel, 2021
    • Re-rankeren forbedrede NDCG@10 med 15 % i forhold til den første retrieval.Eksempel fra praksis

Hvornår bruges det

Re-rankere bruges typisk i søgesystemer og RAG-pipelines, hvor man først henter et bredt sæt af dokumenter med en billig metode (fx BM25 eller en simpel embedding-søgning), og derefter bruger en dyrere, mere præcis model (fx en cross-encoder) til at rangere de bedste kandidater om. Det giver bedre præcision uden at skulle køre den tunge model på alle dokumenter.

Kodeeksempel

from sentence_transformers import CrossEncoder
model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')
query = "Hvad er en re-ranker?"
documents = ["En re-ranker er en model...", "Re-rankere bruges i søgning..."]
scores = model.predict([(query, doc) for doc in documents])
reranked = [doc for _, doc in sorted(zip(scores, documents), reverse=True)]

Eksempel på brug af en cross-encoder re-ranker med sentence-transformers biblioteket.

Oprindelse

Fra engelsk "re-rank" (genrangere) med suffikset -er, der betegner en agent eller metode.

Afledte ord

1