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
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.