我有一个数据集,其中的文档分为不同年份,我的目标是为每年的数据训练一个嵌入模型,同时,不同年份出现的相同单词将具有相似的向量表示。像这样:对于单词“compute”,它在第一年的向量是
[0.22, 0.33, 0.20]
在第二年,情况是这样的:
[0.20, 0.35, 0.18]
有办法实现这一点吗?例如,使用初始值(如果该单词已在第一年训练过,则修改其向量)和随机性(如果这是语料库的新单词)来训练第 2 年的模型。
最佳答案
我认为最简单的解决方案是在第一个数据集上训练后保存嵌入,然后加载训练后的模型并继续对第二个数据集进行训练。这样,您就不应该期望嵌入会偏离保存的状态太多(除非您的数据集非常不同)。
从所有文档创建单个词汇表也是有意义的:特定文档中不存在的词汇表单词将获得一些随机表示,但它仍然是一个有效的 word2vec 模型。
示例来自 documentation :
>>> model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4)
>>> model.save(fname)
>>> model = Word2Vec.load(fname) # continue training with the loaded model
关于machine-learning - 使用初始值进行 Gensim 词嵌入训练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48164954/