您的位置:首页 > 其它

使用fastText进行文本分类

2017-07-10 01:10 1171 查看
fastText文本分类学习笔记

先下载,然后make,得到可执行c文件

$ gitclone https://github.com/facebookresearch/fastText.Git $ cdfastText
$ make


文本分类,linux命令行:

./fasttext supervised -input train.txt -output model

训练集train.txt的输入格式为:



标签是以字符串label作为前缀的单词,后面的数字对应类别。我们可以将训练数据处理成这种形式,训练自己的文本分类模型。

一旦模型被训练,您可以通过使用以下方法计算测试集上的k的精度和召回率来对其进行评估:

$ ./fasttext test model.bin test.txt k

参数k可选,默认为1

为了预测获得一个文本的k个最可能的标签,使用:

$ ./fasttext predict model.bin test.txt k

其中test.txt包含要按行分类的文本。 这样输出为每一行的k个最可能的标签。

如果要计算句子或段落的向量表示,请使用:

$ ./fasttext print-sentence-vectors model.bin < text.txt

这假设text.txt文件包含您要获取向量的段落,一段为一行。 该程序将在文件中每行输出一个向量表示。

参数的命令以及可用的参数及其默认值:

$ ./fasttext supervised

Empty input or output path.

The following arguments are mandatory:

-input training file path 输入文件路径

-output output file path 输出文件路径

The following arguments are optional:

-verbose verbosity level [2]

The following arguments for the dictionary are optional:

-minCount minimal number of word occurences [5]

-minCountLabel minimal number of label occurences [0]

-wordNgrams max length of word ngram [1] 几元语言模型

-bucket number of buckets [2000000]

-minn min length of char ngram [3] 单词的最小长度

-maxn max length of char ngram [6] 单词的最大长度

-t sampling threshold [0.0001]

-label labels prefix [label] 标签前缀的选择

The following arguments for training are optional: 训练集可选参数

-lr learning rate [0.05]

-lrUpdateRate change the rate of updates for the learning rate [100]

-dim size of word vectors [100]

-ws size of the context window [5]

-epoch number of epochs [5]

-neg number of negatives sampled [5]

-loss loss function {ns, hs, softmax} [ns]

-thread number of threads [12]

-pretrainedVectors pretrained word vectors for supervised learning []

-saveOutput whether output params should be saved [0]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: