Caractéristiques des vecteurs de mots dans word2vec

9

J'essaie de faire une analyse des sentiments. Afin de convertir les mots en vecteurs de mots, j'utilise le modèle word2vec. Supposons que j'ai toutes les phrases dans une liste nommée «phrases» et que je passe ces phrases à word2vec comme suit:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

Étant donné que je ne suis aucun des vecteurs de mots, j'ai deux doutes.
1- La définition du nombre d'entités sur 300 définit les entités d'un vecteur de mots. Mais que signifient ces caractéristiques? Si chaque mot de ce modèle est représenté par un tableau numpy 1x300, que signifient ces 300 caractéristiques pour ce mot?

2- Que fait l'échantillonnage à la baisse représenté par le paramètre «échantillon» dans le modèle ci-dessus en réalité?

Merci d'avance.

enterML
la source

Réponses:

10

1- Le nombre de fonctionnalités: En termes de modèle de réseau neuronal, il représente le nombre de neurones dans la couche de projection (cachée). Comme la couche de projection est construite sur une hypothèse de distribution, un vecteur numérique pour chaque mot signifie sa relation avec ses mots de contexte.

Ces caractéristiques sont apprises par le réseau neuronal car il s'agit d'une méthode non supervisée. Chaque vecteur a plusieurs ensembles de caractéristiques sémantiques. Par exemple, prenons l'exemple classique V(King) -V(man) + V(Women) ~ V(Queen)et chaque mot représenté par un vecteur 300-d. V(King)aura des caractéristiques sémantiques de Royauté, royaume, masculinité, humain dans le vecteur dans un certain ordre. V(man)aura la masculinité, l'homme, travailler dans un certain ordre. Ainsi, une fois V(King)-V(Man)terminé, la masculinité, les caractéristiques humaines seront annulées et, avec l'ajout de la V(Women)féminité, les caractéristiques humaines seront ajoutées, ce qui donnera un vecteur très similaireV(Queen). La chose intéressante est que ces caractéristiques sont encodées dans le vecteur dans un certain ordre afin que les calculs numériques tels que l'addition, la soustraction fonctionnent parfaitement. Cela est dû à la nature de la méthode d'apprentissage non supervisée dans le réseau neuronal.

2- Il existe deux algorithmes d'approximation. Hierarchical softmaxet negative sampling. Lorsque le paramètre d'échantillon est donné, il prend un échantillonnage négatif. En cas de softmax hiérarchique, pour chaque vecteur de mot, ses mots de contexte reçoivent des sorties positives et tous les autres mots du vocabulaire reçoivent des sorties négatives. Le problème de la complexité temporelle est résolu par un échantillonnage négatif. Comme dans l'échantillonnage négatif, plutôt que tout le vocabulaire, seule une partie échantillonnée du vocabulaire reçoit des sorties négatives et les vecteurs sont entraînés, ce qui est beaucoup plus rapide que l'ancienne méthode.

yazhi
la source
Cette interprétation des fonctionnalités de word2vec est trompeuse. Il n'y a pas de dimension de masculinité de l'espace, ni d'élément de redevance dans le vecteur. Si tel était le cas, un espace vectoriel à 300 dimensions ne pourrait représenter que 300 dichotomies sémantiques indépendantes.
Dan Hicks
@DanHicks: Je n'ai jamais mentionné chaque fonctionnalité comme dimension d'espace. Je viens de dire que de telles caractéristiques sémantiques sont encodées dans le vecteur dans un certain ordre, de sorte que des opérations mathématiques sont possibles.
yazhi
"Caractéristiques" fait normalement référence aux variables utilisées pour représenter les cas - dans ce cas, les éléments du mot vecteurs / dimensions de l'espace vectoriel. @ La question de Nain utilise clairement les "fonctionnalités" de cette manière. Les «caractéristiques sémantiques» dont vous parlez sont au mieux une vague façon de parler de la façon dont word2vec gère les analogies. Ce ne sont pas du tout les caractéristiques des vecteurs de mots.
Dan Hicks
1
vous avez raison .. J'ai modifié "caractéristiques sémantiques" en "caractéristiques sémantiques", et les "caractéristiques" dans la réponse ne représentent que les dimensions du vecteur.
yazhi
0
  1. Selon l'hypothèse de distribution, la dimension individuelle dans le vecteur du mot ne signifie pas grand-chose du mot dans le monde réel. Vous devez vous soucier des dimensions individuelles. Si votre question est alors comment dois-je sélectionner le nombre de dimensions, il est purement basé sur l'expérience pour vos données et il peut aller de 100 à 1000. Pour de nombreuses expériences où la formation se fait sur du texte wiki, la dimension 300 donne surtout le meilleur résultat.
  2. Sample param est le paramètre utilisé pour tailler les mots ayant une fréquence élevée. Par exemple "le" "est" "était", ces mots d'arrêt ne sont pas pris en compte dans la fenêtre lors de la prédiction du mot intérieur et la valeur par défaut fonctionne bien pour identifier ces mots d'arrêt dont la fréquence est plus élevée.
Trideep Rath
la source