python - 如何在 FastText 中使用预训练词向量?

标签 python fasttext

我刚刚开始使用 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/

相关文章:

python - ZIP - 压缩文件实际上并不压缩文件

python - git-diff 如何生成大块描述?

python - 如何对浮点输出执行单元测试? - Python

python-3.x - 使用 Gensim 实现 Word 到矢量模型

fasttext - fasttext 的句子向量

python - 尝试使用 python 将数据导入 MySQL 时出现 "Not all parameters were used in the SQL statement"错误

python - 微调预训练的 word2vec Google 新闻

python - 无法重新创建用于训练 FastText 的 Gensim 文档。类型错误 : Either one of corpus_file or corpus_iterable value must be provided

python-3.x - gensim 词嵌入(Word2Vec 和 FastText)模型中的 alpha 值?

python - 使用 Django 的 Bootstrap 4 仪表板