参考 Bag of Tricks for Efficient Text Classification(2016)
https://github.com/graykode/nlp-tutorial
https://fasttext.cc/docs/en/supervised-tutorial.html
文本分类是许多应用程序的核心问题,如垃圾邮件检测、情感分析或智能回复。
文本分类的目标是分配文档(如电子邮件、帖子、文本消息、产品评论等...)到一个或多个类别。这些类别可以是评论分数、垃圾邮件与非垃圾邮件,或者文档的输入语言。如今,建立这种分类器的主要方法是机器学习,即从实例中学习分类规则。为了构建这样的分类器,我们需要有标签的数据,它由文档和它们相应的类别(或者标签,或者标签)组成。
FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的方法
在fasttext中,目标在于给定一个段落,可以预测某个标签的概率。
fastText模型架构和word2vec中的CBOW很相似, 不同之处是fastText预测标签而CBOW预测的是中间词,即模型架构类似但是模型的任务不同。
fastText模型架构:其中x1,x2,…,xN−1,xN表示一个文本中的n-gram向量,每个特征是词向量的平均值。这和前文中提到的cbow相似,cbow用上下文去预测中心词,而此处用全部的n-gram去预测指定类别