2016-05-19 3 views
1

j'ai formé un modèle gensim.models.doc2vec.Doc2Vec
d2v_model = Doc2Vec (phrases, taille = 100, fenêtre = 8, min_count = 5, les travailleurs = 4) et je peux obtenir des vecteurs documents par docvec = d2v_model. docvecs [0]Comment obtenir des vecteurs de mot à partir d'un gensim Doc2Vec?

Comment puis-je obtenir des vecteurs de mot à partir d'un modèle entraîné?

Répondre

2

Doc2Vec hérite de Word2Vec, et donc vous pouvez accéder à mot vecteurs les mêmes que dans Word2Vec, directement par l'indexation du modèle:

wv = d2v_model['apple'] 

Notez cependant qu'un mode de formation Doc2Vec comme DBOW pur (dm=0) n'a pas besoin ou créer des vecteurs de mot. (Pure DBOW fonctionne encore assez bien et rapidement pour beaucoup de buts!) Si vous accédez à des vecteurs de mots à partir d'un tel modèle, ils seront juste les vecteurs automatiques randomisés, sans signification. Ce n'est que lorsque le mode Doc2Vec lui-même cohabite des vecteurs de mots, comme dans le mode DM (dm=1 par défaut) ou lors de l'ajout d'un mot de passe facultatif à DBOW (dm=0, dbow_words=1), les vecteurs de mots et les doc-vecteurs sont tous deux appris simultanément .