hybrid søgning

Søgemetode der kombinerer leksikalsk søgning (f.eks. BM25) med vektorbaseret semantisk søgning for at forbedre relevans og dækning.

Kategori
teknik
Niveau
øvet
Udtale
[ˈhyːbʁið ˈsøːneŋ]

Betydninger

1
  1. 1

    Søgeteknik der fusionerer resultater fra en leksikalsk søgemaskine (baseret på ordmatch) og en semantisk søgemaskine (baseret på vector embeddings) for at opnå en mere robust og relevant resultatliste, typisk ved at vægte og kombinere score fra begge metoder.

    • Hybrid søgning anvendes ofte i RAG-systemer for at balancere præcision og recall, især når der er variation i sprogbrug.faglitteratur, 2024
    • Ved at kombinere BM25 med en semantisk søgning via embeddings kan hybrid søgning levere bedre resultater end hver metode alene.teknisk rapport, 2023

Kodeeksempel

from langchain.retrievers import EnsembleRetriever
from langchain.retrievers import BM25Retriever, VectorStoreRetriever

bm25_retriever = BM25Retriever.from_texts(docs)
vector_retriever = VectorStoreRetriever(vectorstore=vectorstore)

ensemble_retriever = EnsembleRetriever(
    retrievers=[bm25_retriever, vector_retriever],
    weights=[0.5, 0.5]
)
results = ensemble_retriever.get_relevant_documents(query)

Eksempel på implementation af hybrid søgning ved hjælp af LangChain's EnsembleRetriever med lige vægte.

Oprindelse

Sammensat af 'hybrid' (fra latin hybrida, 'blanding') og 'søgning' (fra oldnordisk sǿkja).

Afledte ord

2