【问题标题】:How doc2vec creates vector for sentencedoc2vec 如何为句子创建向量
【发布时间】:2018-10-31 03:47:39
【问题描述】:

我正在使用 Doc2vec 进行文本分类。它正在为具有给定大小的句子创建一个向量(例如:100,向量长度)。我无法理解它如何创建该长度的向量。

我关注this link。在这里,他们正在为句子创建一个向量,该向量将保存在 doc2v 模型中,我不能将此模型用于新数据(生产数据)进行测试,因为没有新句子的向量。显示新数据时出错

KeyError: "tag 'Test_2028' not seen in training corpus/invalid"

【问题讨论】:

    标签: python machine-learning data-science word2vec doc2vec


    【解决方案1】:

    如果您使用训练数据创建了一个gensimDoc2Vec 模型,它只会知道训练数据中存在的文档标签的训练向量。

    但是,还有infer_vector() 方法可以推断出新文本的兼容文档向量。新文本应该与训练数据一样被标记化,并作为字符串标记列表传递给infer_vector()

    【讨论】:

      【解决方案2】:

      Doc2Vec 概念

      doc2vec 的目标是创建文档的数字表示,而不管其长度如何。但与单词不同的是,文档不具有单词等逻辑结构,因此必须找到另一种方法。

      Mikolov 和 Le 使用的概念简单而巧妙:他们使用了 word2vec 模型,并添加了另一个向量 paragraph_ID,它是文档唯一的。现在,我们不仅使用单词来预测下一个单词,还添加了另一个特征向量。

      因此,在训练词向量 W 时,文档向量 paragraph_ID 也会被训练,并且在训练结束时,它会保存文档的数字表示。

      您可以阅读更多关于它的信息here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多