NLP 语料分类不均衡的解决办法

简介: 一、Introduction二、Influence三、别人的解决办法数据层面:算法层面:四、个人的解决办法五、Reference一、Introduction以前在做情感分类问题都是用sst等等,一些经典的语料,但是当自己要做语料的时候,才发现事情并不是想象的那么简单。

一、Introduction

以前在做情感分类问题都是用sst等等,一些经典的语料,但是当自己要做语料的时候,才发现事情并不是想象的那么简单。要进行语料清洗,语料的切分(十折交叉),现在又要考虑语料的均衡性问题。

不平衡问题:类别之间的语料数目相差很大

看一下我的语料:
语料种类
一共6类,数目差别非常大。

二、Influence

类别之间的语料数目不平衡是制约很多分类算法准确率的一个因素。很多分类器分类的时候都会倾向将语料分为大类,因此造成分类的准确率降低。但是不平衡分类这个问题是确实存在而且普遍存在的,很多时候那些少数类才是值得我们关注的。例如,网络攻击,信用卡非法交易,等。信用卡非法交易是属于少类,分类是少类的语料准确率低,难以发现这个非法的记录。
为啥少类语料分类准确率低?因为少类语料的特征不明显,容易跟噪声语料混在一起。而大部分的分类方法都是基于特征来进行分类。少类特征不明显,因此也难以将少类的语料区别出来。

三、别人的解决办法

常规的做法:

数据层面:

过抽样

  • 直接复制,即不断复制类别样本数少的类别样本。
  • 插值法:通过对样本归一化,采样,求得样本分布,极值,均值等,然后根据样本分布,极值,均值来生成新样本来扩充样本数目。

欠抽样

  • 直接删除
  • 随机减少多数类样本的数量。

算法层面:

Weighted loss function,一个处理非平衡数据常用的方法就是设置损失函数的权重,使得少数类判别错误的损失大于多数类判别错误的损失。在python的sk-learn中我们可以使用class_weight参数来设置权重,提高少数类权重,例如设置为多数类的10倍。

RBG和Kaiming给出的相当牛逼的方法,这里不做详细介绍。
详情见链接:http://blog.csdn.net/u014380165/article/details/77019084

看到一篇博客:
感觉脑洞很大,一种特殊的过抽样

本文首先分析样本数少的类别,通过文本句法依赖分析,文本词性标记分析词的相关属性,然后采用同义词替换的方式生成新的文本。方法简单有效

https://blog.csdn.net/u014535908/article/details/79035653

四、个人的解决办法

暂时没有想好,要尝试一下,结果出来再填上

五、Reference

https://blog.csdn.net/jerryfy007/article/details/72904257
http://blog.sina.com.cn/s/blog_afa352bf0102vo57.html
https://blog.csdn.net/u014380165/article/details/77019084

相关文章
|
8月前
|
自然语言处理 数据挖掘 语音技术
自然语言处理的分类
自然语言处理的分类
78 1
|
9月前
|
机器学习/深度学习 自然语言处理 算法
自然语言处理算法与文档管理软件:提升搜索与分类效率的未来
如果想要让你的文档管理软件更智能、更易用,那就让我们聊一聊如何巧妙地应用自然语言处理(NLP)算法吧!这绝对是提升用户体验和工作效率的“绝佳利器”!下面是一些能帮你通过自然语言处理算法提升文档管理软件的搜索和分类效率的方法——
107 1
|
5天前
|
机器学习/深度学习 自然语言处理 算法
【从零开始学习深度学习】49.Pytorch_NLP项目实战:文本情感分类---使用循环神经网络RNN
【从零开始学习深度学习】49.Pytorch_NLP项目实战:文本情感分类---使用循环神经网络RNN
|
5天前
|
机器学习/深度学习 算法 PyTorch
【从零开始学习深度学习】50.Pytorch_NLP项目实战:卷积神经网络textCNN在文本情感分类的运用
【从零开始学习深度学习】50.Pytorch_NLP项目实战:卷积神经网络textCNN在文本情感分类的运用
|
1月前
|
机器学习/深度学习 存储 自然语言处理
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类
|
1月前
|
机器学习/深度学习 自然语言处理 数据格式
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
|
机器学习/深度学习 自然语言处理 数据可视化
【自然语言处理(NLP)】基于GRU实现情感分类
【自然语言处理(NLP)】基于GRU实现情感分类,基于百度飞桨开发,参考于《机器学习实践》所作。
557 1
【自然语言处理(NLP)】基于GRU实现情感分类
|
机器学习/深度学习 自然语言处理 数据可视化
【自然语言处理(NLP)】基于循环神经网络实现情感分类
【自然语言处理(NLP)】基于循环神经网络实现情感分类,基于百度飞桨开发,参考于《机器学习实践》所作。
305 1
【自然语言处理(NLP)】基于循环神经网络实现情感分类
|
机器学习/深度学习 自然语言处理 算法
NLP(2) | 中文分词分词的概念分词方法分类CRFHMM分词
NLP(2) | 中文分词分词的概念分词方法分类CRFHMM分词
144 0
NLP(2) | 中文分词分词的概念分词方法分类CRFHMM分词
|
XML JSON 自然语言处理
NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量(二)
NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量

热门文章

最新文章