如何在python中的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)

我已经看到gensim doc2vec还包括单词向量假设我有一个为单词创建的单词向量deep learning我的问题是;是否有可能在gensim中获取documents最接近deep learning单词向量的python?

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

五条魔

一些Doc2Vec模式将在“相同空间”中共同训练doc向量和word向量。然后,如果您有一个用于的单词向量'deep_learning',则可以在该向量附近索取文档,结果可能对您有用。例如:

similar_docs = d2v_model.docvecs.most_similar(
                   positive=[d2v_model.wv['deep_learning']]
               )

但:

  • 这只会与您的模型'deep_learning'作为一个词所学到的意思一样好

  • 一组适合该类别'deep_learning'(和其他类别)的已知良好文档的培训可能会更好-无论您是手工整理这些文件,还是尝试从其他来源进行引导(例如Wikipedia类别“深度学习”或其他策划/搜索-您信任的结果集)。

  • 将类别简化为一个汇总点(一个向量)可能不如拥有多个适合该类别的示例(许多点)那样差。(相关文档可能不是汇总点周围的整洁球体,而是填充了doc-vector高维空间的奇异形状区域。)如果每个类别都有很多不错的示例,则可以训练分类器以然后为其他未分类的文档添加标签,或在与培训类别的关系中进行排名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章