中文文本分类 python jieba sklearn pytorch

题目简介

赛题要求对商品标题进行分类,类似淘宝商品的中文文本标题作为特征,三级类别作为标签。评分占比:精度70% 效率30%
在这里插入图片描述

相关推荐

  • 🚀 AI Power 高性价比云GPU租借/出租平台:现在注册并绑定(参考Github)即可获得高额算力,打比赛赶论文必备,奖励可随时提现。详情请参考AI Power指南

数据分析

数据格式

  • 每行作为一个sample
    中文文本 + 制表符 + 类别标签
  • 训练集 50万 带标签样本,测试集 450万 无标签样本
  • 每个标签带有三级关系,逐层递进细分

数据分布

  • 数据不平衡 (Find 500000 samples in 22 1-class, 192 2-class, 1258 3-class)
    总共50w训练样本中含有22个一级类别,192个二级类别,1258个三级类别
    一级类别: 单一类最多包含样本: 82800, 最少: 350, 平均: 22727
    二级类别: 单一类最多包含样本: 63999, 最少: 12, 平均: 2604
    三级类别: 单一类最多包含样本: 26835, 最少: 11, 平均: 397
    在这里插入图片描述
  • 句长极差大
    最长句长达 97, 最短 5, 平均 42

ML

数据预处理

中文导入

  • with codecs.open(input_file, encoding='gb18030', errors="ignore") as infs:
    目前最新的标准是 GB18030 中文编码,按汉字收集量依次为 GB2312 < GBK < GB18030

jieba 分词

  • 使用多线程加速分词速度,线程数取 CPU 核心数。
    import jieba
    jieba.enable_parallel(cpu_count())
    
  • 直接使用中文文本无法参与计算,需要把一段中文文本转换为一连串的数字才可以。sklearn 中对文本的处理默认是针对英文的,所以为了使用sklearn 把我们的句子转换成数字,需要让中文句子看起来像英文句子一样。
    eg. I like artificial intelligence 我 喜欢 人工智能
    jieba在分词的时候,空格也会算作一个字符,如果提前去掉可能会破坏句子原本的语义信息,所以我们在分词后去掉
    在这里插入图片描述
    这里采用 jieba分词 默认的精确模式,更多细节点这里

jieba 关键词提取

除了以上分词方法之外,还可以直接提取关键词,这样做可以大大减少干扰项,降低数据维度,但也可能错过少量重要词汇。
在这里插入图片描述

同分布划分数据集

train_test_split(input_x,
				 input_y,
                 test_size=0.25,
                 random_state=66,
                 stratify=input_y
                )
  • 训练集测试集比例 3:1
  • 随机数种子统一设置66,方便复现
  • stratify=input_y 我们的数据集不同类别所含数据量严重失衡,直接切分会导致切分后的测试集漏包含某些类别。总共1258类数据,直接切分后训练集包含1258类,测试集仅包含1253类数据,这会导致部分类别不参与测试,而且也没法绘制混淆矩阵。将所有的标签 input_y 传入这个参数可以获得与原数据类别比例相同的测试集。

TF-IDF 词袋向量

  • CountVectorizer 词袋模型
    把训练集所有样本中出现的单词放入词袋,假设放入了5个词,那么每个句子将被表示成一个5维的向量,每一个维度的值表示一个特定词出现的次数。更多例子
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值