0

我有两个来自同一领域的语料库,但有时间变化,比如十年。我想在它们上训练 Word2vec 模型,然后研究影响语义转变的不同因素。

我想知道如何使用第一个模型的嵌入初始化第二个模型,以尽可能避免共现估计中方差的影响。

4

1 回答 1

1

在幼稚和简单的层面上,您可以只加载一个现有模型和.train()新数据。但请注意,如果这样做:

  • 模型未知的任何单词都将被忽略,并且提供算法步骤的单词频率将仅来自初始调查
  • 虽然当前语料库中的所有单词都将获得与它们的外观(和您的设置)一样多的训练更新epochs,因此被任意轻推——远离它们的原始模型位置,其他来自种子模型的词将保持在它们原来的位置. 但是,只有在同一培训课程中单词之间的交错拔河才能使它们具有有用的可比性。因此,进行这种顺序训练——在新的训练会话中只更新一些词——可能会以难以衡量的方式降低词对词比较的意义。

另一种可能值得尝试的方法是在组合语料库上训练单个模型 - 但以某些方式转换/重复特定于时代的文本/单词,以便能够区分早期用法和后期用法。在先前的几个答案中,在词向量随使用时代变化的情况下,有关此建议的更多详细信息:

https://stackoverflow.com/a/57400356/130288

https://stackoverflow.com/a/59095246/130288

于 2021-08-28T20:15:50.303 回答