【问题标题】:How to get word vectors from a gensim Doc2Vec?如何从 gensim Doc2Vec 中获取词向量?
【发布时间】:2016-09-17 01:53:22
【问题描述】:

我训练了一个 gensim.models.doc2vec.Doc2Vec 模型
d2v_model = Doc2Vec(sentences, size=100, window=8, min_count=5, workers=4) 我可以通过 docvec = d2v_model.docvecs[0]

如何从经过训练的模型中获取词向量?

【问题讨论】:

    标签: gensim word2vec doc2vec


    【解决方案1】:

    Doc2Vec 继承自 Word2Vec,因此您可以像在 Word2Vec 中一样直接通过索引模型来访问词向量:

    wv = d2v_model['apple']
    

    但是请注意,像纯 DBOW (dm=0) 这样的 Doc2Vec 训练模式不需要或创建词向量。 (纯 DBOW 在许多用途中仍然运行良好且快速!)如果您确实从这样的模型访问词向量,它们将只是自动随机初始化的向量,没有任何意义。

    仅当 Doc2Vec 模式本身共同训练词向量时,如在 DM 模式(默认 dm=1)或向 DBOW(dm=0, dbow_words=1)添加可选的词训练时,词向量和文档向量两者同时学习。

    【讨论】:

      【解决方案2】:

      如果你想得到所有训练好的文档向量,你可以很容易地使用 model.docvecs.doctag_syn0。如果要获取索引文档,可以使用model.docvecs[i]。 如果你正在训练一个 Word2Vec 模型,你可以得到model.wv.syn0。 如果您想了解更多,请查看此 github 问题链接:(https://github.com/RaRe-Technologies/gensim/issues/1513)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-17
        • 2017-10-09
        • 2015-02-12
        • 2018-08-14
        • 1970-01-01
        • 1970-01-01
        • 2019-08-24
        相关资源
        最近更新 更多