Worteinbettung

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Bei einer Worteinbettung (englisch word embedding) handelt es sich um eine Einbettung, bei der Worte oder andere Symbole jeweils einem Vektor v mit zugeordnet werden. Dies kommt vor allem beim Maschinellen Lernen zum Einsatz. Das Ziel hierbei ist eine abstrakte Darstellung der Bedeutung der Worte bzw. Symbole bei gleichzeitiger Dimensionsreduktion zu erhalten.[1]

Bag-of-Words[Bearbeiten | Quelltext bearbeiten]

Bag-of-Words[2] ist die einfachste Form der Worteinbettung. Hierbei wird jedem Symbol s ein zufälliger diskreter Wert v mit zugeordnet. Beispielsweise kann eine Aussage wie

„Der grüne Frosch springt in den See.“

in eine Folge von Zahlen übersetzt werden

Hiermit kann z. B. ein Textkorpus nach Stichworten durchsucht werden, indem eine Suchabfrage mit einem Index der enthaltenen Wörter verglichen wird.

Hierbei gilt es zu beachten, dass Synonyme auch denselben Wert erhalten müssen. Beispielsweise „Geldautomat“ und „Bankomat“ oder „Auto“ und „PKW“, sowie von einem Wortstamm abgeleitete oder modifizierte Worte wie „Grün“, „grüner“, „Gruen“ etc. Ein solches Mapping kann über Wörterbücher erfolgen, was jedoch einen erheblichen manuellen Aufwand bedeutet. Zudem gibt es keine Unterscheidungsmöglichkeit bei Homonymen. Der Begriff „Bank“ im Sinne eines Geldinstituts erhält denselben Wert wie der Begriff „Bank“ im Sinne einer Parkbank.

Word2Vec[Bearbeiten | Quelltext bearbeiten]

Word2Vec[3], auch als Continuous Bag-of-Words (CBOW) oder Skip-Gram bezeichnet, erweitert das Prinzip von Bag-of-Words, indem einem Symbol 's' ein mehrdimensionaler und kontinuierlicher Wert zugeordnet wird. Dieser Wert wird derart festgelegt, dass die Wahrscheinlichkeit P des Wertes v an der Stelle t in Abhängigkeit der n davorstehenden und n dahinterstehenden Worte maximiert wird.

Beispielsweise kann in dem Satz

„Der grüne Frosch [???] in den See.“

das Wort „springt“ vorhergesagt werden, indem berechnet wird, wie hoch die Wahrscheinlichkeit ist, dass das Wort „springt“ vorkommt, während davor die Worte „der“, „grüne“ und „Frosch“ und dahinter die Worte „in“, „den“ und „See“ stehen.

Die Wahrscheinlichkeit P, dass das Symbol s mit an der Stelle t steht, ergibt sich aus

Hierbei ist T die Position der Worte im Satz, ist die Softmax-Funktion über alle Worte und ist der Vektor des Wortes w an der Stelle T. Die Softmax-Funktion σ normiert hierbei die Wahrscheinlichkeit derart, dass die Summe aller Wahrscheinlichkeiten gleich 1 ist.

Die Vektoren v, welche die Symbole abbilden, werden mittels des Gradientenverfahrens berechnet, sodass die Wahrscheinlichkeit das falsche Wort vorherzusagen minimiert wird. Um die Wahrscheinlichkeit zu berechnen, werden große Textsammlungen als Trainingsdaten benötigt.

Der Vorteil dieses Verfahrens besteht darin, dass die resultierenden Vektoren die Wortbedeutung repräsentieren und auf dieser logische Aussagen und Ähnlichkeitsaussagen getroffen werden können. Beispielsweise ergibt die Berechnung der Vektorkomposition v(„König“) - v(„Mann“) + v(„Frau“) = v(„Königin“). Zudem werden Synonyme korrekt abgebildet, etwa v(„Geldautomat“) = v(„Bankomat“).

Problematisch an diesem Verfahren ist, dass Homonyme nicht korrekt bestimmt werden können. v(„Bank“) ergibt daher einen Vektor, welcher zwischen den Vektoren v(„Geldinstitut“) und v(„Parkbank“) liegt, jedoch keinen dieser Bedeutungen aus den Kontext einer Aussage klar abbildet. Weitere Probleme können sich aus Trainingsdaten mit einem Bias ergeben, welche zu Verzerrungen des Vektorraums führen und z. B. eine Vektorkomposition wie v(„Arzt“) - v(„Mann“) + v(„Frau“) = v(„Krankenschwester“) anstatt von v(„Ärztin“) ergibt.[4] Ein weiterer Nachteil ist, dass dieses Verfahren nicht geeignet ist, um den Inhalt längerer Aussagen korrekt abbilden zu können, da nur die einem Symbol nahestehenden Symbole als Kontext berücksichtigt werden.

Kontextabhängige Worteinbettung[Bearbeiten | Quelltext bearbeiten]

Das Ziel der kontextabhängigen Worteinbettung (engl. Contextual Word Embedding) ist es, dass homonyme Bedeutungen korrekt dargestellt werden können. Hierbei wird ein Rekurrentes neuronales Netz (RNN) oder Convolutional Neural Network (CNN) mittels unüberwachtem Lernen trainiert, anhand einer gegebenen Menge an Symbolen das nächste Symbol in einer Sequenz vorherzusagen. Das RNN kann diese Vorhersage auch bei langen Symbolfolgen anhand eines internen Zustands (hidden state) durchführen. Der interne Zustand bildet konzeptionell den Kontext des Symbols ab und ist nicht auf den aktuell berücksichtigten Ausschnitt der Symbolfolge begrenzt.

Die ersten Version dieses Verfahrens stellt TagLM dar[5]. Dieses nutzt zwei long short-term memory-Netzwerke (LSTM), wobei eine LSTM die Symbolfolge in einen internen Zustand codiert und das zweite LSTM den internen Zustand in eine Symbolfolge dekodiert. Der interne Zustand ergibt sich hierbei aus einer Verknüpfung des Word2Vec Vektors eines Symbols mit einem Token, welches die Position des Symbols repräsentiert, und die Konvolution der entsprechenden Werte.

Eine Weiterentwicklung von TagLM ist Embeddings from Language Models (ELMo)[6]. Anstatt Worte als Vektoren zu verarbeiten, werden hierbei einzelne Zeichen (z. B. Buchstaben) verarbeitet. Hierdurch entfallen Word2Vec-basierte Verfahren.

Transformer[Bearbeiten | Quelltext bearbeiten]

Transformer[7] lösen die Problematik, dass LSTMs auf Basis von rekurrenten Netzen nur sehr langsam trainiert werden können und das Training nur schwer parallelistiert werden kann.[1] Die Konvolution wird hierbei von einem Aufmerksamkeits-Mechanismus abgelöst. Die Aufmerksamkeit bestimmt hierbei, welche Symbole einer Folge als Kontext berücksichtigt werden sollen. Transformer verwenden mehrere Aufmerksamkeits-Mechanismen parallel (Multi-Head-Attention), um eine Menge aus mehreren Symbolen als Kontext berücksichtigen zu können. Um Abhängigkeiten eines Symbols von entfernten Symbolen berücksichtigen zu können, können mehrere Transformer-Blöcke in Serie geschalten werden. Beispielsweise lassen sich so in der Aussage

„Der grüne [???] springt in den [???].“

sowohl die Begriffe „Frosch“ als auch „See“ ermitteln, da der Gesamt-Kontext zur Berechnung der Symbolwahrscheinlichkeiten berücksichtigt wird.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. a b Antonio Lopardo: Word2Vec to Transformers. Towards Data Science Inc., 7. Januar 2020, abgerufen am 8. Dezember 2020 (englisch).
  2. Yin Zhang, Rong Jin, Zhi-Hua Zhou: Understanding Bag-of-Words Model: A Statistical Framework. In: International Journal of Machine Learning and Cybernetics. Springer, 28. August 2020, abgerufen am 8. Dezember 2020.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Grec Corrado, Jeffrey Dean: Distributed Representations of Words and Phrases and their Compositionality. (PDF) Google Inc., 2013, abgerufen am 8. Dezember 2020 (englisch).
  4. Tommaso Buonocore: Man is to Doctor as Woman is to Nurse: the Gender Bias of Word Embeddings. Towards Data Science Inc., 8. März 2019, abgerufen am 8. Dezember 2020 (englisch).
  5. Matthew E. Peters, Waleed Ammar, Chandra Bhagavatula, Russell Power: Semi-supervised sequence tagging with bidirectional language models. (PDF) Allen Institute for Artificial Intelligence, 29. April 2017, abgerufen am 8. Dezember 2020 (englisch).
  6. Mathew E. Peters, Mark Neumann, Mohit Iyver, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettelmoyer: Deep contextualized word representations. (PDF) Allen Institute for Artificial Intelligence, Paul G. Allen School of Computer Science & Engineering - University of Washington, 22. März 2018, abgerufen am 8. Dezember 2020 (englisch).
  7. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin: Attention Is All You Need. In: arxiv. Google Brain, 12. Juni 2017, abgerufen am 8. Dezember 2020 (englisch).