我有两个不同的语料库,我想要的是用两者来训练模型并且做它我认为它可能是这样的:
model.build_vocab(sentencesCorpus1)
model.build_vocab(sentencesCorpus2)
会不会?
答案 0 :(得分:0)
否:每当你打电话给build_vocab(corpus)
时,它就会从头开始创造一个新的词汇 - 丢弃任何先前的词汇。
您可以为build_vocab()
,update=True
提供可选参数,该参数会尝试添加到现有词汇表中。但是:
它没有考虑到Doc2Vec
进行设计/测试,截至目前(2018年2月),将其与Doc2Vec
一起使用不太可行,并且经常导致记忆 - 故障崩溃。 (见https://github.com/RaRe-Technologies/gensim/issues/1019。)
最好train()
将所有可用数据放在一起 - 对train()
的任何类型的多次调用,每次都有不同的数据子集,引入了其他模糊的权衡模型质量/正确性容易出错。 (并且,在调用train()
时,请确保为其所需参数提供正确的值 - 大多数在线示例中显示的做法通常仅适用于build_vocab()
被调用一次的情况,完全相同稍后调用train()
的文本。)