Gensim实现中的DBOW doc2vec的word2vec映射来自哪里?

时间:2019-06-06 18:51:00

标签: gensim word2vec doc2vec

我正在尝试将gensim用于doc2vec和word2vec。

由于PV-DM方法可以同时生成word2vec和doc2vec, 我认为PV-DM是使用的正确模型。

因此,我通过为PV-DM指定gensim使用dm=1创建了一个模型

我的问题如下:

  1. 当我在Doc2vec对象上调用train时,word2vec模型与doc2vec一起训练是真的吗?

  2. 似乎属性wv包含word2vec,甚至在训练之前就可用。这是word2vec的静态版本吗?

  3. 我还创建了DBOW模型,并注意到它还包含wv。这也是我在上一个问题中提到的word2vec的静态版本吗?

1 个答案:

答案 0 :(得分:1)

(1)是的,在PV-DM模式下,单词向量与doc向量同时训练。

(2)训练发生之前wv属性的内容是随机初始化的,未经训练的单词向量。 (与word2vec中一样,所有向量都获得随机的低幅度起始位置。)

(3)在纯PV-DBOW模式(dm=0)中,由于代码共享,wv向量仍被分配和初始化-但从未受过训练。在PV-DBOW训练结束时,wv字向量将保持不变,因此是随机/无用的。 (他们根本不参加培训。)

如果启用了可选的dbow_words=1参数,则跳过语法字向量训练将与普通PV-DBOW训练混合。这将以交错方式完成,因此每个目标词(待预测)将用于训练PV-DBOW文档向量,然后训练相邻的上下文词向量。结果,将训练wv字向量,并在“相同空间”中对doc向量进行有意义的比较。

使用此选项,培训将比在普通PV-DBOW中花费更长的时间(受window大小的影响)。对于任何特定的最终目的,此模式下的文档向量可能会更好(如果单词到单词的预测有效地帮助以有用的方式扩展了语料库),或者更糟(如果模型在单词到单词上花费了很多精力单词预测有效地淡化/淹没了整个文档的文档到单词的预测中的其他模式。