Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why Gensim doc2vec give AttributeError: 'list' object has no attribute 'words'?

I am trying to experiment gensim doc2vec, by using following code. As far as I understand from tutorials, it should work. However it gives AttributeError: 'list' object has no attribute 'words'.

from gensim.models.doc2vec import LabeledSentence, Doc2Vec
document = LabeledSentence(words=['some', 'words', 'here'], tags=['SENT_1']) 
model = Doc2Vec(document, size = 100, window = 300, min_count = 10, workers=4)

So what did I do wrong? Any help please. Thank you. I am using python 3.5 and gensim 0.12.4

like image 620
W.S. Avatar asked Apr 08 '16 21:04

W.S.


1 Answers

Input to gensim.models.doc2vec should be an iterator over the LabeledSentence (say a list object). Try:

model = Doc2Vec([document], size = 100, window = 1, min_count = 1, workers=1)

I have reduced the window size, and min_count so that they make sense for the given input. Also go through this nice tutorial on Doc2Vec, if you haven't already.

like image 110
kampta Avatar answered Sep 20 '22 18:09

kampta