如何在gensim中获取给定主题的文档向量

How to get document vectors for a given topic in gensim

我有大约 9000 个文档,我正在使用 Gensim 的 doc2vec 来嵌入我的文档。我的代码如下:

from gensim.models import doc2vec
from collections import namedtuple

dataset = json.load(open(input_file))

docs = []
analyzedDocument = namedtuple('AnalyzedDocument', 'words tags')

for description in dataset:
    tags = [description[0]]
    words = description[1]
    docs.append(analyzedDocument(words, tags))

model = doc2vec.Doc2Vec(docs, vector_size = 100, window = 10, min_count = 1, workers = 4, epochs = 20)

我想获取与主题 "deep learning" 相关的所有文档。即主要包含深度学习相关内容的文档。是否可以在 gensim 的 doc2vec 模型中执行此操作?

如果需要,我很乐意提供更多详细信息。

如果你的训练集中有一个文档是 "deep learning" 的一个很好的例子——比如说,docs[17]——那么在成功训练之后你可以请求与该示例文档相似的文档,并且那可能就是您所需要的。例如:

sims = model.docvecs.most_similar(docs[17].tags[0])

然后,您将在 sims 中获得 10 个 most-similar 文档的排名、评分列表到目标文档的 tag