首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为utest模拟FastText模型

为utest模拟FastText模型
EN

Stack Overflow用户
提问于 2020-10-23 21:51:41
回答 1查看 69关注 0票数 0

我在我的python库中使用了快速文本模型(来自官方的fasttext库)。为了运行我的u-test,我需要一个尽可能轻的模型(fasttext.FastText._FastText对象),这样我就可以在我的存储库中对其进行版本控制。

我尝试创建了一个包含5行"fake.txt“和几个单词的假文本数据集,并调用

代码语言:javascript
复制
model = fasttext.train_unsupervised("./fake.txt")
fasttext.util.reduce_model(model, 2)
model.save_model("fake_model.bin")

它基本上可以工作,但模型是16Mb。这对于一个U-test资源来说是可以的,但是你认为我可以比这个更低吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-25 01:43:51

请注意,当使用玩具大小的数据或参数时,FastText (&类似的密集词向量模型)不会有意义地执行。(它们的所有有用/可预测/可测试的好处都依赖于大型的、多种多样的数据集&许多最终向量的微妙排列。)

但是,如果您只需要一个类型正确的相对无意义的对象/文件,那么您的方法应该是可行的。在不考虑微小训练集的情况下,使FastText模型变大的主要参数是bucket参数,其默认值为2000000。它将分配许多字符-ngram(单词-片段)槽,即使您所有实际单词都没有那么多ngram。

在初始模型创建中将bucket设置为某个小得多的值,应该也会使您的插件/替代文件小得多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64501290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档