我不明白在DBOW模式(doc2vec)中gensim的dm=0
在训练过程中如何涉及单词向量。我知道它默认使用dbow_words=0
禁用。但是当我们将dbow_words
设置为1时会发生什么?
在我对DBOW的理解中,直接从段落向量预测上下文单词。所以模型的唯一参数是N
p
维段落向量加上分类器的参数。
但是多个消息来源暗示在DBOW模式下可以共同训练单词和doc向量。例如:
那么,这是怎么做到的?任何澄清将非常感谢!
注意:对于DM,段落向量与单词向量进行平均/连接以预测目标单词。在这种情况下,很明显,单词向量与文档向量同时进行训练。并且有N*p + M*q + classifier
参数(其中M
是词汇大小和q
词向量空间昏暗)。
如果设置dbow_words=1
,则将skip-gram字矢量训练添加到训练循环中,与正常的PV-DBOW训练交错。
因此,对于文本中的给定目标词,首先使用候选doc-vector(单独)来尝试预测该词,然后对模型和doc-vector进行反向传播调整。然后,每次使用一堆周围的单词,一次一个地以跳过 - 克的方式,尝试预测相同的目标单词 - 进行后续调整。
然后,文本中的下一个目标词获得相同的PV-DBOW加上skip-gram处理,依此类推,依此类推。
作为一些逻辑后果:
window
参数window
参数的因子