在不将 fastText Vector 文件保存在存储库中的情况下创建词嵌入

Create word embeddings without keeping fastText Vector file in the repository

我正在尝试借助 Infersent, and Infersent uses fastText 词嵌入向量来嵌入一个句子。 fastText 矢量文件接近 5 GiB。

当我们将 fastText 矢量文件与代码存储库一起保存时,它会使存储库变大,并使代码难以 share/deploy(甚至创建 docker 容器)。

有什么方法可以避免将矢量文件与存储库一起保存,而是重复使用它来嵌入新句子吗?

你要嵌入什么样的句子,它与生成 fastText 嵌入的域相同吗?

尝试以令牌表示您的数据,即一组所有令牌,或出现在您要使用 fastText 嵌入的句子中的最常见令牌的一些表示。

计算您的标记与 fastText 中标记的重叠,从 fastText 中移除那些未出现在您的数据表示中的标记。

我最近这样做了,从一个带有一些预训练词嵌入的 1.4GB 文件变成了 200MB,主要是因为与我的语料库的重叠率大约为 10%。