【问题标题】:Fine-tuning pre-trained Word2Vec model with Gensim 4.0使用 Gensim 4.0 微调预训练的 Word2Vec 模型
【发布时间】:2021-07-08 08:42:56
【问题描述】:

使用 Gensim

model = Word2Vec.load_word2vec_format("GoogleNews-vectors-negative300.bin", binary=True)
model.train(my_corpus, total_examples=len(my_corpus), epochs=model.epochs)

但是,据我了解,Gensim 4.0 不再支持Word2Vec.load_word2vec_format。相反,我只能加载 keyedVectors。

如何使用 Gensim 4.0 使用我的特定领域语料库微调预训练的 word2vec 模型(例如在 GoogleNews 上训练的模型)?

【问题讨论】:

    标签: gensim word2vec transfer-learning pre-trained-model


    【解决方案1】:

    我认为该代码永远不会在 Gensim 4.0 之前的版本中运行。一个简单的词向量列表,比如GoogleNews-vectors-negative300.bin,没有(也从来没有)足够的信息来继续训练。

    它缺少训练所必需的隐藏到输出层权重和词频信息。

    查看过去的源代码,截至 1.0.0 版(2017 年 2 月),该代码已经给出了 deprecation-error with a pointer to the method for loading a plain set-of-word-vectors - 以解决具有错误概念的人可能有效 - 和 raised other errors on any attempts to train() such a model。 (1.0.0 之前的版本,文档也有 warned that this would not work,& 会因为一个不太有用的错误而失败。)

    作为提到的错误之一,有时有实验支持加载 一些 先前的词向量集来破坏现有模型已经初始化的词汇表中的任何词,通过.intersect_word2vec_format()。但默认情况下,(1)都锁定导入的向量以防止进一步更改; (2) 不引入新词。这与人们最常希望从“微调”中获得的不同,因此它不是实现该目标的现成帮助。

    我相信有些人拼凑了自定义代码以在他们的项目中实现各种微调 - 但我不知道有谁发布了可靠的配方或强大的结果。 (而且我怀疑一些认为他们做得很好的人只是没有严格评估他们正在采取的步骤。)

    如果您知道在 Gensim-4.0.0 之前工作的任何配方,它应该是可适应的 - 4.0 对 Word2Vec 相关类的更改主要是重构、优化和新选项(几乎没有删除功能)。但是要可靠地描述过去的工作方式,或者为了获得哪些具体利益而正在采用哪种特定的微调策略,以便提出更具体的建议。

    【讨论】:

    • 谢谢@gojomo!这是一个非常有用的答案。那么.intersect_word2vec_format() 不改变向量或者处理你提到的新词怎么办?根据documentation,将 lockf 设置为 1 将启用更新向量。
    • 是的,您也可以使用该(非默认)选项让“导入的”向量进行调整。通常,它只会更改您的 unique 单词,并且通过保持导入的单词不变,预期的效果是将您的 new 单词放置在与未更改的旧单词兼容的空间中。如果旧的和新的都在变化,那么所有受过训练的单词可能会被推到与原始向量源不兼容的新排列中的风险更大 - 控制更多潜在的复杂性。但在这两种情况下,intersect 操作都不会放大生成的词汇表。
    • (另外,我认为我在 Gensim-4.0.0+ 的 .intersect_word2vec_format() 中看到了另一个需要解决的错误 - 但作为一个很少使用/有限/实验性的功能,它不是很强大支持。如果您认为它的限制仍然可以满足您的需求,请尝试一下,并遇到错误,我可以尝试提供解决方法/补丁。)
    • 谢谢。感谢您的详细回答。
    猜你喜欢
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多