【发布时间】:2020-12-10 22:28:42
【问题描述】:
使用 Gensim 包,我在我正在使用的语料库上训练了一个 word2vec 模型,如下所示:
word2vec = Word2Vec(all_words, min_count = 3, size = 512, sg = 1)
使用 Numpy,我已经初始化了一个具有相同维度的随机数组:
vector = (rand(512)-0.5) *20
现在,我想从 word2vec 中找到与我初始化的随机向量最相似的单词。
对于word2vec中的单词,可以运行:
word2vec.most_similar('word')
输出是一个列表,其中包含最相似的单词及其相应的距离。
我想为我的初始化数组获得类似的输出。
但是,当我运行时:
word2vec.most_similar(vector)
我收到以下错误:
Traceback (most recent call last):
File "<ipython-input-297-3815cf183d05>", line 1, in <module>
word2vec.most_similar(vector)
File "C:\Users\20200016\AppData\Local\Continuum\anaconda3\lib\site-packages\gensim\utils.py", line 1461, in new_func1
return func(*args, **kwargs)
File "C:\Users\20200016\AppData\Local\Continuum\anaconda3\lib\site-packages\gensim\models\base_any2vec.py", line 1383, in most_similar
return self.wv.most_similar(positive, negative, topn, restrict_vocab, indexer)
File "C:\Users\20200016\AppData\Local\Continuum\anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 549, in most_similar
for word, weight in positive + negative:
TypeError: cannot unpack non-iterable numpy.float64 object
我可以做些什么来克服这个错误并找到与我的数组最相似的单词?
【问题讨论】:
标签: python numpy typeerror gensim word2vec