0
저는 PyCharm을 사용하고 Word2Vec을 사용하여 단어에 대해 교육 한 모델을로드하고 있습니다. 나는 두 단어 사이의 유사성을 확인했지만,이 오류가 얻을 :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]
그러나이 I 왜 내가 이걸 얻고 있는지 전혀 모른다. 이 일을 도와 주시면 미리 감사드립니다.
다음은 각각 무엇을 반환합니까? (1)'model.wv [ 'man']'; (2)'model.wv [ '여자']'; (3)'len (model.wv.syn0)'; (4)'model.wv.vocab [ 'man']. index'; (5)'model.wv.vocab [ '여자']. 인덱스'? – gojomo