如何在 word2vec.similarity 中使用列表
How to use a list in word2vec.similarity
我有一个使用预训练的 GoogleNews-vectors-negative300.bin 的 word2vec 模型。该模型运行良好,我可以得到这两个词之间的相似之处。例如:
word2vec.similarity('culture','friendship')
0.2732939
现在,我想使用列表元素而不是单词。例如,假设我有一个名称为 "tag" 的列表。第一行的前两个元素是文化和友谊。因此,tag[0,0]= 文化,tag[0,1]= 友谊。
我使用下面的代码,它给我一个错误:
word2vec.similarity(tag[0,0],tag[0,1])
"tag" 列表是 numpy.ndarray
错误是:
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"
根据你的问题,如果标签是 python-list.Then 问题是你不能用元组索引列表。
如果您的列表类似于 [["culture","friendship"],[...]...]
那么你应该写 word2vec.similarity(tag[0][0],tag[0][1])
我觉得你的'friendship'这个词前导空格。
你能试试这个吗:
word2vec.similarity(tag[0,0].strip(),tag[0,1].strip())
我有一个使用预训练的 GoogleNews-vectors-negative300.bin 的 word2vec 模型。该模型运行良好,我可以得到这两个词之间的相似之处。例如:
word2vec.similarity('culture','friendship')
0.2732939
现在,我想使用列表元素而不是单词。例如,假设我有一个名称为 "tag" 的列表。第一行的前两个元素是文化和友谊。因此,tag[0,0]= 文化,tag[0,1]= 友谊。 我使用下面的代码,它给我一个错误:
word2vec.similarity(tag[0,0],tag[0,1])
"tag" 列表是 numpy.ndarray
错误是:
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"
根据你的问题,如果标签是 python-list.Then 问题是你不能用元组索引列表。
如果您的列表类似于 [["culture","friendship"],[...]...]
那么你应该写 word2vec.similarity(tag[0][0],tag[0][1])
我觉得你的'friendship'这个词前导空格。
你能试试这个吗:
word2vec.similarity(tag[0,0].strip(),tag[0,1].strip())