这篇文章主要介绍分类的原理,步骤,以及常用的几种方法。
问题描述&应用场景
描述:给定文档p(可能含有标题t),将文档分类为n个类别中的一个或多个
应用场景:常见的有垃圾邮件识别,情感分析,关系分类,事件分类等等
类型:根据文本长度可以分为:长文本分类,短文本分类;根据标签类别的个数,可以分为二分类,多分类,多标签分类
总体流程
文本分类任务大致可以分为以下三步:
1、文本预处理:分词、去停用词、归一等等
2、文本表示:将文本表示成向量(计算机可以理解)
3、分类模型构建:分类,svm,textcnn等等
实现方法
实现方法大致可以分为两类:
1、基于传统机器学习的文本分类
2、基于深度学习的文本分类
这两类方法都有以上三个流程,文本预处理是所有任务都需要做的,即使是end-to-end的深度学习模式,其实也可以分为三个步骤,end-to-end可以分为两步,网络前面一部分是文本表示,最后接一个全连接层做分类模型
文本预处理
1、分词:一般而言,所有的NLP任务基本上都会做分词,因为词是一个最小的语义单元
2、去停用词:很多词对于分类任务没有效果,所以可以提前去掉,目前一些通用的停用词词典大概有2000个词,主要包括一些副词、形容词以及连接词
3、归一化: