【发布时间】:2019-03-22 15:08:47
【问题描述】:
当我尝试找出与我的示例文档最相似的文档时,我正在使用预训练的 doc2vec 模型。它给了我不受支持的操作数类型错误。
from gensim.models import Doc2Vec
filename = "doc2vec.bin"
doc1 =["This is a sample document."]
model = Doc2Vec.load(filename)
inferred_vector = model.infer_vector(doc1)
sims = model.docvecs.most_similar(positive=[inferred_vector],topn=1)
print(sims)
这给了我以下错误
File "D:\doc2vectest.py", line 10, in <module>
sims = model.docvecs.most_similar(positive=[inferred_vector],topn=1)
File "C:\Users\admin\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 1667, in most_similar
self.init_sims()
File "C:\Users\admin\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 1630, in init_sims
self.vectors_docs_norm = _l2_norm(self.vectors_docs, replace=replace)
File "C:\Users\admin\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 2346, in _l2_norm
dist = sqrt((m ** 2).sum(-1))[..., newaxis]
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
【问题讨论】:
标签: machine-learning nlp gensim word-embedding doc2vec