H2O Word2Vec 向量不一致

H2O Word2Vec inconsistent vectors

我有一个关于特定主题的一般性问题。

我正在使用 Word2Vec 生成的向量作为特征输入到我的分布式随机森林模型中以对一些记录进行分类。我有数百万条记录,并且每天都会收到新记录。由于新记录的到来,我希望新记录使用与先前记录相同的矢量模型进行编码。这意味着单词 "AT" 现在和将来都是同一个向量。 我知道 Word2Vec 使用随机种子为语料库中的单词生成向量,但我想关闭它。我需要设置种子,这样如果我今天在一部分数据上训练一个模型,然后在将来再次训练相同的数据,我希望它为每个单词生成具有完全相同向量的相同模型。 生成新模型然后编码的问题在于,对这些记录进行编码需要花费大量时间,而且最重要的是,我的 DRF 分类模型不再适用,因为单词的向量已经改变。所以我必须重新训练一个新的 DRF。 通常这不是问题,因为我可以每个训练一个模型然后永远使用它;但是我知道一个好的做法是定期更新您的包。这是 h2o 的问题,因为一旦更新,就无法与以前版本生成的模型进行向后比较。

关于如何在 python 中为 h2o 的 Word2Vec 模型设置种子,我可以阅读任何资源吗?我正在使用 Python 版本 3 和 h2o 版本 3.18

h2o-3 中的 word2vec 使用 hogwild 实现 - 模型参数从多个线程同时更新,并且无法保证此实现中的再现性。

你的文本语料库有多大?以模型训练速度减慢为代价,您可以通过将算法限制为仅使用单个线程(h2o 启动参数 -nthread)来获得可重现的结果。