首页 > 解决方案 > 为预训练的 word2vec 模型添加更多词汇

问题描述

帮我纠正这个问题还是有其他方法可以完成这项任务?

代码片段快照

标签: machine-learningnlpdata-mininggensimword2vec

解决方案


build_vocab()需要一个文本列表(令牌列表列表)——你只是给它一个单词列表,所以每个单词都被认为是一个单独的文本,并且是你的代码可能添加的唯一新单词是单个字母。

但是也:

  • min_count=1通常不利于矢量质量
  • epochs=150比通常的 5-10 次迭代要高得多——略高于这可能对小型数据集有帮助,但 100+ 是过多的
  • 逐步添加词汇/训练不一定会改善您的模型;特别是当您使用不包括整个词汇表(和使用范围)的新示例进行训练时,模型中只有一些单词会得到调整——并且可能会与仅从早期训练中知道的其他单词不对齐

当有新文本包括新词时,最稳健的做法是重新训练整个模型,将所有新旧文本混合在一起。这可以最好地确保所有单词之间的同等关注和兼容的坐标。

如果您使用新文本进行增量训练,无论是否扩大了词汇量,您都应该仔细观察您对整体模型质量的任何自定义评估,以确保您所做的事情是有帮助的。


推荐阅读