Semantische Suche einfach erklärt

Wie funktioniert die semantische Suche?

Informationen finden mit künstlicher Intelligenz und semantischer Suche

Informationssuche in einer komplexen Welt

Beginnen wir mit einer Herausforderung, die viele von Euch kennen: Ihr seid keine Experten im Baurecht, aber ihr habt eine konkrete Frage. Zum Beispiel: "Was muss ich beachten, wenn ich in Beromünster eine laute Maschine installieren will?" Wenn ihr diese Frage in ein herkömmliches Suchfeld auf einer Website eingebt, werdet ihr wahrscheinlich nicht fündig werden. Der Grund? Die Laien-Schlüsselwörter sind nicht wörtlich in Gesetzestexten oder Fachartikeln zu finden und kommen auch nicht in den manuell eingepflegten Stichwortlisten vor. Wer Suchmasken auf Webseiten benutzt, begegnet dem Problem sicher sehr oft: Die Stichwortsuchen finden nur selten das, was wir brauchen, deshalb ist die traditionelle Art der Suche oft frustrierend.

Es versteht mich!

Aber seht Euch mal unsere Demo zur Semantischen Suche an. Ihr werdet festellen, dass es unserem System gelingt, auf laienhafte Fragen treffende Antworten zu finden. Die Technik, die das leistet, heisst semantische Suche. Wie Ihr an diesem Beisipielbild seht, passen die Ergebnisse auf überraschende Weise zur gestellten Frage:

Laute Maschine suchen

Von Lärm oder Gewerbe hatten wir wörtlich nichts erwähnt, aber das System hat die relevanten Passagen gefunden. Wie funktioniert das denn?

Transformation ins Unbegreifliche: Semantik im Vektorraum

Die semantische Suche funktioniert deshalb, weil sie sich nicht auf exakte Wortübereinstimmungen verlässt, sondern versucht, die Bedeutung von Texten und Fragen mathematisch abzubilden. Ein zentrales Konzept dafür ist die Transformation von Text, also Sätzen oder Abschnitten, in einen multidimensionalen Vektorraum. In diesem Raum werden Sätze als Punkte dargestellt, deren Position die "Bedeutung" des Satzes abbildet. Diese Technik heisst "Embedding". Klingt kompliziert? Ist es auch – aber gleichzeitig ist das der Grundstein für die semantische Relevanz unserer Suche. Denn in einem Vektorraum kann man die Nähe zwischen Punkten mathematisch exakt berechnen. Je ähnlicher die Bedeutung zweier Sätze ist, desto näher liegen sie im Vektorraum nebeneinander. Und genau das ist die Grundlage für die Suche: Wir suchen nach Abschnitten in den Dokumenten, die in der Nähe der Bedeutung unserer Frage liegen.

Und woher bekommt man die Embeddings?

Die Idee zur Vektorisierung von Text ist eigentlich sehr alt, erste Versuche damit gab es schon in den 1950er Jahren. Lange scheiterten die Forscher aber daran, eine zuverlässige Methode für gute Embeddings zu entwickeln. Ab 2015 begannen Forscher intensiv damit, mit Deep-Learning-Techniken neuronale Netze für diese Aufgabe zu trainieren, und erzielten damit erste Erfolge. Um 2018 kam dann BERT, das erste Transformer-LLM (Large Language Model) heraus, und findige Forschende haben sogleich begonnen, damit Embeddings zu berechnen, mit noch besserem Erfolg. All dies hat zu einer Renaissance der semantischen Suche mit Vektoren geführt. Und es bedeutet, dass die Qualität der Embeddings nun mit der Qualität der LLMs mitwächst. Je bessere LLMs man hat, desto bessere Embeddings kann man berechnen. Die Embeddings sind also ein sehr wertvolles Nebenprodukt der LLMs.

Unterdessen haben die meisten von uns mit dem bekanntesten LLM, GPT-3.5, schon Bekanntschaft gemacht. Es ist das mächtige Modell, das hinter ChatGPT von OpenAI steckt. Die OpenAI Ingenieure haben auf Basis von GPT-3 LLMs auch einen Embedding-Rechner gebaut, den man für ein Entgelt benutzen kann, siehe OpenAI embeddings. Das GPT-3 Modell wurde auf riesigen Textmengen in vielen Sprachen trainiert und es kann die Bedeutung von Text in seinem internen Zustand sehr treffend abbilden. Je nach Bedeutung werden andere Gruppen der 1500 künstlichen Neuronen im Modell angeregt, und dieses Muster wird als Ebedding-Vektor benutzt. Die so erzeugten Embeddings legen dann die "laute Maschine" in die Nähe von "Lärmvorschriften" und "Gewerbe". Das kriegen kleinere, weniger weltgewandte Modelle nicht so gut hin. Und wie wir das von ChatGPT gewohnt sind, funktioniert das auch sehr gut im "zero shot" Modus, das heisst, ohne dass man das Modell zuerst z.B. auf Baugesetze, wissenschaftliche Papers oder Software-Handbücher nachtrainieren müsste. All das macht die frappante Treffsicherheit der semantischen Suche mit den OpenAI Embeddings aus.

Die Mechanik der Semantischen Suche

Mit diesen Bausteinen kann man nun ein semantisches Suchsystem bauen. Man folgt dabei diesem Rezept:

  • Man nimmt man die Dokumente, die man durchsuchen will, und zerschneidet sie in passend kleine Textpassagen.
  • Für jede dieser Textpassagen lässt man ein Embedding berechnen und man bekommt so einen Vektor. Diese Vektoren speichert man ab, zusammen mit den Referenzen auf die Textpassagen.
  • Sobald die Benutzerin eine Frage stellt, transformiert man die Frage auch in einen Vektor
  • Man sucht die fünf bis zehn nächstgelegenen Vektoren in der Umgebung der Frage. Diese entsprechen den Passagen in den Dokumenten, welche für die Antwort auf die Frage relevant sind.
  • Man zeigt diese Textpassagen und Referenzen als Suchergebnisse an.
  • Den Abstand im Vektorraum zwischen Frage und Textpassage zeigt man auch an, als Hinweis auf die Relevanz der Antwort.

Wenn man sehr viele Dokumente hat, in denen sehr viele Leute gleichzeitig suchen wollen, dann wird diese mathematisch einfach zu formulierende Aufgabe zu einer etwas grösseren Herausforderung. Zum Glück ist das aber ein bereits gut gelöstes Problem, und es gibt auf dem Markt viele sogenannte Vektor-Datenbanken, die genau für diese Aufgabe optimiert sind. Für unsere Demos verwenden wir qdrant, weil diese Datenbank schlank, einfach aufzusetzen, schnell und Open-Source ist.

Ein Bild sagt mehr als tausend Vektoren: UMAP

Bei den OpenAI embeddings hat der Vektorraum, mit dem die Bedeutung dargestellt wird, über 1500 Dimensionen. Kann man sich einen solchen Raum vorstellen? Leider nein, unser Gehirn ist dafür nicht ausgelegt, das braucht man halt nicht um Eiszeitbären zu jagen. Hier kommt "Uniform Manifold Approximation and Projection for Dimension Reduction" (UMAP) ins Spiel. Klingt extrem kompliziert, ist aber ein Open-Source-Tool, welches mit einer komplexen mathematischen Methode die Embeddings in eine einfache 2D-Graphik umwandelt. Das macht es uns möglich, ein flaches Abbild dieses hochdimensionalen Raums anzuschauen. Wir haben mit diesem Tool eine Visualisierung der Embeddings für das Baugesetz einer Gemeinde erstellt, und das Ergebnis ist das folgende Bild. Es zeigt die semantische Struktur des Gesetzes:

Semantik Visualisierung

In der Darstellung sehen wir:

  • Weisse Punkte: Abschnitte aus dem Baugesetz.
  • Kreise: Wolken von Schlagworten, die verschiedene Bereiche des Gesetzes markieren.
  • Gelbe Punkte: Beispielfragen, die wir dem System gestellt haben.

Diese Visualisierung zeigt, welche Fragen in welche Bereiche des Gesetzes fallen. Zum Beispiel landet die Frage "Was passiert, wenn ich im Naturschutzgebiet einen Baum fälle?" in der Schlagwortwolke der "Strafen", weil unbewilligte Veränderungen im Naturschutzgebiet verboten sind. Mit einer herkömmlichen Suche wäre diese sinnvolle Verbindung wohl kaum gefunden worden.

Die dunkle Seite

Es gibt wie immer auch Schattenseiten. Zum einen ist es wohl keine gute Idee, Texte, welche potentiell personenbezogene Daten oder Geschäftsgeheimnisse enthalten, extern von OpenAI embedden zu lassen. Und zweitens können sich die Kosten für die Embeddings bei sehr vielen sehr grossen Dokumenten zu einer rechten Summe zusammenläppern. Die Forschung und Entwicklung läuft in diesem Bereich aber auf Hochtouren, und es gibt bereits Alternativen, die Open Source sind und ohne Datenschutzbedenken verwendet werden können. Um diese Möglichkeiten genauer zu beschreiben muss ich tiefer in die Technik abtauchen, und deshalb werde ich das in einem späteren Blogbeitrag behandeln.

Fazit

Embeddings von hoher Qualität und Treffsicherheit sind Nebenprodukte aus den immensen Leistungssteigerungen bei den Large Language Models (LLMs). Sie machen die schon länger bekannte semantische Suche zu einer noch viel mächtigen Technik als sie es bisher war, und das alles ohne spezifisches Training von eigenen Modellen. Und damit bekommen wir Laien auf unsere Fragen auch dann gute Antworten, wenn wir die Geheimsprache der Experten nicht sprechen.

Markus Emmenegger
Markus Emmenegger

Lust auf mehr Blogs?

KI und Datenschutz

Nathalie Portmann gibt einen Überblick über die Möglichkeiten, wie Personendaten und Geschäftsgeheimnisse beim Einsatz von KI geschützt werden können.

KI-Landschaft

Nathalie Portmann gibt einen Überblick über die Technologien, Methoden, Tools und Applikationen in der aktuellen KI-Landschaft.

KI und Datenschutz

Nathalie Portmann gibt einen Überblick über die Möglichkeiten, wie Personendaten und Geschäftsgeheimnisse beim Einsatz von KI geschützt werden können.

KI-Landschaft

Nathalie Portmann gibt einen Überblick über die Technologien, Methoden, Tools und Applikationen in der aktuellen KI-Landschaft.

Kontaktieren Sie uns!

poemAI GmbH
Rämsiweg 8
6048 Horw
;