使用Gensim的Doc2Vec如何找到Doctag和infer_vector()之间的距离
非常感谢
发布于 2018-09-25 01:11:51
Doctag是文档向量密钥的内部名称。infer_vector()操作的结果是向量。所以,正如你所问的,这些都是不可比拟的。
您可以通过在培训期间通过model.docvecs[doctag]提供的doc密钥来请求一个已知文档向量的模型。这将与infer_vector()调用的结果相比较。
有了两个矢量,您可以使用scipy例程来计算各种距离。例如:
import scipy.spatial.distance.cosine as cosine_distance
vec_by_doctag = model.docvecs["doc0007"]
vec_by_inference = model.infer_vector(['a', 'cat', 'was', 'in', 'a', 'hat'])
dist = cosine_distance(vec_by_doctag, vec_by_inference)您还可以查看gensim的Doc2VecKeyedVectors是如何在模型中的similarity()和distance()函数中(通过它们的doctag键名)所知的向量之间进行相似性/距离的,在:
https://stackoverflow.com/questions/52488877
复制相似问题