Embedding
Wenn ein Computer verstehen soll, dass "Hund" und "Tier" zusammengehören, braucht er eine gemeinsame Sprache für Bedeutung. Diese Sprache besteht aus Zahlen: Jedes Wort, jeder Satz wird in eine Liste von Zahlen übersetzt. Diese Zahlenreihe heißt Embedding.
Von Wörtern zu Zahlen
Ein Computer verarbeitet keine Wörter. Er verarbeitet Zahlen. Damit ein KI-System einen Text inhaltlich auswerten kann, muss jeder Text zuerst in eine numerische Darstellung überführt werden. Diese Darstellung ist ein Vektor: eine geordnete Liste von Zahlen, typischerweise zwischen 256 und 4096 Einträgen lang.
Beispiel 1: Das Wort "König" könnte als Vektor mit 768 Zahlenwerten dargestellt werden: [0.21, -0.87, 0.44, ..., 0.09]. Jede dieser Zahlen beschreibt eine Dimension der Bedeutung. Ein einzelner Wert ist für sich genommen nicht interpretierbar. Erst das Gesamtmuster aller Werte bildet die semantische Repräsentation.
Beispiel 2: "Katze" und "Kater" erhalten ähnliche Vektoren, weil sie in Trainingstexten in vergleichbaren Kontexten vorkommen. "Katze" und "Steuerklärung" erhalten sehr unterschiedliche Vektoren.
Der entscheidende Punkt: Ein Embedding bildet nicht die Schreibweise eines Wortes ab, sondern seine Verwendung im Kontext. Zwei Wörter, die ähnlich benutzt werden, erhalten ähnliche Vektoren.
Wie ein Embedding-Modell lernt
Ein Embedding-Modell wird mit großen Textmengen trainiert. Während des Trainings passt das Modell die Zahlenwerte so an, dass Wörter mit ähnlicher Bedeutung nah beieinander im Zahlenraum liegen. Der Abstand zwischen zwei Vektoren wird zum Maß für inhaltliche Ähnlichkeit.
Beispiel 3: Während des Trainings sieht das Modell Millionen Sätze, in denen "Arzt" und "Krankenhaus" gemeinsam auftreten. Dadurch rücken deren Vektoren im Zahlenraum zusammen. "Arzt" und "Motorrad" tauchen selten im gleichen Kontext auf. Ihre Vektoren bleiben weit entfernt.
Frühe Verfahren wie Word2Vec (2013) erzeugten für jedes Wort genau einen festen Vektor. Das Wort "Bank" erhielt denselben Vektor, egal ob es sich um ein Geldinstitut oder eine Sitzgelegenheit handelte. Neuere Modelle wie BERT erzeugen kontextabhängige Embeddings: Das Wort "Bank" erhält unterschiedliche Vektoren je nach Satz. Die zugrunde liegende Architektur dafür ist der Transformer.
Beispiel 4: "Sie ging zur Bank, um Geld abzuheben" erzeugt einen anderen Vektor für "Bank" als "Sie setzte sich auf die Bank im Park". Ein kontextunabhängiges Modell wie Word2Vec könnte diesen Unterschied nicht abbilden.
Fachliche Einordnung: Der Übergang von statischen zu kontextabhängigen Embeddings markiert einen der wesentlichen Fortschritte im Bereich Deep Learning für Sprache. Transformer-basierte Modelle wie BERT nutzen den Attention-Mechanismus, um für jedes Wort den gesamten Satzkontext in die Vektorberechnung einzubeziehen.
Vom einzelnen Wort zum ganzen Dokument
Ein Embedding kann auf verschiedenen Ebenen ansetzen:
- Wort-Embedding: Ein einzelnes Wort wird in einen Vektor übersetzt.
- Satz-Embedding: Ein ganzer Satz wird in einen einzigen Vektor zusammengefasst.
- Dokument-Embedding: Ein längerer Text (Absatz, Seite, Artikel) wird als ein Vektor dargestellt.
Beispiel 5: Ein Kundensupport-System erhält die Anfrage "Mein Paket ist nicht angekommen". Das System erzeugt ein Satz-Embedding dieser Anfrage und vergleicht es mit Embeddings aller FAQ-Einträge. Der FAQ-Eintrag "Lieferung verspätet: Was tun?" hat den ähnlichsten Vektor, obwohl kein einziges Wort übereinstimmt.
Beispiel 6: Ein Unternehmen speichert 50.000 interne Dokumente als Dokument-Embeddings. Eine Suchanfrage "Wie gehen wir mit Beschwerden um?" wird ebenfalls als Vektor dargestellt. Das System findet das Beschwerdemanagement-Handbuch, obwohl es das Wort "Beschwerde" im Titel gar nicht enthält, sondern "Reklamationsbearbeitung" heißt.
Moderne Embedding-Modelle wie Sentence-BERT oder OpenAI Ada arbeiten auf Satzebene. Sie fassen die Bedeutung eines ganzen Satzes in einem Vektor zusammen. Für lange Dokumente wird der Text vorher in Abschnitte zerlegt. Jeder Abschnitt wird einzeln eingebettet.
Ähnlichkeit messen: Wie nah ist nah?
Sobald Texte als Vektoren vorliegen, lässt sich ihre inhaltliche Ähnlichkeit berechnen. Das Standardverfahren dafür ist die Kosinus-Ähnlichkeit. Sie misst den Winkel zwischen zwei Vektoren. Zeigen beide Vektoren in dieselbe Richtung, ist der Winkel klein und die Ähnlichkeit hoch (Wert nahe 1). Stehen sie senkrecht aufeinander, ist die Ähnlichkeit null.
Beispiel 7: Drei Sätze werden eingebettet:
- A: "Der Hund spielt im Garten."
- B: "Ein Welpe tobt auf der Wiese."
- C: "Die Bilanz weist einen Verlust auf."
Kosinus-Ähnlichkeit A zu B: 0.89. Kosinus-Ähnlichkeit A zu C: 0.12. Satz A und B handeln vom selben Thema, obwohl sie kein Wort teilen. Satz C ist inhaltlich unverwandt.
Neben der Kosinus-Ähnlichkeit gibt es weitere Distanzmaße: den euklidischen Abstand (misst die direkte Entfernung im Raum) und das Skalarprodukt (kombiniert Richtung und Länge der Vektoren). In der Praxis liefert die Kosinus-Ähnlichkeit für Textvergleiche die zuverlässigsten Ergebnisse.
Wo Embeddings in der Praxis zum Einsatz kommen
Embeddings sind eine Infrastrukturkomponente vieler KI-Systeme. Die folgende Übersicht zeigt die häufigsten Einsatzbereiche:
Semantische Suche
Eine klassische Stichwortsuche findet nur Treffer, die exakt die gesuchten Wörter enthalten. Eine semantische Suche auf Basis von Embeddings findet Treffer, die inhaltlich ähnlich sind.
Beispiel 8: Ein juristisches Recherchesystem enthält tausende Urteile. Die Suche nach "Kündigung wegen Krankheit" findet auch Urteile, die von "Beendigung des Arbeitsverhältnisses aufgrund gesundheitlicher Einschränkungen" handeln. Ohne Embeddings wäre dieser Treffer unsichtbar.
Retrieval Augmented Generation
RAG kombiniert Embeddings mit Sprachmodellen. Das Verfahren: Eine Frage wird als Embedding kodiert. Aus einer Wissensdatenbank werden die Abschnitte mit den ähnlichsten Vektoren abgerufen. Diese Abschnitte werden dem Sprachmodell als Kontext mitgegeben, damit es eine fundierte Antwort erzeugen kann.
Beispiel 9: Ein Chatbot soll Fragen zu Produktdokumentationen beantworten. Die Dokumentation umfasst 2.000 Seiten. Bei der Frage "Wie setze ich das Passwort zurück?" erzeugt das System ein Embedding der Frage, findet die drei relevantesten Abschnitte aus der Dokumentation und übergibt sie dem Sprachmodell. Das Modell antwortet auf Basis dieser konkreten Textstellen.
Textklassifikation
Embeddings eignen sich als Eingabe für Klassifikationsmodelle. Der Embedding-Vektor eines Textes wird einem Klassifikator übergeben, der den Text einer Kategorie zuordnet.
Beispiel 10: Ein E-Mail-System klassifiziert eingehende Nachrichten. Jede E-Mail wird als Embedding dargestellt. Ein nachgelagertes Machine-Learning-Modell ordnet sie den Kategorien "Support", "Vertrieb" oder "Buchhaltung" zu. Die Genauigkeit liegt höher als bei regelbasierten Filtern, weil das Embedding die inhaltliche Bedeutung erfasst.
Wovon die Qualität eines Embeddings abhängt
Nicht jedes Embedding ist gleich gut. Mehrere Faktoren beeinflussen, wie präzise ein Vektor die Bedeutung eines Textes abbildet:
Modellwahl: Verschiedene Embedding-Modelle liefern unterschiedliche Ergebnisse. Aktuelle Benchmarks wie MTEB (Massive Text Embedding Benchmark) vergleichen Modelle systematisch. Die Ergebnisse variieren je nach Aufgabentyp (Suche, Klassifikation, Clustering). Ein Modell, das bei der Suche stark abschneidet, ist nicht automatisch gut bei der Klassifikation.
Beispiel 11: Auf dem MTEB-Benchmark erreichen spezialisierte Embedding-Modelle bei Retrieval-Aufgaben nDCG@10-Werte über 0.55, während allgemeine Modelle teilweise unter 0.40 liegen. Die Differenz zeigt: Die Modellwahl hat direkte Auswirkung auf die Ergebnisqualität.
Eingabequalität: Ein Embedding kann nur abbilden, was im Eingabetext enthalten ist. Vage, mehrdeutige oder sehr kurze Texte erzeugen weniger aussagekräftige Vektoren.
Beispiel 12: Die Suchanfrage "Problem" erzeugt einen wenig spezifischen Vektor. Die Anfrage "Druckerproblem: Papier staut sich in Schacht 2" erzeugt einen deutlich präziseren Vektor, der zu spezifischeren Ergebnissen führt.
Chunking-Strategie: Bei langen Dokumenten muss der Text in Abschnitte (Chunks) zerlegt werden, bevor er eingebettet wird. Zu kleine Chunks verlieren Kontext, zu große verwischen die Bedeutung. Die Wahl der Chunk-Größe (typisch: 256 bis 1024 Token) und der Überlappung zwischen Chunks beeinflusst die Abrufqualität erheblich.
Technische Grundlagen: Vektordimensionen und Tokenisierung
Ein Embedding-Vektor hat eine feste Länge, die sogenannte Dimension. Aktuelle Modelle arbeiten mit Dimensionen zwischen 256 und 4096. Höhere Dimensionen können feinere Bedeutungsunterschiede abbilden, benötigen aber mehr Speicher und Rechenzeit.
Vor der Vektorisierung zerlegt ein Tokenizer den Eingabetext in Einheiten (Tokens). Ein Token kann ein Wort, ein Wortteil oder ein Satzzeichen sein. Die meisten Embedding-Modelle haben eine maximale Token-Anzahl pro Eingabe (typisch: 512 Tokens bei BERT-basierten Modellen, bis zu 8192 bei neueren Modellen).
Beispiel 13: Der Satz "Unternehmensstrategie" wird vom Tokenizer in die Teile "Unter", "nehmens", "strategie" zerlegt. Jedes Teil erhält zunächst ein eigenes Embedding. Das Modell kombiniert diese Teil-Embeddings (typischerweise durch Pooling oder den CLS-Token) zu einem Gesamtvektor für den ganzen Satz.
Fachliche Einordnung: Die Wahl der Vektordimension ist ein Kompromiss. Forschungsergebnisse zeigen, dass Modelle mit 768 oder 1024 Dimensionen für die meisten Textaufgaben ausreichend sind. Dimensionen über 2048 bringen bei Standardaufgaben oft keinen messbaren Qualitätsgewinn, erhöhen aber den Speicherbedarf linear. In spezialisierten Domänen (etwa medizinische oder juristische Texte) kann Fine-Tuning eines Embedding-Modells auf domänenspezifischen Daten die Qualität stärker verbessern als eine höhere Dimension.
Grenzen und Einschränkungen
Embeddings haben systematische Einschränkungen, die bei der Anwendung berücksichtigt werden müssen:
Mehrdeutigkeit: Obwohl kontextabhängige Modelle Polysemie (Mehrdeutigkeit) besser behandeln als statische Verfahren, bleiben Grenzfälle. Ein Satz wie "Die Bank hat gute Konditionen" wird korrekt dem Finanzbereich zugeordnet. Ein Satz wie "Die Bank ist bequem und günstig" kann jedoch zwischen Finanz- und Möbelkontext schwanken.
Bias: Embedding-Modelle übernehmen Verzerrungen aus den Trainingsdaten. Wenn in den Trainingsdaten bestimmte Berufe überwiegend mit einem Geschlecht assoziiert sind, spiegelt sich das in den Vektoren wider. Der Vektor für "Krankenschwester" liegt dann näher an "Frau" als an "Mann".
Beispiel 14: Ein Embedding-Modell, das auf englischen Texten trainiert wurde, ordnet "nurse" näher an "woman" ein als an "man". Dieser Bias kann sich auf nachgelagerte Systeme auswirken: Ein Recruiting-Tool könnte männliche Bewerber für Pflegeberufe systematisch schlechter ranken.
Sprach- und Domänengrenzen: Ein Modell, das überwiegend auf englischen Texten trainiert wurde, erzeugt für deutsche Fachtexte weniger präzise Embeddings. Mehrsprachige Modelle mildern dieses Problem, erreichen aber in einzelnen Sprachen oft nicht die Qualität eines sprachspezifischen Modells.
Informationsverlust: Jede Komprimierung eines Textes in einen Vektor fester Länge geht mit Informationsverlust einher. Ein 768-dimensionaler Vektor kann nicht jedes Detail eines längeren Texts abbilden. Feine Nuancen, Ironie oder implizite Aussagen gehen bei der Einbettung häufig verloren.
Beispiel 15: Der Satz "Das Meeting war wirklich produktiv" (ironisch gemeint) und "Das Meeting war wirklich produktiv" (aufrichtig gemeint) erzeugen nahezu identische Embeddings. Ironie ist aus dem reinen Textvektor nicht zuverlässig erkennbar.
Aktualität: Ein Embedding-Modell bildet die Sprache und Begriffe ab, die in seinen Trainingsdaten vorkamen. Neue Fachbegriffe oder veränderte Wortbedeutungen nach dem Trainingszeitpunkt werden nicht korrekt repräsentiert. Ein Modell von 2021 kennt etwa den Begriff "GPT-4" nicht und kann ihn nicht sinnvoll einbetten.