加载 fasttext 预训练的德语词嵌入的 .vec 文件抛出内存不足错误

sha*_*sai 4 nlp gensim word-embedding fasttext

我正在使用 gensim 加载 fasttext 的预训练词嵌入

de_model = KeyedVectors.load_word2vec_format('wiki.de\wiki.de.vec')

但这给了我一个内存错误。

有什么办法可以加载它吗?

goj*_*omo 5

除了在具有更多内存的机器上工作之外,这些gensim load_word2vec_format()方法还有一个limit选项,可以为要读取的向量计数n。只会加载文件的前n 个向量。

例如,只加载第一个 100,000 个单词:

de_model = KeyedVectors.load_word2vec_format('wiki.de\wiki.de.vec', limit=100000)
Run Code Online (Sandbox Code Playgroud)

由于此类文件通常首先对较常用的词进行排序,而较不常用的词的“长尾”往往是较弱的向量,因此许多应用程序不会因为丢弃较不常用的词而损失太多功能。