2017-09-02 7 views
0

Il suffit de lire les commandes doc2vec sur la page gensim.gensim doc2vec Commande "intersect_word2vec_format"

Je suis curieux de connaître la commande "intersect_word2vec_format". D'après ma compréhension de cette commande, je peux injecter des valeurs vectorielles à partir d'un modèle word2vec prédérainé dans mon modèle doc2vec, puis former mon modèle doc2vec en utilisant les valeurs word2vec préchargées plutôt que de générer les valeurs vectorielles de mon corpus document. Le résultat est que j'obtiens un modèle doc2vec plus précis parce que j'utilise des valeurs w2v préétablies qui ont été générées à partir d'un corpus de données beaucoup plus grand par rapport à mon corpus de documents relativement petit.

Est-ce que ma compréhension de cette commande est correcte ou n'est même pas proche? ;-)

Répondre

1

Oui, le intersect_word2vec_format() vous permettra d'amener des vecteurs d'un fichier externe dans un modèle qui a déjà son propre vocabulaire initialisé (comme par build_vocab()). C'est-à-dire, il chargera seulement les vecteurs pour lesquels il y a déjà des mots dans le vocabulaire local.

De plus, par défaut, verrouillera les vecteurs chargés contre tout autre ajustement lors de la formation ultérieure, bien que d'autres mots dans le vocabulaire préexistant puissent continuer à se mettre à jour. (Vous pouvez changer ce comportement en fournissant une valeur lockf=1.0 au lieu de la valeur par défaut 0.0.)

Cependant, ceci est mieux considéré comme une fonction expérimentale et quels avantages, le cas échéant, il pourrait offrir dépendra de beaucoup de choses spécifiques à votre installer. Le mode PV-DBOW Doc2Vec, correspondant au paramètre dm=0, est souvent le plus performant en termes de vitesse et de qualité doc-vectoriel, et n'utilise ni n'entraîne aucun mot-vecteur, donc tout pré-chargement de les vecteurs n'auront aucun effet.

Le mode PV-DM, activé par le paramètre dm=1 par défaut, entraîne tous les vecteurs de mots dont il a besoin simultanément avec la formation doc-vector. (C'est-à-dire qu'il n'y a pas de phase séparée où les vecteurs de mots sont créés en premier, et donc pour les mêmes passages, PV-DM prend le même temps que les vecteurs de mots commencent avec des valeurs aléatoires par défaut, ou sont préchargés Le pré-ensemencement du modèle avec des vecteurs de mots provenant d'ailleurs pourrait aider ou nuire à la qualité finale - il dépendra probablement des spécificités de votre corpus, de vos méta-paramètres et de vos objectifs, et si ces vecteurs externes représentent les significations des mots synchroniser avec le corpus/objectif actuel.

+0

Un grand merci pour votre réponse détaillée. Cela a éclairci beaucoup de choses pour moi. Je peux maintenant commencer à former mon premier modèle d2v en utilisant PV-DM :) :) –