FastText使用总结

一. 简介

FastText是2016年由Facebook AI Research开源的算法,算法主要包含三个部分:模型架构,层次Softmax和N-gram特征。

  1. 模型架构:FastText的模型架构和Word2Vec的CBOW模型类似。不同之处在于,FastText预测标签,而CBOW模型预测中间词;
  2. 层次Softmax:Softmax建立在哈弗曼编码的基础上,对标签进行编码,能够极大地缩小模型预测目标的数量;
  3. N-gram特征:常用的特征是词袋模型,但词袋模型不能考虑词之间的顺序,因此 fastText 还加入了 N-gram 特征,考虑到词与词之间的顺序问题;

二. 安装

2.1 直接pip安装

pip install fasttext

2.2 编译安装

下载安装文件(https://pypi.org/project/fasttext/)

tar xzvf fasttext-0.8.3.tar.gz
pip .

即可安装成功

2.3 按照如下方式:

wget https://github.com/facebookresearch/fastText/archive/v0.2.0.zip

unzip v0.2.0.zip

cd fastText-0.2.0

make

三. 功能

3.1. 生成词向量

 

3.2. 文本分类

 FastText 调参优化

1. loss hs 比 ns, softmax 速度都要快,而且效果也要好;

2. word_ngrams 设置为2比设置为1效果要好,但是模型的体积会大很多,而且容易过拟合;

3. dim 在进行长文本分类的时候,较大维度(一般设置为300)效果较好;

4. ws 对于短文本设置较小的ws,对于长文本设置较大的值;

 

 

你可能感兴趣的:(NLP,自然语言处理)