Gensim Word2Vec 训练语料库中的重复

the repetitions in Gensim Word2Vec training corpus

我正在使用 Gensim 在与不同年份有关的不同语料库上训练 Word2Vec 嵌入,以比较嵌入向量。 我的问题是:如果我重复特定年份的文件两次,而另一年的文件只重复一次,那么生成的嵌入是否会给重复的文件更多的权重? 我想制作一个语料库,该语料库对最近的文档给予更多的权重,而对过去的文档给予更少的权重。 我只是在 Line Sentence 语料库文件上训练模型。

Word2Vec(corpus_file=corpus, vector_size=100, window=5, min_count=5, workers=4)

当然,重复一些文本(甚至比 epochs 计数控制的重复次数更多)意味着它们会对最终模型产生更大的影响。

一般来说,重复相同的文本不如相同单词的真正不同的替代示例好。例如,如果您只有一个文本使用某个词,重复它 5 次可能会使该词在 min_count=5 截断后仍然存在,但是缺少许多微妙对比的外观意味着它的最终向量将只反映一个奇特的,反复使用。人们通常寻求的那种良好的相对词向量位置需要在一个词的所有使用方式之间进行训练war。

但是,在这种情况下,您仍然应该有很多示例,您只是对其中一些示例进行了过度训练。

请注意,确保重复在整个语料库中被打乱,至少在训练开始前打乱一次,而不是全部聚类在一起可能会好一点。 (连续重复 10 次文本会使那些 words/contexts 过度训练——但不会像与所有其他不同权重的训练交织在一起那样平衡。)

而且,您可能不希望将重复 5 次的子集中所有出现 1 次的词都转为自动在 min_count 剪切中幸存下来 - 因为它们仍然只有一个真正的弱上下文示例.因此,您可能想从未重新加权的语料库中学习词汇,然后在新语料库上进行人工重复训练(确保为您的 .train() 调用提供正确的新 total_examples 计数报告进度并适当调整学习率)。