CBOW
forkortelse for Continuous Bag of Words
CBOW er en neural netværksarkitektur til at lære ordindlejringer ved at forudsige et målord ud fra dets kontekst.
Kort fortalt
CBOW forudsiger et ord ud fra de omkringliggende ord, så computeren lærer ords betydning.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /siːˈbaʊ/
Betydninger
1- 1
En neural netværksarkitektur, der lærer ordindlejringer ved at maksimere sandsynligheden for et målord givet dets omgivende kontekstord (et vindue af ord).
- I CBOW modelleres konteksten ved at tage gennemsnittet af indlejringerne af ordene i et vindue omkring målordet. — Mikolov et al., 2013
- Træning af en CBOW-model er generelt hurtigere end en tilsvarende Skip-gram-model. — Mikolov et al., 2013
Hvornår bruges det
CBOW bruges ofte i Word2Vec-modeller til at generere ordindlejringer. Det er hurtigere end Skip-gram og fungerer godt med hyppige ord, men er mindre effektivt for sjældne ord.
Kodeeksempel
import numpy as np
def cbow_forward(context_vectors, W_in, W_out):
# context_vectors: list of word vectors (each is shape (embed_dim,))
avg = np.mean(context_vectors, axis=0)
hidden = avg # no activation
scores = W_out @ hidden # shape (vocab_size,)
probs = np.exp(scores) / np.sum(np.exp(scores))
return probsSimpel Python-funktion, der illustrerer CBOW-foroverpasset: gennemsnit af kontekstvektorer, derefter matrixmultiplikation og softmax.
Oprindelse
CBOW står for 'Continuous Bag of Words' og blev introduceret af Tomas Mikolov og hans kolleger hos Google i 2013 som en del af Word2Vec.