在doc2vec DBOW中如何将单词向量与段落向量共同训练?

时间:2019-04-09 11:46:30

标签: gensim word2vec doc2vec

我不明白在genow的doc2vec处于DBOW模式(dm=0)的情况下,单词向量在训练过程中是如何涉及的。我知道默认情况下dbow_words=0禁用了它。但是,当我们将dbow_words设置为1时会发生什么?

在我对DBOW的理解中,上下文词是直接从段落向量中预测的。因此,模型的唯一参数是N p维段落向量以及分类器的参数。

但是有多个消息来源暗示,在DBOW模式下可以共同训练word和doc向量。例如:

那么,这是怎么做的? 任何澄清将不胜感激!

注意:对于DM,将段落向量与单词向量进行平均/串联以预测目标单词。在这种情况下,很明显单词向量与文档向量是同时训练的。并且有N*p + M*q + classifier个参数(其中M是词汇的大小和q词向量空间为暗)。

1 个答案:

答案 0 :(得分:1)

如果设置dbow_words=1,则将跳过语法图单词矢量训练添加到训练循环中,与常规PV-DBOW训练交错。

因此,对于文本中的给定目标词,首先使用候选文档向量(单独)来尝试预测该词,然后对模型和文档向量进行反向传播调整。然后,使用一组周围的单词,以跳跃语法的形式一次使用一个单词,以尝试预测相同的目标单词-进行后续调整。

然后,文本中的下一个目标单词将获得相同的PV-DBOW加上跳跃语法处理,依此类推,依此类推。

由此产生的一些逻辑后果:

  • 比普通PV-DBOW花费的时间更长-大约等于window参数的因数

  • 词向量总体上比doc向量获得更多的总体培训关注,再次达到了window参数