【问题标题】:Gensim Word2vec Freeze some wordvectors and Update othersGensim Word2vec 冻结一些词向量并更新其他
【发布时间】:2018-12-10 14:51:50
【问题描述】:

关于 word2vec 和 gensim, 假设你已经在一个大型语料库上训练了一个模型,并且你想用新句子中的新词来更新它,但不更新已经有向量的词。 调用 model.train 时是否可以冻结某些单词的向量并仅更新某些选定的单词(例如新单词)? 或者也许有一个技巧可以做到这一点? 谢谢。

【问题讨论】:

    标签: python word2vec gensim


    【解决方案1】:

    有!但它是一个实验性功能,文档很少——你需要阅读源代码才能完全理解它,并直接改变你的模型以使用它。

    word2vec.py 源中查找以_lockf 结尾的属性——特别是在最新代码中,一个名为vectors_lockf 的代码。它是一种面具,可以允许、削弱或停止对某些单词的训练。对于每个单词,如果它的值为 1.0,则应用正常的完整反向传播更新。任何较低的值都会削弱更新——因此 0.0 会冻结一个单词以防止更新。 (潜在的更新仍在计算中 - 因此没有净加速 - 在最终应用于特定的冻结词之前,它只是乘以 0.0。)

    【讨论】:

      猜你喜欢
      • 2019-10-15
      • 2021-06-26
      • 2018-08-18
      • 2014-04-02
      • 2016-12-04
      • 2017-10-09
      • 2018-03-20
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多