re-ranking
Teknik, hvor en indledende liste af resultater fra en første søgning eller retrieval bliver sorteret eller filtreret igen ved hjælp af en mere avanceret model for at forbedre relevansen.
Kort fortalt
En metode, der bruger en avanceret model til at sortere resultaterne fra en første grov søgning, så de mest relevante kommer øverst.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Proces hvor en indledende rangordning af dokumenter, emner eller resultater justeres ved hjælp af en mere præcis eller kontekstafhængig model for at optimere relevansen.
- Efter at have hentet de 20 bedste dokumenter med BM25, brugte systemet en cross-encoder til re-ranking for at vælge de fem mest relevante.
Hvornår bruges det
Re-ranking anvendes typisk i RAG-systemer, hvor en hurtig første retrieval (f.eks. ved hjælp af embeddings) henter et sæt kandidater, og en cross-encoder model derefter scorer og sorterer dem for at vælge de bedste. Det bruges også i søgemaskiner og anbefalingssystemer til at forbedre kvaliteten af topresultater.
Kodeeksempel
from sentence_transformers import CrossEncoder
cross_encoder = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')
query = "What is re-ranking?"
docs = ["doc1", "doc2", "doc3"] # retrieved from first stage
scores = cross_encoder.predict([(query, doc) for doc in docs])
reranked_docs = [doc for _, doc in sorted(zip(scores, docs), reverse=True)]Eksempel på re-ranking af dokumenter ved hjælp af en cross-encoder fra sentence-transformers biblioteket.
Oprindelse
Termen er lånt fra engelsk, hvor 're' betyder 'igen' og 'ranking' betyder 'rangordning'. Teknikken har rødder i information retrieval og machine learning.