论文地址:https://arxiv.org/pdf/1607.01759.pdf
开源源码地址:https://github.com/facebookresearch/fastText
简介:
1、本文提出了一种简单并且高效的 文本分类模型,我们模型的效果 和其他深度学习模型相当,但是 速度快了几个数量级。
2、文本分类是自然语言处理中非常重 要的任务,基于深度学习的文本分 类任务效果很好,但是速度很慢。 而线性分类器一般也表现很好,而 且速度快,所以本文提出了一种快 速的线性分类器Fasttext。
3、详细介绍了Fasttext的模型结构以 及两个技巧,分别是层次softmax 和N-grams特征。
4、在文本分类任务上和tag预测任 务上都取得了非常好的效果。
摘要:
1. 本文为文本分类任务提出了一种简单并且高效的基准模型——Fasttext。
2. Fasttext模型在精度上和基于深度学习的分类器平分秋色,但是在训练和测试速度上Fasttext快 上几个数量级。
3. 我们使用标准的多核CPU在10亿词的数据集上训练Fasttext,用时少于10分钟,并且在一分钟内 分类好具有312K类别的50万个句子。
CBOW 模型:
FastText Model:
形式上与 CBOW 类似
讲句子级别的ngram,embedded之后,取平均提交到隐藏层
Fasttext模型和CBOW模型的区别和联系
联系:
1. 都是Log-linear模型,模型非常简单。
2. 都是对输入的词向量做平均,然后进行 预测。
3. 模型结构完全一样。
区别:
1. Fasttext提出的是句子特征,CBOW提出的是上 下文特征。
2. Fasttext需要标注语料,是监督学习,CBOW不 需要标注语料,是无监督学习。
问题:
1. 当类别非常多的时候,最后的softmax 速度依旧非常慢。
2. 使用的是词袋模型,没有词序信息。
解决方法:
1. 类似于word2vec,使用层次softmax。
2. 使用n-gram特征。
优点:
1. 速度非常快,并且效果还可以。
2. 有开源实现,可以快速上手使用。
缺点:
1. 模型结构简单,所以目前来说,不是最优的 模型。
2. 因为使用词袋思想,所以语义信息获取有限。
Subword Embedding:
论文地址:https://arxiv.org/pdf/1607.04606.pdf
整体跟Skip-gram 类似
S(Wt,Wc) -正样本內积 负样本內积-S(Wt,n) 整体越大越好
通过子词的方式替换词的方式,词向量是通过子词的方式来生成
详细内容查看论文
推荐一篇不错的:SubWord 文章https://www.jianshu.com/p/e49b4777a068