【问题标题】:Is there an alternative to fully loading pre-trained word embeddings in memory?有没有一种替代方法可以在内存中完全加载预训练的词嵌入?
【发布时间】:2019-03-18 21:53:17
【问题描述】:

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

内存使用率非常高,我想知道是否有另一种使用词嵌入的方法,而无需将整个数据加载到内存中。

我最近遇到了 Python 中的生成器。他们能帮我减少内存使用吗?

谢谢!

【问题讨论】:

    标签: python machine-learning memory-management nlp word-embedding


    【解决方案1】:

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

    【讨论】:

    • 谢谢。我将使用 Googlenews 并仅提取频率最高的单词(例如前 40k 单词)。
    猜你喜欢
    • 2019-12-30
    • 2019-08-27
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多