Embedding (NLP) (DE)

From Systems analysis Wiki
Jump to navigation Jump to search

Embedding (vom Englischen embedding – „Einbettung“) ist eine grundlegende Technologie im Bereich des maschinellen Lernens und der Verarbeitung natürlicher Sprache, die diskrete oder komplexe Objekte (wie Wörter, Sätze, Bilder) in numerische Vektorrepräsentationen fester Dimensionalität umwandelt. Diese Vektoren, oder Embeddings, werden in einem mehrdimensionalen Raum so angeordnet, dass semantisch ähnliche Objekte nahe beieinander liegen.

Definition und Konzept

Formal ist ein Embedding eine Abbildungsfunktion f:Xd, wobei X der ursprüngliche Raum der Objekte (z. B. ein Wörterbuch) und d ein mehrdimensionaler Vektorraum (der Embedding-Raum) mit der Dimensionalität d ist. Die Dimensionalität d ist erheblich kleiner als die des ursprünglichen Raums, was diese Repräsentationen dicht (dense) macht.

Die theoretische Grundlage für Wortvektorrepräsentationen bildet die distributionelle Semantik, die besagt, dass die Bedeutung eines Wortes durch den Kontext seiner Verwendung bestimmt wird. Das bedeutet, dass Wörter, die in ähnlichen Kontexten vorkommen, ähnliche Bedeutungen haben und folglich auch nahe beieinander liegende Vektorrepräsentationen.

Grundprinzipien von Embeddings

  • Feste Dimensionalität: Alle Objekte werden in Vektoren gleicher Länge abgebildet, unabhängig von der Größe der ursprünglichen Daten (z. B. der Länge eines Satzes).
  • Semantische Nähe: Der Abstand zwischen Vektoren (oft gemessen durch die Kosinus-Ähnlichkeit) spiegelt die semantische Nähe der ursprünglichen Objekte wider.
  • Unterstützung mathematischer Operationen: Die Vektoren bewahren semantische Beziehungen, was algebraische Operationen mit ihnen ermöglicht. Das klassische Beispiel lautet: Vektor(„König“)Vektor(„Mann“)+Vektor(„Frau“)Vektor(„Königin“).

Geschichte und Entwicklung

Frühe Ansätze (1980er–2000er)

Die ersten Ideen zu Vektorrepräsentationen entstanden in den 1980er Jahren im Rahmen der Forschung an neuronalen Netzen. Frühe Methoden basierten auf der statistischen Analyse der gemeinsamen Vorkommenshäufigkeit von Wörtern.

Die Ära von Word2Vec (2013)

Ein revolutionärer Moment war die Entwicklung von Word2Vec durch ein Team bei Google unter der Leitung von Tomáš Mikolov im Jahr 2013. Word2Vec bot zwei effiziente und rechengünstige Architekturen zum Trainieren von Wort-Embeddings:

  • CBOW (Continuous Bag of Words): Sagt das zentrale Wort basierend auf seinem umgebenden Kontext voraus.
  • Skip-gram: Sagt die Kontextwörter basierend auf dem zentralen Wort voraus.

Word2Vec wurde zur ersten populären Implementierung von Vektorrepräsentationen, maßgeblich dank seines Open-Source-Codes und seiner hohen Verarbeitungsgeschwindigkeit.

Entwicklung alternativer Ansätze

Nach Word2Vec entstanden weitere bedeutende Modelle für statische Embeddings:

  • GloVe (2014): Ein an der Stanford University entwickeltes Modell, das globale Statistiken der gemeinsamen Vorkommenshäufigkeit von Wörtern zum Training der Vektoren nutzt.
  • FastText (2015): Ein Modell von Facebook, das die Morphologie von Wörtern berücksichtigt, indem es jedes Wort als Summe der Vektoren seiner Zeichen-n-Gramme darstellt. Dies ermöglicht die Erstellung von Embeddings auch für Wörter, die nicht im Trainingsvokabular enthalten sind (Out-of-Vocabulary-Wörter).

Die Ära der Transformer und kontextuellen Embeddings (2018–heute)

Der Durchbruch gelang mit dem Aufkommen der Transformer-Architektur und dem Modell BERT (2018). Dies führte zum Aufkommen kontextueller Embeddings, bei denen die Vektorrepräsentation eines Wortes vom Kontext seiner Verwendung abhängt. Im Gegensatz zu statischen Repräsentationen, bei denen das Wort „Schlüssel“ denselben Vektor in den Sätzen „Türschlüssel“ und „Notenschlüssel“ hätte, erzeugen kontextuelle Modelle für jeden Fall unterschiedliche Embeddings.

Arten von Embeddings

Nach Repräsentationsebene

  • Wort-Embeddings: Der grundlegende Typ, bei dem jedes Wort durch einen eigenen Vektor repräsentiert wird (Word2Vec, GloVe).
  • Satz- und Dokumenten-Embeddings: Repräsentieren ganze Phrasen, Sätze oder Dokumente als einen einzigen Vektor (PV-DM, PV-DBOW).
  • Nutzer- und Item-Embeddings: Werden in Empfehlungssystemen verwendet, um die Interessen von Nutzern und die Eigenschaften von Produkten darzustellen.

Nach Kontextualität

  • Statische Embeddings: Jedem Wort wird ein fester Vektor zugewiesen, unabhängig vom Kontext (Word2Vec, GloVe, FastText).
  • Kontextuelle Embeddings: Erzeugen unterschiedliche Repräsentationen für dasselbe Wort, abhängig von seiner Umgebung. Wichtige Vertreter sind:
    • BERT: Ein bidirektionales Modell auf Basis von Transformern.
    • ELMo: Ein bidirektionales LSTM-Modell.
    • RoBERTa, DistilBERT, ALBERT: Verbesserte Varianten von BERT.

Nach Modalität

  • Text-Embeddings: Der am weitesten verbreitete Typ, der Repräsentationen von Wörtern, Sätzen und Dokumenten umfasst.
  • Visuelle Embeddings: Repräsentationen von Bildern für Aufgaben im Bereich Computer Vision.
  • Multimodale Embeddings: Kombinieren verschiedene Datentypen (Text, Bilder, Audio) in einem einzigen Vektorraum. Ein Beispiel ist ImageBind, das Daten aus sechs Modalitäten verknüpfen kann.

Architekturen und Trainingsmethoden

Klassische Methoden

  • One-Hot-Kodierung: Die einfachste Methode, bei der jedes Wort durch einen Vektor der Größe des Vokabulars kodiert wird, mit einer Eins an der entsprechenden Position. Nachteile: hohe Dünnbesetztheit und fehlende semantische Informationen.
  • Matrixfaktorisierung: Methoden zur Dimensionsreduktion (z. B. LSA), die auf Kookkurrenzmatrizen von Wörtern angewendet werden.

Neuronale Netzarchitekturen

  • Flache neuronale Netze: Die Architekturen CBOW und Skip-gram in Word2Vec verwenden zweischichtige neuronale Netze für ein effizientes Training.
  • Transformer: Eine Architektur, die das Feld durch den Aufmerksamkeitsmechanismus (Attention) revolutioniert hat.

Moderne Ansätze

  • Masked Language Modeling: BERT verwendet die Aufgabe, maskierte Wörter vorherzusagen, um kontextuelle Repräsentationen zu lernen.
  • Kontrastives Lernen: Methoden, die die Ähnlichkeit von semantisch nahen (positiven) Paaren maximieren und die Ähnlichkeit von entfernten (negativen) Paaren minimieren.

Anwendungen von Embeddings

Embeddings finden breite Anwendung in verschiedenen Bereichen:

Verarbeitung natürlicher Sprache (NLP)

  • Suche und Informationsgewinnung: Verbesserung der Qualität der semantischen Suche, die es ermöglicht, Dokumente nach ihrer Bedeutung und nicht nur nach Schlüsselwörtern zu finden.
  • Textklassifikation: Vektorrepräsentationen dienen als Eingabe für Klassifikatoren und erhöhen deren Genauigkeit.
  • Sentimentanalyse: Bestimmung der emotionalen Färbung von Texten unter Berücksichtigung des Kontexts.
  • Maschinelle Übersetzung: Verbesserung des Verständnisses der Semantik der Quell- und Zielsprache.

Empfehlungssysteme

Embeddings von Nutzern und Produkten bilden die Grundlage für personalisierte Empfehlungssysteme, darunter:

  • Kollaboratives Filtern: basierend auf Embeddings des Nutzerverhaltens.
  • Inhaltsbasiertes Filtern: unter Verwendung von Embeddings der Produkteigenschaften.

Computer Vision

  • Bildklassifikation und -suche: Faltende neuronale Netze (CNNs) und Vision Transformers erstellen Bild-Embeddings für deren Klassifikation und die Suche nach visuell ähnlichen Bildern.

Bioinformatik und Medizin

  • Analyse medizinischer Daten: Analyse von klinischen Aufzeichnungen und zur Krankheitsdiagnostik.
  • Molekulare Repräsentationen: Erstellung von Embeddings zur Vorhersage der Eigenschaften chemischer Verbindungen.

Technische Aspekte und Optimierung

  • Methoden zur Dimensionsoptimierung: Matryoshka Representation Learning (MRL) ist ein innovativer Ansatz, der es ermöglicht, Embeddings unterschiedlicher Dimensionalität aus einem einzigen Modell zu erhalten, indem wichtige Informationen am Anfang des Vektors konzentriert werden.
  • Quantisierung von Embeddings: Reduzierung der Genauigkeit der Zahlendarstellung (z. B. auf 8 oder 4 Bit), um Berechnungen zu beschleunigen und Speicher zu sparen.
  • Integration mit Datenbanken: Moderne Vektordatenbanken (z. B. Milvus, Pinecone) und Erweiterungen für traditionelle DBMS (z. B. pgvector für PostgreSQL) ermöglichen die effiziente Speicherung und Suche von Embeddings.

Literatur

  • Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
  • Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
  • Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
  • Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
  • Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
  • Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
  • Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
  • Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
  • Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.