hybrid søgningsalgoritme

En hybrid søgningsalgoritme kombinerer to eller flere forskellige søgemetoder, typisk leksikalsk (f.eks. BM25) og semantisk (vektor-søgning), for at opnå bedre resultater end hver metode alene.

Kort fortalt

Kort fortalt: en teknik der blander traditionel tekst-matchning med betydningsbaseret søgning for at finde de mest relevante resultater.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En hybrid søgningsalgoritme kombinerer to eller flere forskellige søgemetoder for at udnytte styrkerne fra hver enkelt. Den mest almindelige form forener leksikalsk søgning (baseret på nøgleordsoverlap, f.eks. BM25) med semantisk søgning (baseret på vektorrepræsentationer, f.eks. cosine similarity af embeddings). Resultaterne fusioneres ofte via en vægtet sum eller en omrangering.

    • I et RAG-system anvender vi en hybrid søgningsalgoritme for at sikre både præcise match og kontekstuel relevans.
    • Hybride søgningsalgoritmer har vist sig overlegne i benchmarks som BEIR, især når data indeholder både nøjagtige termer og semantisk variation.

Hvornår bruges det

Bruges i informationssøgning, især i RAG-systemer og søgemaskiner, hvor man ønsker at fange både præcise nøgleordssammenfald og semantisk lighed. Implementeres ofte ved at kombinere BM25-score og cosine similarity med en vægtning eller en to-faset tilgang.

Kodeeksempel

import weaviate

client = weaviate.Client("http://localhost:8080")

result = client.query.get("Document", ["title", "text"])\
    .with_hybrid(query="AI ordforklaring", alpha=0.5)\
    .do()

Eksempel på hybrid søgning med Weaviate. Parameteren alpha styrer vægtningen mellem leksikalsk (alpha=0) og semantisk (alpha=1) søgning.

Oprindelse

Termen 'hybrid' kommer fra latin 'hybrida' (blanding) og 'søgningsalgoritme' er en algoritme til at finde information i en samling. Begrebet opstod i takt med udviklingen af neurale søgemetoder (ca. 2010'erne) og behovet for at kombinere dem med klassiske metoder.

Afledte ord

2
hybrid søgninghybrid retrieval

Se også

  • RAG
  • søgningsalgoritme(mangler)
  • vektor-søgning(mangler)