我有一个数据集,文档分为不同的年份,我的目标是为每年的数据训练一个嵌入模型,同时,不同年份出现的相同单词将具有相似的向量表示。像这样:对于单词' compute',它在第1年的向量是
[0.22, 0.33, 0.20]
并且在第2年它有些东西:
[0.20, 0.35, 0.18]
有没有办法实现这个目标?例如,使用两个初始值训练第2年的模型(如果该词在第1年已经训练,修改其向量)和随机性(如果这是语料库的新词)。
答案 0 :(得分:0)
我认为最简单的解决方案是在训练第一个数据集后保存嵌入,然后加载训练模型并继续训练第二个数据集。这样你就不应该期望嵌入物远离保存的状态(除非你的数据集非常不同)。
从所有文档创建单个词汇表也是有意义的:特定文档中不存在的词汇单词将获得一些随机表示,但它仍然是一个有效的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