使用 doc2vec 获取所有类似的文档

Get all similar documents with doc2vec

我实际上正在使用 gensim 库中的 doc2vec,我想获得与概率的所有相似性,而不仅仅是 model.docvecs.most_similar()

提供的前 10 个相似性

我的模型训练完成后

In [1]: print(model)
Out [1]: Doc2vec(...)

如果我使用 model.docvecs.most_similar() 我只会得到前 10 个相似的文档

In [2]: model.docvecs.most_similar('1')
Out [2]: [('2007', 0.9171321988105774),
 ('606', 0.5638039708137512),
 ('2578', 0.530228853225708),
 ('4506', 0.5193327069282532),
 ('2550', 0.5178008675575256),
 ('4620', 0.5098666548728943),
 ('1296', 0.5071642994880676),
 ('3943', 0.5070815086364746),
 ('438', 0.5057751536369324),
 ('1922', 0.5048809051513672)]

而且我希望获得所有可能性,而不仅仅是前 10 名的一些分析。

感谢您的帮助:)

most_similar() 有一个可选的 topn 参数,默认值为 10,这意味着只返回前 10 个结果。

如果您提供另一个整数,例如模型已知的 doc-vectors 的总数,那么将提供那么多排序结果。

(您还可以提供 Python None,其中 returns 所有相似点 未排序 ,与存储向量的顺序相同在模型中。)

请注意这些值是 余弦相似度,值的范围从 -1.0 到 1.0,不是 'probabilities'。