2017-02-26 9 views
0

私はPyCharmを使用しており、Word2Vecを使用して単語を訓練したモデルをロードしています。私は2つの単語間の類似度をチェックしてみましたが、私はこのエラーを取得:Word2Vec類似機能が動作しない

# Loading model trained on words 
    model = word2vec.Word2Vec.load('models/text8.model') 

    # Loading model enhanced with phrases (2-grams) 
    model_phrase = word2vec.Word2Vec.load('models/text8.phrase.model') 

    # Words that are similar are close in the sense of the cosine similarity. 
    sim = model.similarity('woman', 'man') 
    print 'Printing word similarity between "woman" and "man" : {0}'.format(sim) 

Traceback (most recent call last): 
File "C:\Program Files (x86)\JetBrains\PyCharm 2016.3.2\helpers\pydev\pydevd.py", line 1596, in <module> 
globals = debugger.run(setup['file'], None, None, is_module) 
File "C:\Program Files (x86)\JetBrains\PyCharm 2016.3.2\helpers\pydev\pydevd.py", line 974, in run 
pydev_imports.execfile(file, globals, locals) # execute the script 
File "C:/Users/XXX/Desktop/code/word2vec/embedding_word2vec_students.py", line 144, in <module> 
sim = model.similarity('woman', 'man') 
File "C:\Users\XXX\Anaconda3\lib\site-packages\gensim\models\word2vec.py", line 1194, in similarity 
return self.wv.similarity(w1, w2) 
File "C:\Users\XXX\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 587, in similarity 
return dot(matutils.unitvec(self[w1]), matutils.unitvec(self[w2])) 
File "C:\Users\XXX\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 567, in __getitem__ 
return self.word_vec(words) 
File "C:\Users\XXX\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 271, in word_vec 
return self.syn0[self.vocab[word].index] 
IndexError: list index out of range 

私はデバッグする場合、問題は、機能word_vecにこの行から来ているようだ:

return self.syn0[self.vocab[word].index] 

しかし、私は、なぜ私はこれを得ているのか分からない。あなたが私にこれを手伝ってもらえれば、ありがとうございます。

+1

それぞれ次のようなものが返されます。(1) 'model.wv ['man']'; (2) 'model.wv ['woman']'; (3) 'len(model.wv.syn0)'; (4) 'model.wv.vocab ['man']。index'; (5) 'model.wv.vocab ['女性']。インデックス'? – gojomo

答えて

0

「女性」や「男性」のようなサウンドは、あなたの語彙の一部ではないかもしれません。最初にチェックするのは、ロード中のモデルで発生するかどうかです。

関連する問題