Zum Inhalt springen

Embeddings und Vektoren

Embeddings sind das mathematische Fundament, das es KI ermöglicht, Bedeutung zu verstehen und ähnliche Inhalte zu finden. Diese Seite erklärt, wie Embeddings funktionieren und warum sie für Funktionen wie RAG und semantische Suche wichtig sind.

Ein Embedding ist eine Art, Text (oder andere Daten) als Liste von Zahlen darzustellen, die als Vektor bezeichnet wird. Diese Zahlen erfassen die Bedeutung des Textes in einer Form, die Computer verarbeiten und vergleichen können.

flowchart LR
    A["📝 Text<br/>'Die Genehmigung<br/>wurde erteilt'"] --> B["🧠 Embedding<br/>Modell"]
    B --> C["📊 Vektor<br/>[0.23, -0.45, 0.12, ...]<br/><i>768 Dimensionen</i>"]

    style A fill:#8178C3,color:#fff
    style B fill:#A49FCE,color:#fff
    style C fill:#7E9871,color:#fff

Computer sind hervorragend im Vergleichen von Zahlen, haben aber Schwierigkeiten, Bedeutung direkt zu vergleichen. Embeddings überbrücken diese Lücke:

TextvergleichNumerischer Vergleich
”Auto” vs “Fahrzeug” - Gleiche Bedeutung?Vektoren sind sehr nah
”Bank” (Finanz) vs “Bank” (Sitzgelegenheit)Vektoren sind weit auseinander
”Antrag abgelehnt” vs “Gesuch zurückgewiesen”Vektoren sind ähnlich

Stellen Sie sich Embeddings als Koordinaten in einem hochdimensionalen Raum vor. Texte mit ähnlichen Bedeutungen landen nahe beieinander in diesem Raum.

"Genehmigungsantrag"
/
"Baugenehmigung" • /
\/
/\
/ • "Bauzulassung"
/
/
"Wettervorhersage" • (weit weg - unverwandtes Thema)
flowchart TB
    subgraph CLUSTER1["🏛️ Genehmigungen"]
        A["Baugenehmigung"]
        B["Genehmigungsantrag"]
        C["Bauzulassung"]
    end

    subgraph CLUSTER2["🌤️ Wetter"]
        D["Wettervorhersage"]
        E["Temperatur"]
    end

    A <--> B
    B <--> C
    A <--> C

    D <--> E

    style CLUSTER1 fill:#D4E5CF,stroke:#7E9871
    style CLUSTER2 fill:#F5DDD2,stroke:#D56B3E
    style A fill:#A5C49A
    style B fill:#A5C49A
    style C fill:#A5C49A
    style D fill:#E69B7A
    style E fill:#E69B7A

Ähnliche Begriffe befinden sich nahe beieinander im Vektorraum

Embedding-Modelle sind KI-Modelle, die speziell trainiert wurden, um Text in bedeutungsvolle Vektoren umzuwandeln:

  1. Eingabetext: Beliebiger Text, von einem einzelnen Wort bis zu einem ganzen Dokument
  2. Modellverarbeitung: Das Embedding-Modell analysiert den Text
  3. Vektorausgabe: Eine Liste von Zahlen fester Länge (z.B. 768 oder 1536 Dimensionen)
"Baugenehmigung erforderlich"
[Embedding-Modell]
[0.234, -0.567, 0.891, ..., 0.123]
(768 Zahlen)

Jede Dimension im Vektor erfasst einen Aspekt der Bedeutung:

  • Einige Dimensionen könnten sich auf das Thema beziehen (rechtlich, technisch, umgangssprachlich)
  • Andere könnten die Stimmung erfassen (positiv, negativ)
  • Wieder andere könnten die Domäne kodieren (medizinisch, rechtlich, administrativ)

Keine einzelne Dimension hat eine klare, menschlich interpretierbare Bedeutung. Die Bedeutung ergibt sich aus der Kombination aller Dimensionen.

Die Stärke von Embeddings liegt im Vergleichen. Ähnliche Texte produzieren ähnliche Vektoren.

Das gebräuchlichste Maß ist die Kosinus-Ähnlichkeit, die berechnet, wie sehr zwei Vektoren in dieselbe Richtung zeigen:

ÄhnlichkeitswertInterpretation
0,95 - 1,0Nahezu identische Bedeutung
0,80 - 0,95Sehr ähnlich, verwandt
0,60 - 0,80Etwas verwandt
0,40 - 0,60Lose verwandt
Unter 0,40Verschiedene Themen
Anfrage: "Wie beantrage ich eine Baugenehmigung?"
Dokument A: "Verfahren für Baugenehmigungsanträge"
Ähnlichkeit: 0,92 ✓ Sehr relevant
Dokument B: "Anforderungen für Bauzulassungen"
Ähnlichkeit: 0,78 ✓ Verwandt
Dokument C: "Öffnungszeiten des Parks"
Ähnlichkeit: 0,23 ✗ Nicht relevant
flowchart LR
    Q["🔍 Anfrage<br/>'Baugenehmigung<br/>beantragen'"]

    Q --> |"0.92 ✓"| A["📄 Dok A<br/>Baugenehmigungsverfahren"]
    Q --> |"0.78 ✓"| B["📄 Dok B<br/>Bauzulassungsanforderungen"]
    Q --> |"0.23 ✗"| C["📄 Dok C<br/>Öffnungszeiten Park"]

    style Q fill:#8178C3,color:#fff
    style A fill:#7E9871,color:#fff
    style B fill:#A5C49A,color:#000
    style C fill:#E69B7A,color:#000

Embeddings sind die Kerntechnologie, die RAG funktionieren lässt:

Wenn Dokumente zu einem RAG-System hinzugefügt werden:

  1. Dokumente werden in Chunks aufgeteilt
  2. Jeder Chunk wird mit einem Embedding-Modell in einen Vektor umgewandelt
  3. Vektoren werden in einer Vektordatenbank mit Verweisen auf den Originaltext gespeichert

Wenn Sie eine Frage stellen:

  1. Ihre Frage wird mit demselben Modell in einen Vektor umgewandelt
  2. Die Vektordatenbank findet Chunks mit den ähnlichsten Vektoren
  3. Diese Chunks werden abgerufen und der KI bereitgestellt

Embeddings ermöglichen semantische Suche, die Inhalte nach Bedeutung findet, nicht nach exakten Wörtern:

Suche: "Baugenehmigung"
✓ "Baugenehmigungsantragsformular"
✓ "Baugenehmigungsanforderungen"
✗ "Bauzulassungsrichtlinien" (andere Wörter)
✗ "Wie bekomme ich die Erlaubnis für Renovierungen" (keine exakte Übereinstimmung)
Suche: "Baugenehmigung"
✓ "Baugenehmigungsantragsformular" (0,95)
✓ "Baugenehmigungsanforderungen" (0,93)
✓ "Bauzulassungsrichtlinien" (0,82)
✓ "Wie bekomme ich die Erlaubnis für Renovierungen" (0,76)
MerkmalStichwortsucheSemantische Suche
TrefferExakte WörterÄhnliche Bedeutungen
SynonymeVerpasst sieFindet sie
TippfehlerProblemeToleranter
KontextIgnoriert ihnBerücksichtigt ihn
GeschwindigkeitSehr schnellSchnell

Verschiedene Embedding-Modelle haben unterschiedliche Stärken:

ModelltypStärkenÜberlegungen
AllzweckBreite AbdeckungKann Domänenspezifika übersehen
MehrsprachigDeutsch + EnglischEtwas geringere Präzision
DomänenspezifischSpezialisiertes VokabularAuf diese Domäne beschränkt

Für die deutsche öffentliche Verwaltung:

  • Moderne Embedding-Modelle verarbeiten Deutsch gut
  • Zusammengesetzte Wörter werden im Allgemeinen verstanden
  • Technische/rechtliche Terminologie kann domänenspezifische Modelle erfordern
  • Mehrsprachige Modelle können in deutschen und englischen Dokumenten suchen

Wie Dokumente aufgeteilt werden, beeinflusst die Embedding-Qualität:

Kleinere Chunks (100-300 Wörter):

  • Präziserer Abruf
  • Kann Kontext verlieren
  • Besser für spezifische Fakten

Größere Chunks (500-1000 Wörter):

  • Mehr Kontext erhalten
  • Kann irrelevante Inhalte einschließen
  • Besser für komplexe Themen

Exakte Übereinstimmung: Embeddings können exakte Begriffe übersehen, die eine Stichwortsuche finden würde

Negation: “Nicht genehmigt” und “genehmigt” können ähnliche Embeddings haben

Aktuelles Wissen: Embeddings wissen nur, was in den Trainingsdaten des Modells war

Logisches Schlussfolgern: Embeddings repräsentieren Bedeutung, keine logischen Beziehungen

Embedding-Qualität hängt ab von:

  • Modellqualität: Bessere Modelle produzieren bessere Embeddings
  • Textqualität: Klarer, gut geschriebener Text wird besser eingebettet
  • Trainingsdaten: Modelle, die auf ähnlichen Inhalten trainiert wurden, funktionieren besser
  • Embeddings wandeln Text in numerische Vektoren um, die Bedeutung erfassen
  • Ähnliche Bedeutungen produzieren ähnliche Vektoren und ermöglichen semantischen Vergleich
  • Embeddings treiben RAG an, indem sie relevante Inhalte basierend auf Bedeutung finden
  • Semantische Suche findet verwandte Inhalte auch ohne exakte Wortübereinstimmung
  • Sprache und Domäne beeinflussen die Embedding-Qualität
  • Das Verständnis von Embeddings hilft Ihnen, RAG- und Suchfunktionen zu optimieren