Kleines Wort – große Wirkung
Lange Zeit war die Suche ziemlich stur: Google suchte vor allem nach Seiten, auf denen dieselben Wörter standen wie in der Suchanfrage. Heute findet die Suchmaschine oft auch dann passende Inhalte, wenn eine Seite ganz andere Formulierungen verwendet.
Aber wie ist Google eigentlich so gut darin geworden, Suchanfragen zu verstehen und passende Ergebnisse zu liefern? Genau darum geht es bei der semantischen Suche.
Wie ein kleines Wort die Suche verändert
Nehmen wir eine etwas holprige, aber typische Suchanfrage:
„impfung besuch nach brasilien“
Wenn wir das jetzt lesen, haben wir wahrscheinlich schon eine Idee, was der Suchende finden wollte. Wir können uns sicher ein „perfektes“ Suchergebnis bei Google vorstellen. Behalten wir dieses Bild kurz im Kopf.
Die auffälligen Begriffe sind „Impfung“, „Besuch“ und „Brasilien“. Ein großer Teil der Bedeutung steckt aber in einem viel kleineren Wort: „nach“. Es stellt die Verbindung zwischen dem Besuch und dem Reiseziel her.
Für uns ist diese Verbindung leicht zu erkennen. Für ein Suchsystem war das lange nicht selbstverständlich. Wie gut es die Anfrage einordnen kann, hängt davon ab, welche Verfahren es verwendet.
Die folgende Entwicklung ist vereinfacht dargestellt. Die einzelnen Methoden haben einander nicht vollständig abgelöst. Viele davon werden bis heute miteinander kombiniert. Gehen wir auf eine Reise!
1970er- bis 1990er-Jahre: Wörter zählen und gewichten
Frühe Suchsysteme konzentrierten sich vor allem auf die Begriffe, die in einer Anfrage und in einem Dokument vorkamen. Verfahren wie TF-IDF gewichteten diese Wörter danach, wie häufig sie im Dokument und wie selten sie in der gesamten Dokumentensammlung waren.
In den 1990er-Jahren kam mit BM25 ein Rankingverfahren hinzu, das bis heute verwendet wird. Vereinfacht gesagt berechnet BM25, wie gut die Wörter einer Suchanfrage zu einem Dokument passen. Dabei berücksichtigt das Verfahren die Häufigkeit eines Begriffs, seine Seltenheit in der Dokumentensammlung und die Länge des Dokuments.
Bei unserer Anfrage erhalten „Impfung“, „Besuch“ und „Brasilien“ deshalb mehr Gewicht als das häufige Wort „nach“. Je nach Aufbereitung der Texte kann ein solches Wort sogar herausgefiltert werden.
Übrig bleiben dann vor allem die großen Begriffe:
- Impfung
- Besuch
- Brasilien
Damit kann das System durchaus passende Dokumente finden. Es erkennt aber nicht automatisch, wie diese Begriffe zusammengehören.
Das zeigt sich, wenn wir die Anfrage leicht verändern:
„impfung besuch aus brasilien“
Fast dieselben Wörter, aber eine umgekehrte Richtung und vermutlich auch eine andere Zielgruppe: Jetzt geht es um jemanden, der aus Brasilien zurückkehrt oder von dort zu Besuch kommt – nicht um die eigene Reise dorthin. Für den reinen Wortabgleich sehen sich beide Anfragen erstaunlich ähnlich. Und wird das kleine Wort herausgefiltert, bleiben in beiden Fällen sogar exakt dieselben Begriffe übrig.
1990: Verborgene Muster zwischen Begriffen
Latent Semantic Indexing, kurz LSI, ging über den direkten Wortabgleich hinaus. Das Verfahren untersuchte, welche Begriffe häufig in denselben oder ähnlichen Dokumenten vorkamen. Daraus entstand ein mathematischer Raum, in dem sich Begriffe und Dokumente miteinander vergleichen ließen.
Für unser Beispiel bedeutet das: Tauchen „Impfung“, „Reiseimpfung“, „Gelbfieber“, „Impfpass“ und „Einreise“ häufig in ähnlichen Dokumenten auf, kann LSI zwischen ihnen statistische Zusammenhänge erkennen. Eine Seite über Reiseimpfungen könnte dadurch als passend gelten, auch wenn sie nicht alle Wörter der Anfrage enthält.
Ob es um eine Reise nach Brasilien oder um eine Rückkehr von dort geht, ergibt sich daraus aber noch nicht zuverlässig. LSI erkennt Muster in einer Dokumentensammlung. Es analysiert nicht die grammatische Funktion des Wortes „nach“ innerhalb unserer konkreten Anfrage.
2013: Word2Vec bringt Wörter in den Vektorraum
Mit Word2Vec ließen sich Wörter in großem Umfang als Vektoren darstellen. Wörter, die in ähnlichen sprachlichen Umgebungen vorkommen, erhielten ähnliche mathematische Repräsentationen. Wer sich unter einem Vektor wenig vorstellen kann: Im Kern ist er eine lange Liste von Zahlen. Zusammen beschreiben diese Zahlen die Position eines Wortes in einem Raum mit hunderten oder tausenden Dimensionen und damit auch, welche anderen Wörter in seiner Nähe liegen.
Dadurch lassen sich Ähnlichkeiten zwischen einzelnen Wörtern berechnen:
- „Impfung“ ähnelt „Schutzimpfung“ und „Impfschutz“.
- „Besuch“ ähnelt „Reise“ und „Aufenthalt“.
- „Brasilien“ steht in einer erlernbaren Beziehung zu „brasilianisch“.
- „impfen“ steht in einer erlernbaren Beziehung zu „geimpft“.
Ein Suchsystem kann mithilfe solcher Wortvektoren erkennen, dass eine Seite über „Schutzimpfungen, Reisen und Brasilien“ thematisch zur Anfrage passen könnte. Dafür muss sie nicht exakt dieselben Wörter verwenden.
Für die richtige Zuordnung reicht das aber immer noch nicht. Gefunden würde wahrscheinlich auch eine Seite mit Impfempfehlungen für Besucher aus Brasilien, die nach Deutschland einreisen. Diese Seite enthält verwandte Begriffe, hat aber eine komplett andere Zielgruppe.
Genau hier wird das kleine Wort „nach“ wichtig. Word2Vec betrachtet Wörter weitgehend unabhängig von ihrem konkreten Satzkontext. Es erkennt daher nicht zuverlässig, dass „nach Brasilien“ die Richtung des Besuchs beschreibt.
2018 und 2019: BERT berücksichtigt den Kontext
Google stellte BERT 2018 als Sprachmodell vor und setzte BERT-basierte Systeme ab 2019 auch in der Suche ein. Anders als frühere Wort-Embeddings betrachtet BERT ein Wort zusammen mit den Wörtern davor und danach.
Damit kommen wir wieder zu unserem kleinen, aber wichtigen „nach“.
BERT kann berücksichtigen, dass „nach Brasilien“ wahrscheinlich die Richtung des geplanten Besuchs beschreibt. Das Modell verarbeitet die Anfrage also nicht nur als Sammlung der Begriffe „Impfung“, „Besuch“ und „Brasilien“. Es kann auch deren Zusammenhang einbeziehen und die gesuchte Intention erkennen: Impfungen für eine Reise nach Brasilien. Die Kontrastanfrage „impfung besuch aus brasilien“ beschreibt dagegen die umgekehrte Richtung – ein Unterschied, den das Modell nun einordnen kann.
- „impfung besuch nach brasilien“ – Welche Impfungen brauche ich für die Reise?
- „impfung nach besuch brasilien“ – Was muss ich nach der Rückkehr beachten?
- „nach impfung besuch brasilien“ – Wie lange dauert es nach der Impfung, bis der Schutz besteht? Beim Gelbfieber etwa gilt der Impfnachweis erst zehn Tage nach der Impfung.1
Drei Anfragen, drei völlig verschiedene Anliegen – und alle drei bestehen aus exakt denselben vier Wörtern. Für den reinen Wortabgleich sind sie nicht zu unterscheiden, denn eine Wortreihenfolge kennt er nicht. Erst ein Modell, das den Kontext einbezieht, kann aus der Position von „nach“ die passende Bedeutung ableiten.
2020: Dense Retrieval findet passende Passagen
Dense Retrieval überträgt den Vektoransatz auf ganze Anfragen und Textpassagen. Beide werden als gelernte Vektoren dargestellt und anhand ihrer mathematischen Nähe miteinander verglichen.
Nehmen wir an, auf einer Seite mit reisemedizinischen Hinweisen steht:
„Vor einem Aufenthalt in Brasilien empfiehlt sich eine ärztliche Beratung zu Reiseimpfungen, etwa gegen Gelbfieber und Hepatitis A.“
Dieser Satz enthält nicht exakt die Formulierung „impfung besuch nach brasilien“. Inhaltlich passt er trotzdem sehr gut zur Anfrage.
Dense Passage Retrieval, kurz DPR, zeigte 2020 in Tests für offene Frage-Antwort-Aufgaben, dass ein solcher Ansatz eine starke BM25-Vergleichslösung übertreffen konnte. Das war kein Beweis dafür, dass Vektorsuche grundsätzlich besser ist. Es zeigte aber, wie gut gelernte Repräsentationen bei bestimmten Suchaufgaben funktionieren können.
BERT und Dense Retrieval sind dabei nicht dasselbe. BERT ist ein Sprachmodell, das kontextbezogene Repräsentationen erzeugen kann. Dense Retrieval bezeichnet eine Suchmethode, die solche gelernten Repräsentationen zum Vergleich von Anfragen und Dokumenten nutzt.
Ab 2023: Hybridsuche und RAG rücken in den Vordergrund
Keyword-Suche und Vektorsuche haben unterschiedliche Stärken. Die Keyword-Suche arbeitet gut mit exakten Namen, Kennnummern und seltenen Fachbegriffen. Die Vektorsuche hilft, wenn eine Anfrage und ein Dokument denselben Inhalt unterschiedlich ausdrücken.
Bei unserem Beispiel sind beide Seiten nützlich:
- Der lexikalische Teil achtet auf konkrete Begriffe wie „Impfung“, „Besuch“ und „Brasilien“.
- Der semantische Teil berücksichtigt, dass „Reiseimpfungen“, „Impfschutz“ und „Termin zur Impfberatung“ inhaltlich zur Anfrage passen können.
- Ein kontextbezogenes Sprachmodell hilft dabei, die Beziehung zwischen dem Besuch und seinem Ziel einzuordnen.
Hybridsysteme verbinden diese Signale und führen die Ergebnisse in einer gemeinsamen Rangfolge zusammen. Der klassische Wortabgleich verschwindet also nicht. Er bekommt Unterstützung.
Bei unserer Anfrage könnte es zuerst eine relevante Seite mit Impfempfehlungen für Brasilien finden und die dortigen Angaben anschließend für eine Antwort verwenden. Das System kann auf Rückfrage sofort die empfohlenen Impfungen, die Fristen vor der Abreise oder eine reisemedizinische Beratungsstelle nennen, ohne dass der Nutzer selber die Seite aufrufen und lesen muss.
Immernoch gilt: Das System versteht die Anfrage nicht wie ein Mensch. Es kann aber Wörter, Zusammenhänge und Textpassagen heute wesentlich genauer miteinander in Beziehung setzen und für die Suchintention relevante Dokumente finden. Genau darin liegt der Kern der semantischen Suche. Sie ersetzt Keywords nicht, sondern liest mehr aus ihnen heraus.
Nachtrag
Eigentlich wollte ich die passenden Impfhinweise für Brasilien verlinken. Die KI-Antwort ist aber schon ziemlich gut ;-)
- Ein Bag-of-Words-Systeme würde hier sogar bei perfektem Keyword-Match die falsche Intention bedienen! [↩]