我刚刚开始使用 FastText。我正在通过使用作为输入对一个小数据集进行交叉验证.csv
我的数据集的文件。为了处理数据集,我使用以下参数:
model = fasttext.train_supervised(input=train_file,
lr=1.0,
epoch=100,
wordNgrams=2,
bucket=200000,
dim=50,
loss='hs')
但是我想使用维基百科中提供的预先训练的嵌入在 FastText 网站上 https://fasttext.cc/docs/en/crawl-vectors.html。可行吗?如果是这样,我必须将特定参数添加到参数列表中吗?
动机
如果您的训练数据集很小,您可以从 FastText 预训练向量开始,使分类器从一些预先存在的知识开始。
为了提高分类器的性能,它可能是有益的,也可能是无用的:你应该做一些测试。
从预训练向量开始训练 fastText 分类器
您可以从以下位置下载预训练向量(.vec 文件)这一页 https://fasttext.cc/docs/en/crawl-vectors.html.
这些向量的维度为 300。
您可以通过执行以下操作来训练模型:
model = fasttext.train_supervised(input=TRAIN_FILEPATH, lr=1.0, epoch=100,
wordNgrams=2, bucket=200000, dim=300, loss='hs',
pretrainedVectors=VECTORS_FILEPATH)
更改向量维度
您可能不需要更改向量维度。但如果必须的话,您可以考虑分三个步骤进行此更改:
- 下载.bin模型(来自here https://fasttext.cc/docs/en/crawl-vectors.html)
- 减少 .bin 模型维度(参见this https://fasttext.cc/docs/en/crawl-vectors.html#adapt-the-dimension)
- 将 .bin 模型转换为 .vec 文件(请参阅这个答案 https://stackoverflow.com/questions/58337469/how-to-save-fasttext-model-in-vec-format)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)