目录
1.简述
文本分类是自然语言处理中一项基本的任务,它的应用非常广泛,比如:垃圾过滤,情感分析,话题分类。它和其他的分类没有本质的区别,核心方法为首先提取分类数据的特征,然后选择最优的匹配,从而分类。但是文本也有自己的特点,根据文本的特点,文本分类的一般流程为:1.数据预处理;2.文本表示及特征选择;3.构造分类器;4.分类。
通常来讲,文本分类任务是指在给定的分类体系中,将文本指定分到某个或某几个类别中。被分类的对象可以是短文本,例如句子、标题、商品评论等等,也可以是长文本,如文章等。分类体系一般人工划分,例如:
1)政治、体育、娱乐、经济。
2)好评、中性、差评。
3)正面、负面。
因此,对应的分类模式可以分为:二分类,多分类,以及多标签分类。
文本分类的应用十分广泛,可以将其应用在:
- 垃圾邮件的判定:是否为垃圾邮件
- 新闻文章的分类:政治、体育、娱乐、经济等,可能是一个多标签分类。
- 电商商品评论分析等等类似的应用:消极、积极
- 自动问答系统中的问句分类。
最早的文本分类是用基于知识的方法,构建规则完成文本分类,随之机器学习的发展,慢慢采用基于统计和机器学习的方法,由于机器学习参数的有限性,深度学习地快速发展,现在越来越多的采用深度学习来做文本分类,本文将主要如何用GELE模型(《Enhancing Local Feature Extraction with Global Representation for Neural Text Classification》论文 EMNLP 2019)作为baseline完成文本分类。
2.分析任务
当给定的文本分类任务,首先需要结合数据和业务需求,分析现有文本分类任务需要从多个维度分析,需要清楚的几个点:
- 是否有标样本,如果没有有标样本能否构建;
- 一般的文本分类还是更具有领域性的情感分类;
- 是长文本分类还是短文本分类;
- 是大规模数据分类,还是小样本分类;
- 是二分类、多分类还是多标签分类;
- 如果是多标签分类,标签类别是大规模的还是少量的。
- 样本均衡还是不均衡。
3.构建baseline模型
在模块2的基础上,已经熟悉了要完成文本任务的性质,需要构建baseline模型。
3.1数据清洗与预处理
对于模块2提到的第一个问题,是否有有标样本,如果是有标样本,可以采用如下几种方式进行清洗:
- 去除非文本数据,很多时候爬取下来的文本数据往往会附带有HTML标签、URL地址等非文本内容,所以需要清除这部分内容对分类没有什么帮助的内容。
- 替换中文文本中长串的数字,例如手机号、身份证号、车牌号、用户名ID等文本内容,在非特定的文本分类情境下是可以去除。或者将其转换为归一化的特征,如是否出现长串数字的布尔值特征HAS_DIGITAL。值得一提的是,有时候表情代号常常作为长串数字或字母出现时,却能在情感分析中却能起到巨大作用。
- 去除无意义文本,对于文本当中的诸如广告内容、版权信息和个性签名的部分,可以选择去掉。
- 去除停用词和标点符号。
如果没有有标样本,可以采用半监督和无监督学习来做文本分类,可以采用这篇博客数据清洗方法进行数据清洗。
3.2选取合适的模型
3.2.1模型选取方法
传统的机器学习方法主要利用自然语言处理中的n-gram概

1717

被折叠的 条评论
为什么被折叠?



