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