如何利用深度学习做好文本分类(text classification)

目录

1.简述

2.分析任务

3.构建baseline模型

3.1 数据清洗与预处理

3.2 选取合适的模型 

3.2.1 模型选取方法

   3.2.2 GELE模型为baseline

4. 评估指标

5.baseline的优化

5.1 采用预训练好的词向量

5.2 label smoothing

5.3 损失函数的选择

5.4 数据增强和数据噪音的处理

5.5 引入先验知识

5.6 模型超参数调整



1.简述

文本分类是自然语言处理中一项基本的任务,它的应用非常广泛,比如:垃圾过滤,情感分析,话题分类。它和其他的分类没有本质的区别,核心方法为首先提取分类数据的特征,然后选择最优的匹配,从而分类。但是文本也有自己的特点,根据文本的特点,文本分类的一般流程为:1.数据预处理;2.文本表示及特征选择;3.构造分类器;4.分类。

通常来讲,文本分类任务是指在给定的分类体系中,将文本指定分到某个或某几个类别中。被分类的对象可以是短文本,例如句子、标题、商品评论等等,也可以是长文本,如文章等。分类体系一般人工划分,例如:

1)政治、体育、娱乐、经济。

2)好评、中性、差评。

3)正面、负面。

因此,对应的分类模式可以分为:二分类,多分类,以及多标签分类。

文本分类的应用十分广泛,可以将其应用在:

  • 垃圾邮件的判定:是否为垃圾邮件
  • 新闻文章的分类:政治、体育、娱乐、经济等,可能是一个多标签分类。
  • 电商商品评论分析等等类似的应用:消极、积极
  • 自动问答系统中的问句分类。

最早的文本分类是用基于知识的方法,构建规则完成文本分类,随之机器学习的发展,慢慢采用基于统计和机器学习的方法,由于机器学习参数的有限性,深度学习地快速发展,现在越来越多的采用深度学习来做文本分类,本文将主要如何用GELE模型(《Enhancing Local Feature Extraction with Global Representation for Neural Text Classification》论文 EMNLP 2019)作为baseline完成文本分类。

2.分析任务

当给定的文本分类任务,首先需要结合数据和业务需求,分析现有文本分类任务需要从多个维度分析,需要清楚的几个点:

  1. 是否有标样本,如果没有有标样本能否构建;
  2. 一般的文本分类还是更具有领域性的情感分类;
  3. 是长文本分类还是短文本分类;
  4. 是大规模数据分类,还是小样本分类;
  5. 是二分类、多分类还是多标签分类;
  6. 如果是多标签分类,标签类别是大规模的还是少量的。
  7. 样本均衡还是不均衡。

3.构建baseline模型

在模块2的基础上,已经熟悉了要完成文本任务的性质,需要构建baseline模型。

3.1数据清洗与预处理

对于模块2提到的第一个问题,是否有有标样本,如果是有标样本,可以采用如下几种方式进行清洗:

  1. 去除非文本数据,很多时候爬取下来的文本数据往往会附带有HTML标签、URL地址等非文本内容,所以需要清除这部分内容对分类没有什么帮助的内容。
  2. 替换中文文本中长串的数字,例如手机号、身份证号、车牌号、用户名ID等文本内容,在非特定的文本分类情境下是可以去除。或者将其转换为归一化的特征,如是否出现长串数字的布尔值特征HAS_DIGITAL。值得一提的是,有时候表情代号常常作为长串数字或字母出现时,却能在情感分析中却能起到巨大作用。
  3. 去除无意义文本,对于文本当中的诸如广告内容、版权信息和个性签名的部分,可以选择去掉。
  4. 去除停用词和标点符号。

如果没有有标样本,可以采用半监督和无监督学习来做文本分类,可以采用这篇博客数据清洗方法进行数据清洗。

3.2选取合适的模型 

3.2.1模型选取方法

传统的机器学习方法主要利用自然语言处理中的n-gram概

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值