参考:
https://blog.csdn.net/qq_16633405/article/details/80578431
1.功能:用于文本分类,比如情感分类,垃圾邮件等
2.输入:句子的特征量,句子特征量包含每个字的特征量和n-gram的特征量。
具体做法是先求出每个字的特征量,在求出这个句子n-gram的特征量,然后加起来求平均,作为输入。其中字和n-gram的特征量是通过哈希来存储的。
输出:句子类别
3.用n-gram的原因:考虑词序关系,因为如果不用n-gram,每次输入是所有词求平均,那么就相当于没有词序信息了,加上n-gram以后相当于增加了词序信息,比如:“我爱你” 和 “你爱我” 不加n-gram,则输入都为 我 爱 你
三个词的特征量求平均,是一样的,但是加上以后 变成 我爱 爱你
和 你爱 爱我
,此时就可以把两个句子区分开来了。
- fasttext加的东西:n-gram, 层次softmax, 输出为句子标签/类别
介绍n-gram的文章
https://blog.csdn.net/qq_43019117/article/details/82770124
skip-gram,cbow,fasttext模型类似,都是输入层经过线性变换(即嵌入矩阵)得到向量(此过程是线性的,没有非线性函数),这一层叫做隐藏层。然后再加一层线性变换转换成类别维度的向量,再通过softmax输出,这一层叫做输出层,是非线性的。