Word2Vec: Skip-gram und CBOW
Word2Vec-Theorie, Implementierung mit gensim, Vektor-Arithmetik (king - man + woman = queen).
Word2Vec: Skip-gram und CBOW ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Von Wörtern zu Vektoren
Maschinelles Lernen benötigt Zahlen, Wörter sind jedoch Symbole. Worteinbettungen ordnen jedem Wort einen dichten Vektor zu, sodass ähnliche Wörter im Vektorraum nahe beieinanderliegen.
Die distributionelle Hypothese
Word2Vec beruht auf der Idee, dass Wörter, die in ähnlichen Kontexten vorkommen, ähnliche Bedeutungen haben. Indem das Modell lernt, den Kontext vorherzusagen, erfasst es die Bedeutung in den Vektoren.
Zwei Architekturen
Word2Vec verfügt über zwei Trainingsverfahren:
- CBOW sagt das Zielwort anhand seines umgebenden Kontexts voraus
- Skip-gram sagt den umgebenden Kontext anhand des Zielworts voraus
CBOW vs. Skip-gram
CBOW ist schneller und eignet sich gut für häufige Wörter. Skip-gram ist langsamer, verarbeitet aber seltene Wörter und kleine Datensätze besser. Für eine hohe Qualität wird häufig Skip-gram als Standardauswahl verwendet.
Training mit gensim
Die Bibliothek gensim macht Word2Vec einfach nutzbar. Sie übergeben tokenisierte sentences (Listen aus Wortlisten) und legen die Konfiguration der Einbettung fest.
from gensim.models import Word2Vec
sentences = [["the", "cat", "sat"], ["the", "dog", "ran"]]
model = Word2Vec(sentences=sentences, vector_size=100, window=5, min_count=1)Wichtige Parameter
Die wichtigsten Stellschrauben sind:
vector_sizeDimension der Einbettung (z. B. 100–300)windowKontextbreite um jedes Wortmin_countWörter ignorieren, die seltener als dieser Wert vorkommen
from gensim.models import Word2Vec
model = Word2Vec(
sentences,
vector_size=200,
window=5,
min_count=5,
)Skip-gram mit sg=1 auswählen
Der Parameter sg wählt die Architektur aus: sg=0 verwendet CBOW (Standard), sg=1 verwendet Skip-gram.
from gensim.models import Word2Vec
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, sg=1)
# sg=1 -> skip-gramAuf Wortvektoren zugreifen
Die trainierten Vektoren befinden sich in model.wv. Greifen Sie über ein Wort als Index darauf zu, um dessen Wortvektor abzurufen.
vec = model.wv["cat"]
print(vec.shape) # (vector_size,)
print("dog" in model.wv)Ähnliche Wörter finden
wv.most_similar gibt die Wörter zurück, deren Vektoren am nächsten liegen – eine schnelle Möglichkeit zu überprüfen, was die Einbettung gelernt hat.
print(model.wv.most_similar("cat", topn=5))
# returns list of (word, similarity) pairsVektorrechnung mit Wörtern
Die bekannte Eigenschaft: Vektorrechnung erfasst Beziehungen. king - man + woman landet nahe bei queen und zeigt damit, dass die Einbettung Analogien codiert.
result = model.wv.most_similar(
positive=["king", "woman"],
negative=["man"],
topn=1,
)
print(result) # often [("queen", 0.7...)]Einbettungen in nachgelagerten Aufgaben verwenden
Um einen Satz darzustellen, mitteln Sie seine Wortvektoren und übergeben das Ergebnis anschließend an einen beliebigen Klassifikator. Vortrainierte Word2Vec-Einbettungen bieten außerdem einen guten Ausgangspunkt, wenn Ihre Datenmenge klein ist.
import numpy as np
def sentence_vector(words, model):
vecs = [model.wv[w] for w in words if w in model.wv]
return np.mean(vecs, axis=0) if vecs else np.zeros(model.vector_size)Schnelltest
Testen Sie Ihr Wissen über Word2Vec.
Zusammenfassung
Zusammenfassung: Word2Vec lernt dichte Wortvektoren aus dem Kontext. CBOW sagt ein Wort anhand des Kontexts voraus (schnell); Skip-gram (sg=1) sagt den Kontext anhand eines Wortes voraus (besser für seltene Wörter). Legen Sie in gensim vector_size, window und min_count fest und verwenden Sie anschließend wv.most_similar sowie Analogien wie king - man + woman.
Häufig gestellte Fragen
Ist die Lektion „Word2Vec: Skip-gram und CBOW“ kostenlos?
Ja — der vollständige Text von „Word2Vec: Skip-gram und CBOW“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Word2Vec: Skip-gram und CBOW“?
Word2Vec-Theorie, Implementierung mit gensim, Vektor-Arithmetik (king - man + woman = queen). Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Word2Vec: Skip-gram und CBOW“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Word2Vec: Skip-gram und CBOW
- GloVe- und FastText-Embeddings
- Textklassifikation mit BERT
- Semantische Ähnlichkeit und Satz-Embeddings