【问题标题】:Reduce Google's Word2Vec model with Gensim使用 Gensim 简化 Google 的 Word2Vec 模型
【发布时间】:2017-07-16 12:13:30
【问题描述】:

Google 加载完整的预训练 word2vec 模型既费时又乏味,因此我想知道是否有机会删除低于特定频率的单词以使 vocab 倒计时到例如20 万字。

我在gensim包中找到了Word2Vec方法来确定词频并再次重新保存模型,但我不确定如何在保存之前从预训练模型中pop/remove词汇再说一遍。我在KeyedVector classWord2Vec class 中找不到任何关于此类操作的提示?

https://github.com/RaRe-Technologies/gensim/blob/develop/gensim/models/word2vec.py https://github.com/RaRe-Technologies/gensim/blob/develop/gensim/models/keyedvectors.py

如何选择预训练 word2vec 模型的词汇子集?

【问题讨论】:

  • 我可能迟到了,但是看看this repo。我认为这正是您正在寻找的。​​span>

标签: nlp gensim word2vec


【解决方案1】:

GoogleNews 词向量文件格式不包含频率信息。但是,它似乎确实按照频率从高到低的顺序进行了大致排序。

而且,load_word2vec_format() 提供了一个可选的limit 参数,它只从给定文件中读取那么多向量。

因此,以下内容应该大致符合您的要求:

goognews_wordecs = KeyedVectors.load_word2vec_format(`GoogleNews-vectors-negative300.bin.gz`, binary=True, limit=200000)

【讨论】:

【解决方案2】:

你知道这个公开列表/一套预用模型 - 也许是一个替代方案对巨型谷歌的替代方案是有益的吗? :)

https://github.com/3Top/word2vec-api#where-to-get-a-pretrained-models

我不知道如何做出准确的需求,但在谷歌小组上有一些关于修剪模型的讨论可能是使用:https://groups.google.com/forum/#!topic/gensim/wkVhcuyj0Sg

他们还参考最近的变化,也可以最小化模型,但我认为这不是你想要的。

https://github.com/RaRe-Technologies/gensim/pull/987

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-02
    • 2019-05-26
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    相关资源
    最近更新 更多