我刚刚开始使用 FastText。我正在通过将数据集的 .csv
文件用作输入来对小型数据集进行交叉验证。要处理我使用此参数的数据集:
model = fasttext.train_supervised(input=train_file,
lr=1.0,
epoch=100,
wordNgrams=2,
bucket=200000,
dim=50,
loss='hs')
但是我想使用来自维基百科的预训练嵌入 on the FastText website .可行吗?如果是这样,我必须将特定参数添加到参数列表中吗?
最佳答案
动机
如果您的训练数据集很小,您可以从 FastText 预训练向量开始,使分类器从一些预先存在的知识开始。 为了提高分类器的性能,它可能是有益的,也可能是无用的:您应该做一些测试。
训练一个快速文本分类器,从预训练向量开始
您可以从 this page 下载预训练向量(.vec 文件) .
这些向量的维度为 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 )
- 减少 .bin 模型维度(参见 this)
- 将 .bin 模型转换为 .vec 文件(参见 this answer)
关于python - 如何在 FastText 中使用预训练词向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64706753/