除了在内存中完全加载预训练的词嵌入之外,还有其他选择吗?

Is there an alternative to fully loading pre-trained word embeddings in memory?

我想在我的机器学习模型中使用预训练词嵌入。我拥有的词嵌入文件大约是 4GB。我目前将整个文件读入字典的内存中,每当我想将一个词映射到它的向量表示时,我都会在该字典中执行查找。

内存使用率很高,我想知道是否有另一种方法可以在不将整个数据加载到内存的情况下使用词嵌入。

我最近在 Python 中遇到了发电机。他们能帮我减少内存使用吗?

谢谢!

你心中有什么任务?如果这是一个基于相似性的任务,您可以简单地使用 gensim 中的 load_word2vec_format 方法,这允许您传递对加载的向量数量的限制。 Googlenews 之类的向量按频率排序,这将为您提供关键向量。 这在理论上也是有道理的,因为频率低的词通常会有相对较差的表示。