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. 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 probs

Simpel 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.

Afledte ord

1

Kilder

1