Word2vec

Was ist Word2vec?

Word2vec ist ein neuronales Netz, welches zur Textanalyse mittels Worteinbettung (im Englischen Word Embedding) genutzt wird. Dafür wandelt Word2vec die Wörter eines Textes in numerische Vektoren um und kann mithilfe dieser Zahlen Zusammenhänge und den Kontext der Wörter zueinander mathematisch berechnen und erkennen. Durch überwachtes Lernen (supervised learning) steigert Word2vec seine Fähigkeit, Zusammenhänge zu erkennen und aus zugegeben, wie zum Beispiel:

Die „Sonne“ ist für den „Tag“, was der „Mond“ für die „Nacht“ ist.

oder

„Berlin“ ist für „Deutschland“, was „Tokyo“ für „Japan“ ist.

Zudem werden Zugehörigkeiten, wie beispielsweise „Löffel“, „Gabel“ und „Messer“ erkannt und diese Wörter gemeinsam gruppiert.

Eingeführt wurde Word2vec 2013 von einem Forscherteam von Google unter der Leitung von Tomas Mikolov. Die Forschungsarbeit mit dem Titel „Efficient Estimation of Word Representations in Vector Space“ beschreibt zwei mögliche Methoden zum Erlernen des Kontextes:

Continuous Bag-of-Words-Modell (CBOW)

Das Zielwort wird basierend auf den angrenzenden Kontextwörtern vorausgesagt. Der Kontext besteht aus einigen Wörtern vor und nach dem gesuchten (mittleren) Wort. Es wird Bag-of-Words-Modell genannt, da die Reihenfolge der Wörter im Kontext nicht relevant ist. Das CBOW-Modell ist besonders gut darin, syntaktische Beziehungen zwischen zwei Wörtern zu erfassen.

Continuous Skip-Gram-Modell

Bei diesem Modell werden mehrere Kontextwörter basierend auf einem Eingabewort herausgegeben. Es funktioniert im Prinzip genau andersherum wie das CBOW-Modell. Das Continuous Skip-Gram-Modell ist besser darin, semantische Beziehungen zwischen zwei Wörtern herauszugeben, als das CBOW-Modell.

Ein Beispiel anhand des Wortes „Fisch“

Das CBOW-Modell gibt als nächsten Vektor den Plural „Fische“ aus. Das Skip-Gram-Modell hingegen wird ein unabhängiges, aber semantisch relevantes, Wort wie „Angel“ finden.

Durch diesen Unterschied ist das Skip-Gram-Modell das beliebtere von beiden, da es für die meisten Anwendungen einen größeren Nutzen hat.

Was sind die Anwendungen von Word2vec?

Word2vec kann, wie auch andere Word Embeddings, für viele Online-Anwendungen genutzt werden. Es bildet die Grundlage für Vorschläge bei Suchmaschinen und Empfehlungen in Onlineshops. Durch die Kontextanalyse können dabei optimierte Vorschläge für den Nutzer gemacht werden, um bestmögliche Ergebnisse auszugeben. Somit ist Word2vec essentiell für Bereiche wie E-Commerce und Customer-Relationship-Management. Aber auch zum Erstellen von Content oder für wissenschaftliche Forschungen ist es sehr hilfreich.

Word2vec in Python

Zur Nutzung von Word2vec in Python werden die beiden Module gensim und nltk benötigt.

Gensim ist eine Open-Source-Library in Python und wird für semantischen Textanalysen und Dokumentenvergleiche genutzt. Die Abkürzung nltk steht für „Natural Language Toolkit“ und umfasst Bibliotheken und Programme der Computerlinguistik für Python.

Es ist möglich, das Continuous Bag-of-Words-Modell oder das Continuous Skip-Gram-Modell zum Training des Kontextes zu nutzen. Auch sind online schon viele bereits trainierte Modelle zu finden.

Data Navigator Newsletter