Gensim Word2vec冻结一些单词向量并更新其他词向量

时间:2018-07-02 11:26:43

标签: python word2vec gensim

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

1 个答案:

答案 0 :(得分:0)

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

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