前言
- 文章来源:LawsonAbs(CSDN)
- 望各位读者审慎阅读
- 论文地址
- 待更新~
这是一篇短小但经典的论文,fastText 也是一个常用的算法,这里先做一个简单的介绍,后面如果再碰到,再细致的更新一下。
在正式的聊fastText 的时候,我们先说下该算法会用到的两个主要算法。
0.前提
0.1 Hierarchical softmax
0.2 N-gram
1.问题
深度神经网络虽然在文本分类上有很好的效果,但是训练速度以及推理速度都非常慢,所以facebook 小组就提出使用一种基于linear model的方法去做这个文本分类任务。实验证明,能够在很快的速度内得到不让神经网络模型的分类效果。
2.想法
fastText 算法和cbow 模型超级相似。
- 能不能使用简单的线性模型就能实现一个较好的文本分类?
当然可以,这就是本文中提出的 fastText 算法。
3.模型
3.1 模型结构
仔细谈谈这个结构。
- step 1.
w
1
,
w
2
,
.
.
.
,
w
n
w_1,w_2,...,w_n
w1?,w2?,...,wn? 是一个
s
e
n
t
e
n
c
e
sentence
sentence 中的单词,如果在使用了
n-gram 方法之后,这里的w_i 应该也可以是一个词组。【也就是说,可以先做一个分词】 - 接着过一个线性层,根据所有的词得到一个
hidden state ,这个 hidden state 是一个向量 - 根据上面得到的
hidden state 作分类操作,判断出 label
3.2 模型组件
- 为了加快分类的速度,fastText使用了
Hierarchical softmax 进行分类 - 为了提高模型效果,fastText 使用 N-gram 方法,也就是说,使用了词的信息进行文本分类。
4.实验
|