gpt4 book ai didi

nlp - FastText 使用预训练词向量进行文本分类

转载 作者:行者123 更新时间:2023-12-04 04:51:21 27 4
gpt4 key购买 nike

我正在研究一个文本分类问题,也就是说,给定一些文本,我需要为其分配某些给定的标签。

我曾尝试使用 Facebook 的快速文本库,它有两个我感兴趣的实用程序:

A) 带有预训练模型的词向量

B) 文本分类实用程序

但是,这些似乎是完全独立的工具,因为我找不到任何合并这两个实用程序的教程。

我想要的是能够通过利用 Word-Vectors 的预训练模型对一些文本进行分类。有没有办法做到这一点?

最佳答案

FastText 监督训练有 -pretrainedVectors可以这样使用的参数:

$ ./fasttext supervised -input train.txt -output model -epoch 25 \
-wordNgrams 2 -dim 300 -loss hs -thread 7 -minCount 1 \
-lr 1.0 -verbose 2 -pretrainedVectors wiki.ru.vec

需要考虑的几点:
  • 选择的嵌入维度必须适合预训练向量中使用的维度。例如。为 Wiki word vectors必须是 300。它由 -dim 300 设置争论。
  • 截至 2018 年 2 月中旬,Python API (v0.8.22) 不支持使用预训练向量进行训练(忽略相应参数)。所以你必须使用 CLI(命令行界面)版本进行训练。但是,由 CLI 使用预训练向量训练的模型可以由 Python API 加载并用于预测。
  • 对于大量类(在我的情况下有 340 个类),甚至 CLI 可能会因异常而中断,因此您需要使用分层 softmax 损失函数 ( -loss hs )
  • 分层 softmax 在性能上比普通 softmax 差,因此它可以放弃您从预训练嵌入中获得的所有 yield 。
  • 使用预训练向量训练的模型可能比未训练的模型大几倍。
  • 在我看来,用预训练向量训练的模型比没有训练的模型更快过拟合
  • 关于nlp - FastText 使用预训练词向量进行文本分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47692906/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com