首页 > 解决方案 > 低 RAM 环境中 Fasttex 的 OOV(词汇表外)词嵌入

问题描述

有没有办法使用 fasttext 获取 OOV(词汇表外)单词的向量,但不将所有嵌入加载到内存中?

我通常在低 RAM 环境(<10GB RAM)中工作,因此将 7GB 模型加载到内存中是不可能的。要在不使用那么多 RAM 的情况下使用词嵌入,可以.vec逐行读取(通常是纯文本)文件并将其存储到数据库中(稍后您可以访问该数据库以请求词向量)。但是,要获得带有 fasttext 的 OOV 向量,您需要使用这些.bin文件并将其加载到内存中。有没有办法避免加载整个.bin文件?

标签: machine-learningnlpword-embeddingfasttext

解决方案


对我有用的是设置一个巨大的交换分区来允许模型加载,然后我将向量的大小从 300 减少到 100 以使模型完全适合内存。


推荐阅读