由Google加载完整的经过预训练的word2vec模型非常耗时且繁琐,因此我想知道是否有机会删除某个频率以下的单词以使vocab
计数减少到200k个单词。
我在gensim
程序包中找到了Word2Vec方法来确定单词频率并再次保存该模型,但是在重新保存之前,我不确定如何从预先训练的模型中pop
/ remove
vocab。我在KeyedVector class
和Word2Vec 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模型的词汇的子集?
GoogleNews字向量文件格式不包含频率信息。但是,它似乎的排序频率大约较高,而频率较低。
并且,load_word2vec_format()
提供了一个可选limit
参数,该参数仅从给定文件中读取许多矢量。
因此,以下应大致完成您所要求的操作:
goognews_wordecs = KeyedVectors.load_word2vec_format(`GoogleNews-vectors-negative300.bin.gz`, binary=True, limit=200000)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句