<p>我有一个word2vec模型,使用预先训练好的GoogleNews-vectors-negative300.bin。模型工作得很好,我可以得到这两个词之间的相似之处。例如:</p>
<pre><code>word2vec.similarity('culture','friendship')
0.2732939
</code></pre>
<p>现在,我想使用列表元素而不是单词。例如,假设我有一个名为“tag”的列表。第一排的前两个要素是文化和友谊。所以,tag[0,0]=文化,tag[0,1]=友谊。
我使用以下代码,这给了我一个错误:</p>
<pre><code>word2vec.similarity(tag[0,0],tag[0,1])
</code></pre>
<p>“tag”列表是<code>numpy.ndarray</code></p>
<p>错误是:</p>
<pre><code>Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\s\AppData\Local\Programs\Python6436\Python36\lib\site-packages\gensim\models\keyedvectors.py", line 992, in similarity
return dot(matutils.unitvec(self[w1]), matutils.unitvec(self[w2]))
File "C:\Users\s\AppData\Local\Programs\Python6436\Python36\lib\site-packages\gensim\models\keyedvectors.py", line 337, in __getitem__
return self.get_vector(entities)
File "C:\Users\s\AppData\Local\Programs\Python6436\Python36\lib\site-packages\gensim\models\keyedvectors.py", line 455, in get_vector
return self.word_vec(word)
File "C:\Users\s\AppData\Local\Programs\Python6436\Python36\lib\site-packages\gensim\models\keyedvectors.py", line 452, in word_vec
raise KeyError("word '%s' not in vocabulary" % word)
KeyError: "word ' friendship' not in vocabulary"
</code></pre>