我已经按照500.000文档的本教程培训了doc2vec模型。 https://github.com/abtpst/Doc2Vec/blob/master/trainDoc2Vec.py
但是,当我尝试为给定文档查找most_similar文档时,结果的相似度高于1.正如您在代码和输出中看到的,docvecs.similarity返回0.246,docvecs.most_similar返回9.996之间的相似性同样的两个文件。您可以在下面看到代码和输出:
from gensim.models import doc2vec
def myhash(obj):
return hash(obj) % (2 ** 32)
model = doc2vec.Doc2Vec(hashfxn=myhash)
model = doc2vec.Doc2Vec.load("d2v.model")
tag1 = "012020171590"
tag2 = "0109201716181"
print(tag1 in model.docvecs.doctags)
print(tag2 in model.docvecs.doctags)
print(model.docvecs.similarity(tag1, tag2))
print(model.docvecs.most_similar(tag1))
输出:
真
真
0.24682570854972158
[(' 0109201716181',9.996172904968262),(' 0120201611372',9.853036880493164),(' 010120166996',9.613503456115723),(' 012020173027&# 39;,8.97104263305664),(' 01202017423',8.886014938354492),(' 01002009541',8.783470153808594),(' 00002004106',8.682585716247559),(' 0109201616963',8.671405792236328),(' 011020171931',8.659266471862793),(' 011020175199',8.573907852172852)]
图书馆和系统版本:
的Linux-4.9.0-6-AMD64的x86_64的与 - Debian的9.4
Python 3.5.3(默认,2017年1月19日,14:11:04)
NumPy 1.14.3
SciPy 1.1.0
gensim 3.4.0
FAST_VERSION 1