更新谷歌新闻 Word2vec 词嵌入?

数据挖掘 word2vec 词嵌入 nlp gensim
2022-03-13 00:09:36

是否可以使用自定义文本数据集(属于特定域的文本数据)更新 Google 新闻词嵌入?

Google News Word2Vec - Word Embedding显然可以帮助我们提供一组强大的词向量,但不幸的是它不能用于大多数商业案例。例如:

embeddings.most_similar('python')

[('pythons', 0.6688377857208252),
 ('Burmese_python', 0.6680365204811096),
 ('snake', 0.6606293320655823),
 ('crocodile', 0.6591362953186035),
 ('boa_constrictor', 0.6443518996238708),
 ('alligator', 0.6421656608581543),
 ('reptile', 0.6387744545936584),
 ('albino_python', 0.6158879995346069),
 ('croc', 0.6083582639694214),
 ('lizard', 0.601341724395752)]

这个输出显然不是我们想要的。我们可以为这个商业案例使用 gensim 库创建一个自定义的 word2vec 模型,但它并不详尽(词汇量会相对较少)。在这种情况下,最佳做法是什么?是否可以更新预训练的词嵌入模型的权重,以便词嵌入也从域文本数据中学习?

1个回答

迁移学习是一种可能的方法:

  1. 设计并实现一个神经网络以匹配Google Word2Vec 的设计 (在层数、激活函数等方面)。
  2. 使用这些向量预初始化权重
  3. 使用特定领域的语料库重新训练

是一个可用作基础并针对步骤 #1 进行修改的实现