CBOW v. S. skip-gram: pourquoi inverser le contexte et les mots-cibles?

la page, il est dit que:

[...] skip-gram inverse les contextes et les cibles, et tente de prédire chaque mot de contexte à partir de son mot cible [...]

Cependant, en regardant l'ensemble de données de formation qu'il produit, le contenu de la paire X et Y semble être interchangeable, comme ces deux paires de (X, Y):

(quick, brown), (brown, quick)

alors, pourquoi distinguer autant entre le contexte et les cibles si elle c'est la même chose à la fin?

Également Udacity Profondes de l'Apprentissage en cours d'exercice sur word2vec, je me demande pourquoi ils semblent faire la différence entre ces deux approches que beaucoup dans ce problème:

une alternative à skip-gram est un autre modèle Word2Vec appelé CBOW (Continuous Bag of Words). Dans le modèle CBOW, au lieu de prédire un mot de contexte à partir d'un vecteur de mot, vous prédisez un mot à partir de la somme de tous les vecteurs de mot dans son cadre. Mettre en œuvre et évaluer un modèle CBOW formé sur l'ensemble de données text8.

cela ne donnerait-il pas les mêmes résultats?

18
demandé sur Guillaume Chevalier 2016-07-10 04:21:34

2 réponses

voici ma compréhension simpliste et naïve de la différence:

Comme nous le savons, CBOW c'est apprendre à prédire le mot par le contexte. Ou maximiser la probabilité du mot cible en regardant le contexte. Et cela arrive à être un problème pour les mots rares. Par exemple, compte tenu du contexte yesterday was really [...] day CBOW model vous dira que très probablement le mot est beautiful ou nice. Des mots comme delightful retiendra beaucoup moins l'attention du modèle, car il est conçu pour prédire le mot le plus vraisemblable. Ce mot sera lissée sur beaucoup d'exemples avec la fréquence des mots.

d'autre part, le skip-gramme est conçu pour prédire le contexte. Donné le mot delightful il doit le comprendre et nous dire, qu'il y a une énorme Probabilité, le contexte est yesterday was really [...] day, ou de quelque autre contexte. skip-gramme le mot delightful ne sera pas essayer de rivaliser avec le mot beautiful mais à la place,delightful+context paires seront traitées comme de nouvelles observations.

UPD

merci à @0xF pour le partage cet article

selon Mikolov

Skip-gramme: fonctionne bien avec une petite quantité de données de formation, représente bien même des mots ou des phrases rares.

CBOW: plusieurs fois plus rapide à s'entraîner que le skip-gram, un peu plus de précision pour les fréquents mots

un ajout au sujet est trouvé ici:

en mode" saut de gramme "alternative à" CBOW", plutôt que la moyenne les mots de contexte, chacun est utilisé comme un exemple de formation en paires. Que est, à la place d'un exemple CBOW tel que [predict 'ate' from moyenne('Le', 'chat', 'la', 'souris')], le réseau est présenté avec quatre skip-gramme exemples [prévoir "mangé" de "La"], [prédire 'mangé' de 'cat'], [prédire 'mangé' de 'la'], [prédire 'mangé' de 'souris']. (La même fenêtre de réduction se produit, donc la moitié du temps juste deux exemples, des mots les plus proches.)

29
répondu Serhiy 2017-12-13 15:35:14

cela a à voir avec ce que vous calculez exactement à un point donné. La différence deviendra plus claire si vous commencez à regarder des modèles qui intègrent un contexte plus large pour chaque calcul de probabilité.

Dans skip-gramme, vous êtes calcul du(des) mot (s) de contexte dans le mot à la position actuelle dans la phrase; vous êtes "sauter" le mot courant (et potentiellement un peu du contexte) dans votre calcul. Le résultat peut être plus d'un mot (mais pas si votre fenêtre est juste un mot long).

à CBOW, vous êtes calculant le mot courant dans le contexte de parole(s), de sorte que vous n'aurez jamais un mot comme un résultat.

0
répondu Clay 2016-07-11 13:37:25