1

执行代码时出现以下错误

Traceback (most recent call last):
  File "test.py", line 21, in <module>
    print model.most_similar(positive=['男人'])
  File "/usr/local/lib/python2.7/dist-packages/gensim/models/word2vec.py", line 660, in most_similar
    raise KeyError("word '%s' not in vocabulary" % word)
KeyError: "word '\xe7\x94\xb7\xe4\xba\xba' not in vocabulary"

我的代码在这里

 # -*- coding: utf8 -*    
    from gensim.models import word2vec
    import logging

logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
        sentences = word2vec.Text8Corpus('/tmp/text8')
        model = word2vec.
    Word2Vec(sentences, size=200)
        model.most_similar(['男人'])
4

1 回答 1

1

“它通过以下更改起作用。model.most_similar([u'男人'])”

这意味着您可能正在使用 utf-8 编码的字符串而不是 unicode 字符串,一个好的做法是使用 unicode 对输入工作进行解码,然后在输出上进行编码。

.decode('utf-8')你的字符串

于 2015-08-03T07:02:12.963 回答