在写论文的时候了解到有fasttext这种文本分类方法,也看了很多别人的博客,但感觉使用这种方法的人并不是很多,或者使用的版本有些旧。本文会介绍下Windows下最新的fasttext版本以及如何进行文本分类
以下是本篇文章正文内容,下面案例可供参考
fasttext简介
fasttext是2016年facebook开源的一款高效词表示和文本分类工具。它是一个浅层的神经网络模型,类似于word2vec的CBOW,主要用途就是两个——词向量化和文本分类。
Windows下安装
代码如下(示例):
pip install fasttext
版本
2019年6月25官网发布了Windows下的最新版本,这个版本将原来的官方版fastText和非官方版fasttext合并,现在最新版本fasttext在github repository和 pypi.org都可以找到。
新版特色
保留了官方API和顶层函数(例如train_unsupervised和train_supervised)以及返回的numpy对象。 从非正式API中删除了cbow,skipgram和supervised函数。 并且将非官方API中的好主意带到了官方API中。 特别是,我们喜欢WordVectorModel这类很python的方法。
主要函数及用法
如果是文本分类用到的函数就是 train_supervised
import fasttext
model = fasttext.train_supervised('data.train.txt')
这里data.train.txt是一个文本文件,每行包含一个训练语句以及标签。 默认情况下,我们假设标签是带有字符串__label__前缀的string.
该函数主要参数如下:
input # training file path (required)
lr # learning rate [0.1]
dim # size of word vectors [100]
ws # size of the context window [5]
epoch # number of epochs [5]
minCount # minimal number of word occurences [1]
minCountLabel # minimal number of label occurences [1]
minn # min length of char ngram [0]
maxn # max length of char ngram [0]
neg # number of negatives sampled [5]
wordNgrams # ma