如何用新词汇逐步训练word2vec模型

时间:2019-11-19 02:14:35

标签: python word2vec

我有一个超过40G的数据集。由于内存有限,令牌生成器的程序被杀死,因此我尝试拆分数据集。如何逐步训练word2vec模型,即如何使用单独的数据集训练一个word2vec模型?

我当前的word2vec代码是:

model = gensim.models.Word2Vec(documents, size=150, window=10, min_count=1, workers=10)
model.train(documents,total_examples=len(documents),epochs=epochs)
model.save("./word2vec150d/word2vec_{}.model".format(epochs))

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:使用PathLineSentences。非常快。逐步训练word2vec模型不能学习新词汇,但是“ PathLineSentences”可以。

from gensim.models.word2vec import PathLineSentences
model = Word2Vec(PathLineSentences(input_dir), size=100, window=5, min_count=5, workers=multiprocessing.cpu_count() * 2, iter=20,sg=1)

对于单个文件,请使用LineSentences。

from gensim.models.word2vec import LineSentence
model = Word2Vec(PathLineSentences(file), size=100, window=5, min_count=5, workers=multiprocessing.cpu_count() * 2, iter=20,sg=1)