python - 如何使用新词汇增量训练 word2vec 模型

标签 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))

如有任何帮助,我们将不胜感激!

最佳答案

我找到了解决方案:使用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(LineSentence(file), size=100, window=5, min_count=5, workers=multiprocessing.cpu_count() * 2, iter=20,sg=1)
...

关于python - 如何使用新词汇增量训练 word2vec 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58925659/

相关文章:

python - Beautifulsoup - 如何获取某个类的 block 内的所有链接?

python - 如何在不手动下载模型的情况下访问/使用 Google 的预训练 Word2Vec 模型?

python - Word2Vec min_count 是如何应用的

python - tensorflow word2vec 基本输入输出占位符

python - 获取 "__init__() got an unexpected keyword argument ' 文档 '"this error in python I' m 使用 Word2Vec 和 gensim

python - 测试 numpy 数组中的行是否与给定行相同或每个元素不同

python - 有没有办法创建 Alexa 智能家居组并根据发现的设备以编程方式预先填充它?

python - 有效地对 numpy 矩阵的行进行排序

python - 基于多个条件的重复数据删除 python 列表

word2vec - 如何构建合适的 H2O word2vec 训练框架