BAllgemein

BM25 (Keyword Retrieval)

Klassischer Ranking-Algorithmus für Volltextsuche nach Begriffen.

BM25 (Best Match 25) ist ein klassischer Ranking-Algorithmus für die Volltextsuche, der Dokumente danach sortiert, wie gut sie zu einer Suchanfrage passen. Er bewertet vor allem, wie häufig Suchbegriffe im Dokument vorkommen (Term Frequency), wie selten sie im Gesamtkorpus sind (Inverse Document Frequency) und berücksichtigt die Dokumentlänge.

Was bedeutet BM25 (Keyword Retrieval)?

BM25 gehört zur Familie der probabilistischen Retrieval-Modelle (Okapi BM25) und ist ein Standardverfahren im sogenannten Keyword Retrieval: Es sucht nach exakten Begriffen (Tokens/Wörter) und rankt Treffer nach einer Relevanzformel. Im Gegensatz zu semantischen Verfahren versucht BM25 nicht „Bedeutung“ zu verstehen, sondern misst statistische Signale rund um die Query-Terme.

Wie funktioniert BM25? (vereinfacht in 5 Schritten)

  • Tokenisierung: Query und Dokumente werden in Wörter/Begriffe zerlegt (oft inkl. Normalisierung wie Kleinschreibung, Stemming, Stopword-Handling).
  • Term Frequency (TF): Je öfter ein Query-Begriff im Dokument vorkommt, desto höher die Relevanz – aber mit abnehmendem Grenznutzen (Sättigung), damit „Keyword-Stuffing“ weniger bringt.
  • Inverse Document Frequency (IDF): Seltene Begriffe im Korpus zählen stärker als sehr häufige (z. B. „System“, „Daten“).
  • Längennormalisierung: Lange Dokumente haben mehr Wörter und würden sonst unfair bevorzugt. BM25 korrigiert das über eine Dokumentlängen-Komponente.
  • Score & Ranking: Für jeden Query-Begriff wird ein Teilscore berechnet; die Summe ergibt den BM25-Score, nach dem die Trefferliste sortiert wird.

Warum ist BM25 wichtig – gerade im KI-Kontext?

Obwohl BM25 „klassisch“ ist, bleibt es in KI-Workflows extrem relevant, weil es schnell, robust und erklärbar ist. In vielen Unternehmenssuchen liefert BM25 hervorragende Ergebnisse bei präzisen Anfragen wie Produkt-IDs, Fehlercodes, juristischen Paragraphen, API-Funktionsnamen oder exakten Zitaten. Genau hier können rein semantische Verfahren (z. B. Embeddings in einer Vektordatenbank (Vector Database)) schwächeln, wenn die exakte Zeichenfolge entscheidend ist.

BM25 vs. semantische Suche (Embeddings)

  • BM25: Stark bei exakten Begriffen, seltenen Keywords, Zahlen/IDs, Fachtermini; sehr transparent.
  • Embeddings: Stark bei Synonymen, Paraphrasen und „Bedeutungsnähe“; weniger zuverlässig bei exakten Codes oder kurzen Queries.
  • Hybrid: In modernen Setups werden BM25 und Vektor-Scores kombiniert (z. B. Weighted Sum oder Reciprocal Rank Fusion), um Präzision und semantische Abdeckung zu erhöhen.

Beispiel aus RAG und LLM-Anwendungen

In RAG (Retrieval-Augmented Generation)-Systemen für Large Language Model (LLM)-Apps (z. B. mit ChatGPT-ähnlichen Modellen) kann BM25 als erster Retriever dienen: Eine Anfrage wie „HTTP 429 n8n webhook retry“ findet über BM25 sehr zuverlässig Dokumente, die genau diese Begriffe enthalten (z. B. Log-Auszüge oder Runbooks). Danach kann ein Re-Ranker oder ein LLM die besten Passagen auswählen und zusammenfassen – was Halluzinationen reduziert und die Nachvollziehbarkeit erhöht.

Wann solltest du BM25 einsetzen?

  • Wenn Nutzer exakte Begriffe suchen (Codes, Namen, IDs, Fehlermeldungen).
  • Wenn du eine performante Basissuche brauchst, die ohne Trainingsdaten auskommt.
  • Als Baustein in Hybrid Search zusammen mit Embeddings für bessere Recall/Precision-Balance.

Was kostet BM25?

BM25 selbst ist kein „Produkt“, sondern ein Algorithmus, der in vielen Such-Engines standardmäßig enthalten ist (z. B. Elasticsearch/OpenSearch/Lucene). Kosten entstehen typischerweise durch Infrastruktur (Index, Speicher, CPU), Datenaufbereitung (Tokenizer, Synonyme, Stemming) und Integration in KI-Workflows (z. B. Automatisierung (Automation) via n8n oder RAG-Pipelines).