创建单词嵌入,而不将fastText Vector文件保存在存储库中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建单词嵌入,而不将fastText Vector文件保存在存储库中相关的知识,希望对你有一定的参考价值。

我试图在Infersent的帮助下嵌入一个句子,并且Infersent使用fastText向量进行单词嵌入。 fastText矢量文件接近5 GiB。

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

有没有任何方法可以避免将矢量文件与存储库一起保存,但重用它来嵌入新的句子?

答案

你嵌入了什么样的句子,它是否与生成fastText嵌入的域相同?

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

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

我最近这样做,从一个1.4GB的文件,一些预先训练的字嵌入到200 MB,主要是因为与我的语料库重叠约10%。

以上是关于创建单词嵌入,而不将fastText Vector文件保存在存储库中的主要内容,如果未能解决你的问题,请参考以下文章

如何将嵌入式资源作为字节数组读取而不将其写入磁盘?

删除一个单词而不将其添加到 Emacs 中的 kill-ring

编写一个fasttext自定义转换器

NLP-06fastText文本分类算法

Keras深度学习实战——使用fastText模型构建单词向量

Keras深度学习实战——使用fastText模型构建单词向量