【问题标题】:What is different between doc2vec models when the dbow_words is set to 1 or 0?当 dbow_words 设置为 1 或 0 时,doc2vec 模型有什么不同?
【发布时间】:2023-03-08 08:08:01
【问题描述】:

我读了这个page,但我不明白基于以下代码构建的模型之间有什么不同。 我知道当 dbow_words 为 0 时,训练 doc-vectors 会更快。

第一个模型

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)

【问题讨论】:

    标签: gensim doc2vec


    【解决方案1】:

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

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

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

    如果您添加dbow_words=1 设置,那么skip-gram 词向量训练将以交错方式添加到训练中。 (对于每个文本示例,将训练整个文本上的两个文档向量,然后是每个滑动上下文窗口上的词向量。)由于这增加了更多的训练示例,作为window 参数的函数,它将是明显变慢。 (例如,使用window=5,添加单词训练将使训练速度降低约 5 倍。)

    这样做的好处是将 DBOW 文档向量和单词向量放在“相同的空间”中——也许通过它们与单词的接近度来使文档向量更易于解释。

    这种混合训练可以作为一种语料库扩展——将每个上下文窗口变成一个迷你文档——这有助于提高生成的文档向量嵌入的表现力。 (尽管如此,特别是对于足够大且多样化的文档集,它可能值得与具有更多通道的纯 DBOW 进行比较。)

    【讨论】:

    • @goiomo 你写了''这有利于将 DBOW 文档向量和单词向量放置在“相同的空间”中。这是否意味着在其他构建 doc2vec 模型的方法中 word2vec 向量和 doc2vec 向量不在同一个空间中?
    • 在没有dbow_words=1 的 PV-DBOW (dm=0) 中,词向量没有经过训练 - 保持随机。在 PV-DM (dm=1) 中,文档向量和词向量被平均在一起,因此它们再次位于“相同空间”中以进行比较。在高级/实验dm_concat=1 模式下(添加到dm=1 并且不推荐)文档向量和词向量在不同的位置输入到预测神经网络,因此可能无法比较——本质上来自不同的空间.
    • @gojomo 在同一个模型中同时拥有 docvecs 和 wv 有什么好处。我们不应该分别使用 Word2Vec 和 Doc2Vec 吗?
    • 一些 Doc2Vec 模式固有地使词向量与文档向量同时生成。 (在这种情况下,gensim 实现会共享大量代码。)并且 Paragraph-Vectors Doc2Vec 的任何模式都不需要词向量作为开头的输入。 (“段落向量”算法不是一个两阶段的过程,首先是词向量,然后是文档向量。如果它完全使用词向量,它们从一开始就被共同训练带有文档向量。)
    • 所以,如果您只需要词向量,当然,只需使用Word2Vec。如果您只需要文档向量,请在不创建词向量的模式下使用Doc2Vec(纯 PV-DBOW,dm=0, dbow_words=1)或也恰好创建词向量但只是选择忽略它们。如果您需要来自相同数据的两者,请使用Doc2Vec 模式,该模式还可以创建词向量(例如 PV-DM dm=1 或 PV-DBOW-with-interleaved-skip-gram-word-training、dm=0, dbow_words=1) .如果您需要两者但分两个单独的步骤进行,您将花费更多时间进行训练,并且这些向量不会天生兼容。
    猜你喜欢
    • 2021-07-23
    • 2016-03-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    相关资源
    最近更新 更多