Retrieval-Augmented Generation

BM25: Die Keyword-Suche als Fundament der Hybrid Search

BM25 (Best Matching 25) ist einer der wichtigsten Ranking-Algorithmen der klassischen Informationssuche und bildet bis heute das Rückgrat vieler Volltext-Suchmaschinen. In modernen RAG-Systemen erlebt BM25 eine Renaissance: Als Keyword-Komponente der Hybrid Search gleicht er genau die Schwächen aus, die eine reine Vektorsuche hat. Wer leistungsfähiges Retrieval bauen will, kommt an BM25 nicht vorbei.

Was ist BM25?

BM25 beantwortet eine scheinbar einfache Frage: Wie relevant ist ein Dokument für eine Suchanfrage, wenn man nur die enthaltenen Wörter betrachtet? Der Algorithmus baut auf zwei klassischen Konzepten auf:

  • Term Frequency (TF): Wie oft kommt ein Suchbegriff im Dokument vor? Mehr Vorkommen bedeuten höhere Relevanz – allerdings mit abnehmendem Grenznutzen.
  • Inverse Document Frequency (IDF): Wie selten ist der Begriff im Gesamtbestand? Seltene Begriffe (z. B. «Rechnungsnummer») sind aussagekräftiger als häufige (z. B. «und»).

BM25 verfeinert dieses TF-IDF-Prinzip um zwei Stellschrauben: eine Sättigung der Termhäufigkeit (das zehnte Vorkommen eines Wortes zählt weniger als das zweite) und eine Längennormalisierung (lange Dokumente werden nicht automatisch bevorzugt, nur weil sie mehr Wörter enthalten).

Stärken und Schwächen von BM25

EigenschaftBM25 (Keyword)Vektorsuche (semantisch)
Exakte Begriffe, Codes, IDssehr starkschwach
Synonyme & Umschreibungenschwachstark
Eigennamen, Fachbegriffesehr starkmittel
Tippfehler/Variationenschwachmittel
Erklärbarkeithoch (nachvollziehbar)gering (Blackbox)
Rechenaufwandgeringhöher (Embeddings nötig)

BM25 findet ein Dokument zuverlässig, wenn die Suchanfrage die gleichen Wörter wie das Dokument enthält. Sucht der Nutzer aber nach «Auto» und das Dokument spricht von «Fahrzeug», bleibt BM25 blind – hier kommt die Vektorsuche ins Spiel.

In der Praxis kombiniert man beide Verfahren. Ein typischer Ablauf:

  1. Die Suchanfrage wird parallel an die BM25-Suche und die Vektorsuche geschickt.
  2. Beide liefern je eine Trefferliste mit Scores.
  3. Die Listen werden zusammengeführt – häufig per Reciprocal Rank Fusion (RRF), die Treffer nach ihrer Rangposition statt nach absoluten Scores gewichtet.

Ein vereinfachtes Beispiel für die Zusammenführung:

Frage: "Wie storniere ich Rechnung 2024-0815?"

BM25-Treffer:        Vektor-Treffer:
1. Doc A (2024-0815) 1. Doc C (Storno-Prozess)
2. Doc B (Rechnung)  2. Doc A (2024-0815)

RRF-Ergebnis (kombiniert):
1. Doc A  → exakte Nummer UND passender Kontext
2. Doc C  → semantisch passend
3. Doc B  → Begriff vorhanden

Doc A gewinnt, weil es sowohl die exakte Rechnungsnummer (BM25) als auch den passenden Kontext (Vektor) trifft. Dieses Zusammenspiel erklärt der Artikel zur Hybrid Search im Detail; die Feinsortierung übernimmt anschliessend das Reranking.

Typische Fehler im Umgang mit BM25

  • BM25 ganz weglassen: Reine Vektorsuche übersieht exakte IDs, Artikelnummern und Eigennamen – ein häufiger Grund für «das System findet meinen Beleg nicht».
  • Keine Sprachanpassung: Ohne Stemming und Stoppwort-Behandlung für die Zielsprache sinkt die Trefferqualität deutlich.
  • Scores naiv addieren: BM25- und Vektor-Scores liegen auf unterschiedlichen Skalen. Eine direkte Addition verzerrt das Ergebnis – RRF oder eine Normalisierung sind nötig.

Wann BM25 allein genügt

Nicht jedes System braucht Vektoren. Geht es vorrangig um exakte Begriffe, juristische Texte, Logs oder strukturierte Kataloge, liefert eine gut konfigurierte BM25-Suche oft hervorragende, erklärbare Ergebnisse – ohne den Aufwand für Embeddings und eine Vektordatenbank. Die Hybrid Search lohnt sich vor allem dort, wo Nutzer in natürlicher Sprache fragen und Synonyme eine grosse Rolle spielen.

[!TIP] Sie möchten sehen, wie BM25 und Vektorsuche im Zusammenspiel präzise, belegte Antworten erzeugen? Testen Sie die RAG-Demo auf allerate.dev mit eigenen Fragen.

Fazit

BM25 ist kein Relikt, sondern ein unverzichtbarer Baustein moderner Retrieval-Systeme. Seine Stärke bei exakten Begriffen ergänzt sich ideal mit der semantischen Stärke der Vektorsuche. Die beste Antwortqualität entsteht fast immer aus der Kombination beider Welten in einer durchdachten Hybrid Search.

Häufig gestellte Fragen (FAQ)

Was bedeutet BM25?

BM25 steht für «Best Matching 25» und ist ein Ranking-Algorithmus aus der klassischen Informationssuche. Er bewertet, wie relevant ein Dokument für eine Suchanfrage ist, indem er die Häufigkeit der Suchbegriffe im Dokument mit deren Seltenheit im Gesamtbestand gewichtet.

Ist BM25 besser als die Vektorsuche?

Weder noch – beide haben Stärken. BM25 glänzt bei exakten Begriffen, Eigennamen, Codes und Fachbegriffen, scheitert aber an Synonymen. Die Vektorsuche versteht Bedeutung, übersieht aber manchmal exakte Schlüsselwörter. In der Praxis kombiniert man beide in einer Hybrid Search.

Wo wird BM25 eingesetzt?

BM25 ist der Standard-Ranking-Algorithmus vieler Volltext-Suchmaschinen wie Elasticsearch, OpenSearch und Lucene. In RAG-Systemen liefert er den Keyword-Anteil der Hybrid Search.