问题描述
我已经使用大小为512的Gensim软件包训练了一个名为word_vectors
的word2vec模型。
fname = get_tmpfile('word2vec.model')
word_vectors = KeyedVectors.load(fname,mmap='r')
现在,我创建了一个新的Numpy数组(大小也为512),并将其添加到word2vec中,如下所示:
vector = (rand(512)-0.5) *20
word_vectors.add('koffie',vector)
即使在我打电话时,这样做似乎也很好
word_vectors['koffie']
我得到了预期的数组作为输出。
但是,当我想在模型中查找最相似的词并运行以下代码时:
word_vectors.most_similar('koffie')
我收到以下错误:
Traceback (most recent call last):
File "<ipython-input-283-ce992786ce89>",line 1,in <module>
word_vectors.most_similar('koffie')
File "C:\Users\20200016\AppData\Local\Continuum\anaconda3\envs\ldaword2vec\lib\site-packages\gensim\models\keyedvectors.py",line 553,in most_similar
mean.append(weight * self.word_vec(word,use_norm=True))
File "C:\Users\20200016\AppData\Local\Continuum\anaconda3\envs\ldaword2vec\lib\site-packages\gensim\models\keyedvectors.py",line 461,in word_vec
result = self.vectors_norm[self.vocab[word].index]
IndexError: index 146139 is out of bounds for axis 0 with size 146138
word_vector.size()
Traceback (most recent call last):
File "<ipython-input-284-2606aca38446>",in <module>
word_vector.size()
NameError: name 'word_vector' is not defined
该错误似乎表明我的索引在这里不正确。但是由于我只是间接索引(使用键而不是实际的数字索引),因此我看不到需要在此处进行更改。
谁知道这里出了什么问题?而我该如何克服这个错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)