gpt4 book ai didi

gensim - 当dbow_words设置为1或0时,doc2vec模型之间有什么不同?

转载 作者:行者123 更新时间:2023-12-04 22:42:10 24 4
gpt4 key购买 nike

我阅读了page,但我不了解基于以下代码构建的模型之间的区别。
我知道dbow_words为0时,对文档向量的训练会更​​快。

第一个模型

model = doc2vec.Doc2Vec(documents1, size = 100, window = 300, min_count = 10, workers=4)

第二种模式
model = doc2vec.Doc2Vec(documents1, size = 100, window = 300, min_count = 10, workers=4,dbow_words=1)

最佳答案

dbow_words参数仅在训练DBOW模型时才有效–
也就是说,使用非默认的dm=0参数。

因此,在您的两个示例代码行之间都保持默认的dm=1值不变,这没有什么区别。

如果改为改用DBOW训练dm=0,然后使用默认的dbow_words=0设置,则该模型是纯PV-DBOW,如原始“段落向量”论文中所述。 Doc-vector被训练为可以预测文本示例单词,但是没有单词-vector被训练。 (模型中仍然会有一些随机初始化的单词向量,但是在训练过程中并没有使用或改进它们。)此模式非常快速,并且效果很好。

如果添加dbow_words=1设置,则会以交错方式将跳克单词向量训练添加到训练中。 (对于每个文本示例,将训练整个文本上的两个doc矢量,然后训练每个滑动上下文窗口上的单词矢量。)由于这会增加更多的训练示例,这是window参数的函数,因此速度会明显变慢。 (例如,使用window=5,添加单词训练将使训练速度降低约5倍。)

这具有将DBOW文档向量和词向量都放置在“相同空间”中的好处-也许使doc向量通过与词的接近性更易于解释。

这种混合训练可以作为一种语料库扩展(将每个上下文窗口转换为一个迷你文档),从而有助于提高生成的doc-vector嵌入的表达能力。 (尽管,尤其是在具有足够大且多样化的文档集的情况下,与具有更多遍数的纯DBOW相比可能是值得的。)

关于gensim - 当dbow_words设置为1或0时,doc2vec模型之间有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44011706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com