Combines multiple signals for better reranking:
Semantic similarity (word vectors)
BM25/keyword overlap
Query coverage
Position bias
Length normalization
weightsFeature weights
new()Create a new AdvancedReranker
AdvancedReranker$new(
semantic_weight = 0.4,
bm25_weight = 0.3,
coverage_weight = 0.2,
position_weight = 0.1,
sentence_embedder = NULL
)semantic_weightWeight for semantic similarity (0-1)
bm25_weightWeight for BM25 score (0-1)
coverage_weightWeight for query term coverage (0-1)
position_weightWeight for position bias (0-1)
sentence_embedderOptional SentenceEmbedder for semantic scoring
set_embedder()Set sentence embedder
AdvancedReranker$set_embedder(embedder)embedderSentenceEmbedder object
rerank()Rerank results
AdvancedReranker$rerank(
query,
query_vector = NULL,
results,
doc_vectors = NULL,
limit = 10
)queryQuery text
query_vectorQuery embedding vector
resultsList of result objects with id, text, score
doc_vectorsMatrix of document vectors (optional)
limitNumber of results to return
Reranked list of results
learn_weights()Learn optimal weights from relevance judgments
AdvancedReranker$learn_weights(
queries,
results_list,
relevance_list,
iterations = 100
)queriesCharacter vector of queries
results_listList of result lists (one per query)
relevance_listList of relevance scores (1=relevant, 0=not)
iterationsNumber of optimization iterations
clone()The objects of this class are cloneable with this method.
AdvancedReranker$clone(deep = FALSE)deepWhether to make a deep clone.