-
fastText
的优点是:在保持分类效果的同时,大大缩短了训练时间。在 8个 数据集上,不同模型的测试误差:
单个
epoch
的训练时间(char-CNN
、VDCNN
和 ):
fastText
的网络结构与word2vec
的CBOW
非常相似。区别在两个地方:- 输出:这里网络的输出是各类别的概率。通常文本分类的类别 远小于词典大小 ,因此可以不必进行分层
softmax
和负采样。
- 输出:这里网络的输出是各类别的概率。通常文本分类的类别 远小于词典大小 ,因此可以不必进行分层
隐向量为所有输入单词映射结果的均值:
其中: 表示第 个输入单词在词汇表 中的编号, 为矩阵 的第 行,它是对应输入单词的输入向量。
单个样本的损失函数为( 为真实类别标签):
定义每个输出单元的预测误差 ,与
CBOW
多个单词上下文的推导相同:-
其中 。
更新 :
其中 :
- 为第 个输入单词在词表 中的编号。
-
如果考虑词序则分类的效果还可以进一步提升,因此在
fastText
中可以引入N-gram
特征。如: 合并文档中连续的2个单词作为特征。-
fastText
词向量得到的相似度是基于分类类别的相似。如:商品评论情感分类任务中,好吃
和好玩
是相似的,因为它们都是正向情感词。