gensim Doc2Vec 能否用于将新文档与训练模型进行比较?

Can gensim Doc2Vec be used to compare a novel document to a trained model?

我有一组文档都符合预定义的类别,并且已经成功地根据这些文档训练了一个模型。

问题是,如果我有一个新文档,我如何计算这个新文档与我训练的模型的吻合程度?

我目前的解决方案:

novel_vector = model.infer_vector(novel_doc_words, steps = 20)
similarity_scores = model.docvecs.most_similar([novel_vector])
average = 0
for score in similarity_scores:
  average += score[1]
overall_similarity = average/len(similarity_scores)

我在文档中找不到任何方便的方法

对于整个模型,没有内置方法来检查这种 "lines up with" 值。

匹配现有能力的更典型的方法是在多种文档上训练模型——而不仅仅是特定类别的文档。然后,在推断出新文档的向量后,计算它与感兴趣类别的文档的平均距离。

如果您改为仅在某个自相似类别的文档上训练模型,则学习到的坐标 -space 将无法反映 外部可能文档的全部范围那个类别。

就是说,如果您当前的代码(检查新文档与前 N 个最近的邻居的相似程度)似乎为您的目的提供了良好的结果,那么它可能是可以接受的。我只是希望从经过更广泛文档训练的模型中获得更好的结果。