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

Afledte ord

2