2017-02-28 9 views
6

मैं Word2Vec के gensim कार्यान्वयन का उपयोग कर रहा हूँ।gensim word2vec python3 गायब vocab

print('training model') 
model = Word2Vec(Sentences(start, end)) 
print('trained model:', model) 
print('vocab:', model.vocab.keys()) 

जब मैं को Python2 में इस चलाने के लिए, यह उम्मीद के रूप में चलाता है: मैं निम्नलिखित कोड का टुकड़ा है। अंतिम प्रिंट शब्दावली में सभी शब्द है।

trained model: Word2Vec(vocab=102, size=100, alpha=0.025) 
Traceback (most recent call last): 
    File "learn.py", line 58, in <module> 
    train(to_datetime('-4h'), to_datetime('now'), 'model.out') 
    File "learn.py", line 23, in train 
    print('vocab:', model.vocab.keys()) 
AttributeError: 'Word2Vec' object has no attribute 'vocab' 

क्या हो रहा है:

हालांकि, अगर मैं python3 में इसे चलाने, मैं कोई त्रुटि मिलती है? क्या gensim word2vec python3 के साथ संगत नहीं है?

उत्तर

12

क्या आप दोनों जगहों पर gensim का एक ही संस्करण उपयोग कर रहे हैं? एक सहायक ऑब्जेक्ट को Gensim 1.0.0 चाल vocab, इसलिए जबकि gensim के पूर्व 1.0.0 संस्करणों में (अजगर 2 में या 3), तो आप उपयोग कर सकते हैं:

model.vocab 

... gensim में 1.0.0+ आपको इसके बजाय (पायथन 2 या 3 में) उपयोग करना चाहिए ...

model.wv.vocab