前言

  • 望各位读者审慎阅读

  • 待更新~

这是一篇短小但经典的论文,fastText 也是一个常用的算法,这里先做一个简单的介绍,后面如果再碰到,再细致的更新一下。

在正式的聊fastText 的时候,我们先说下该算法会用到的两个主要算法。

0.前提

0.1 ​​Hierarchical softmax​

0.2 ​​N-gram​

1.问题

深度神经网络虽然在文本分类上有很好的效果,但是训练速度以及推理速度都非常慢,所以facebook 小组就提出使用一种基于linear model的方法去做这个文本分类任务。实验证明,能够在很快的速度内得到不虚神经网络模型的分类效果。

2.想法

fastText 算法和cbow 模型超级相似。

  • 能不能使用简单的线性模型就能实现一个较好的文本分类?
    当然可以,这就是本文中提出的 fastText 算法。

3.模型

3.1 模型结构

算法工程师面试之fastText算法_文本分类

仔细谈谈这个结构。


  • 是一个 sentence 中的单词,如果在使用了 ​​n-gram​​​方法之后,这里的​​w_i​​应该也可以是一个词组。【也就是说,可以先做一个分词】
  • 接着过一个线性层,根据所有的词得到一个 ​​hidden state​​​ ,这个 ​​hidden state​​ 是一个向量
  • 根据上面得到的 ​​hidden state​​​作分类操作,判断出 ​​label​

3.2 模型组件


  • 为了加快分类的速度,fastText使用了 ​​Hierarchical softmax​​ 进行分类
  • 为了提高模型效果,fastText 使用 N-gram 方法,也就是说,使用了词的信息进行文本分类。

4.实验