web-dev-qa-db-fra.com

que représente le vecteur d'un mot dans Word2vec?

Word2vec est un outil open source de Google:

  • Pour chaque mot, il fournit un vecteur de valeurs flottantes, que représentent-elles exactement?

  • Il existe également un document sur vecteur de paragraphe tout le monde peut-il expliquer comment il utilise Word2vec afin d’obtenir un vecteur de longueur fixe pour un paragraphe.

20
user168983

TLDR: Word2Vec construit des projections Word (incorporations) dans un espace latent de N dimensions, (N étant la taille des vecteurs Word obtenus). Les valeurs flottantes représentent les coordonnées des mots dans cet espace à N dimensions.

L'idée principale derrière les projections d'espace latent, plaçant les objets dans un espace dimensionnel différent et continu, est que vos objets auront une représentation (un vecteur) qui présente des caractéristiques de calcul plus intéressantes que les objets de base. 

Pour les mots, ce qui est utile, c’est que vous avez un espace vectoriel dense qui code similarité (c’est-à-dire que l’arbre a un vecteur plus proche du bois que de la danse). Ceci s’oppose à l’encodage classique clairsemé à une seule chaleur ou "sac de mots" qui traite chaque mot comme une dimension, ce qui les rend orthogonaux de par leur conception (l’arbre, le bois et la danse ont tous la même distance) leur)

Les algorithmes Word2Vec font ceci:

Imaginez que vous avez une phrase: 

Le chien doit aller ___ pour une promenade dans le parc.

Vous voulez évidemment remplir le vide avec la Parole "dehors" mais vous pouvez aussi avoir "out". Les algorithmes W2V sont inspirés de cette idée. Vous aimeriez que tous les mots qui remplissent les espaces vides, car ils vont de pair - c'est ce qu'on appelle hypothèse de distribution - Par conséquent, les mots "out" et "outside" seront plus proches alors qu'un mot comme "carotte" serait plus loin. 

C'est en quelque sorte "l'intuition" derrière Word2vec. Pour une explication plus théorique de ce qui se passe, je suggère de lire:

Pour les vecteurs de paragraphe, l'idée est la même que dans w2v. Chaque paragraphe peut être représenté par ses mots. Deux modèles sont présentés dans le document. 

  1. Dans un "sac de mots" (le modèle pv-dbow) où un vecteur longueur fixe paragraphe est utilisé pour prédire ses mots.
  2. En ajoutant un jeton de paragraphe longueur fixe - dans les contextes Word (modèle pv-dm). En rétropropageant le dégradé, ils obtiennent un "sens" de ce qui manque, en rapprochant les paragraphes avec le même mot/sujet "manquant".

Extraits de l'article :

Le vecteur de paragraphe et les vecteurs de mots Sont moyennés ou concaténés Pour prédire le mot suivant dans un contexte. [...] On peut penser que le jeton de paragraphe comme un autre mot. Il Agit comme une mémoire qui se souvient de ce qui manque au contexte actuel - ou au sujet du paragraphe

Pour bien comprendre comment ces vecteurs sont construits, vous devez apprendre comment sont construits les réseaux neuronaux et comment fonctionne l'algorithme de rétropropagation. (Je suggérerais de commencer par cette vidéo et la classe de Coursera d'Andrew NG)

NB: Softmax est juste une manière élégante de dire classification, chaque mot dans les algorithmes w2v est considéré comme une classe. L'échantillonnage softmax/négatif hiérarchique est une astuce pour accélérer softmax et gérer un grand nombre de classes.

36
Cedias

Les contextes de largeur fixe pour chaque mot sont utilisés comme entrée dans un réseau de neurones. La sortie du réseau est un vecteur de valeurs flottantes - c'est-à-dire l'incorporation de Word - d'une dimension donnée (généralement 50 ou 100). Le réseau est formé de manière à permettre une bonne intégration de Word compte tenu du corpus train/test.

On peut facilement trouver une entrée de taille fixe pour n'importe quel mot - dire M mots à gauche et N mots à droite. Comment le faire pour une phrase ou un paragraphe dont la taille varie, n'est pas aussi évident, ou du moins ce n'était pas le cas au début. Sans lire le papier d’abord, j’imagine qu’on peut combiner l’incorporation à largeur fixe de tous les mots de la phrase/du paragraphe pour obtenir un vecteur de longueur fixe incorporant une phrase/un paragraphe. 

0
Edi Bice