我可以使用 gensim word2vec 或 doc2vec 分两次构建 vocaburay 吗?

Can i build vocaburay in twice with gensim word2vec or doc2vec?

我有两个不同的语料库,我想要的是用两者训练模型并做到这一点我认为它可能是这样的:

model.build_vocab(sentencesCorpus1)
model.build_vocab(sentencesCorpus2)

可以吗?

否:每次调用 build_vocab(corpus) 时,它都会从头开始创建新的词汇表——丢弃任何先前的词汇表。

您可以向 build_vocab()update=True 提供一个可选参数,它会尝试添加到现有词汇表中。然而:

  • 它不是 designed/tested 考虑到 Doc2Vec,截至目前(2018 年 2 月),将它与 Doc2Vec 一起使用不太可能并且经常导致 memory-fault 崩溃。 (参见 https://github.com/RaRe-Technologies/gensim/issues/1019。)

  • 仍然最好 train() 将所有可用数据放在一起 - 任何类型的 multiple-calls 到 train(),每次都有不同的数据子集,引入其他模糊模型 quality/correctness 中的权衡很容易出错。 (并且,当调用 train() 时,一定要为其所需参数提供正确的值——大多数在线示例中显示的做法通常仅适用于 build_vocab() 被调用一次的情况,并且具有完全相同的稍后调用 train().)

  • 的文本