Word2Vec: Skip-gram og CBOW
Word2Vec-teori, implementering med gensim, vektorregning (king - man + woman = queen).
Word2Vec: Skip-gram og CBOW er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Fra ord til vektorer
Maskinlæring har brug for tal, men ord er symboler. Ordindlejringer mapper hvert ord til en tæt vektor, så ord med lignende betydning ligger tæt på hinanden i vektorrummet.
Distributionshypotesen
Word2Vec bygger på idéen om, at ord, der optræder i lignende kontekster, har lignende betydninger. Ved at lære at forudsige kontekst indfanger modellen betydning i vektorerne.
To arkitekturer
Word2Vec har to træningsmetoder:
- CBOW forudsiger målordet ud fra den omgivende kontekst
- Skip-gram forudsiger den omgivende kontekst ud fra målordet
CBOW sammenlignet med Skip-gram
CBOW er hurtigere og fungerer godt for hyppige ord. Skip-gram er langsommere, men håndterer sjældne ord og små datasæt bedre. Skip-gram er ofte standardvalget, når kvaliteten prioriteres.
Træning med gensim
Biblioteket gensim gør Word2Vec nemt at bruge. Du sender tokeniserede sentences (lister med ordlister) og angiver indlejringskonfigurationen.
from gensim.models import Word2Vec
sentences = [["the", "cat", "sat"], ["the", "dog", "ran"]]
model = Word2Vec(sentences=sentences, vector_size=100, window=5, min_count=1)Vigtige parametre
De vigtigste parametre er:
vector_sizeindlejringsdimensionen (f.eks. 100-300)windowkontekstbredden omkring hvert ordmin_countignorerer ord, der forekommer sjældnere end dette
from gensim.models import Word2Vec
model = Word2Vec(
sentences,
vector_size=200,
window=5,
min_count=5,
)Valg af Skip-gram med sg=1
Parameteren sg vælger arkitekturen: sg=0 bruger CBOW (standardindstillingen), og sg=1 bruger skip-gram.
from gensim.models import Word2Vec
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, sg=1)
# sg=1 -> skip-gramAdgang til ordvektorer
De trænede vektorer findes i model.wv. Slå en vektor op ved at indeksere den med et ord.
vec = model.wv["cat"]
print(vec.shape) # (vector_size,)
print("dog" in model.wv)Find lignende ord
wv.most_similar returnerer de ord, hvis vektorer ligger nærmest, og er en hurtig måde at undersøge, hvad indlejringen har lært.
print(model.wv.most_similar("cat", topn=5))
# returns list of (word, similarity) pairsOrdregning
Den kendte egenskab er, at vektormatematik indfanger relationer. konge - mand + kvinde ender tæt på dronning, hvilket viser, at indlejringen koder analogier.
result = model.wv.most_similar(
positive=["king", "woman"],
negative=["man"],
topn=1,
)
print(result) # often [("queen", 0.7...)]Brug af indlejringer i efterfølgende modeller
For at repræsentere en sætning skal du beregne gennemsnittet af dens ordvektorer og derefter sende resultatet til en vilkårlig klassifikator. Fortrænede Word2Vec-indlejringer giver også et godt udgangspunkt, når du har få data.
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)Hurtig test
Test din viden om Word2Vec.
Opsummering
Opsummering: Word2Vec lærer tætte ordvektorer ud fra kontekst. CBOW forudsiger et ord ud fra kontekst (hurtigt), mens skip-gram (sg=1) forudsiger kontekst ud fra et ord (bedre til sjældne ord). I gensim skal du angive vector_size, window og min_count og derefter bruge wv.most_similar samt analogier som konge - mand + kvinde.
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “Word2Vec: Skip-gram og CBOW” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “Word2Vec: Skip-gram og CBOW”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Word2Vec: Skip-gram og CBOW”?
Word2Vec-teori, implementering med gensim, vektorregning (king - man + woman = queen). Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Word2Vec: Skip-gram og CBOW”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Word2Vec: Skip-gram og CBOW
- GloVe- og FastText-embeddings
- Tekstklassifikation med BERT
- Semantisk lighed og sentence embeddings