我刚刚开始使用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提供的来自维基百科的经过预先训练的嵌入。可行吗如果是这样,我必须在参数列表中添加一个特定的参数吗?
答案 0 :(得分:1)
如果您的训练数据集很小,则可以从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)
您可能不需要更改向量尺寸。但是如果需要,您可以考虑通过以下三个步骤进行更改:
答案 1 :(得分:0)
我没有在Facebook FastText文档中注意到在监督模式训练之前预加载模型的任何内容,也没有看到任何声称可以这样做的示例。
此外,由于在无监督模式(预测邻居)和有监督模式(预测标签)中词向量训练的目标是不同的,所以我不确定这种操作会有什么好处。
即使单词向量为培训提供了些微的开端,最终您还是希望进行足够的培训以使模型“收敛”到训练时的最佳状态任务,预测标签。而且,到那时,原始单词向量的所有剩余影响可能已被稀释为零,因为它们已针对其他任务进行了优化。
您为什么要这样做?用什么方式对您的数据进行典型的有监督的训练是不够的?从其他模式和数据集的词向量开始,您会期望得到什么好处?