句子分类_竞赛打卡 | NLP新闻文本分类

 竞赛打卡

今年想增加一些竞赛经历,冲一冲排行榜,所以用这种方式来记录学习过程,利用【输出】来倒逼【输入】。第一次选择的是入门级新人挑战赛—新闻文本分类挑战赛。训练集和测试集可在天池官网下载

2e0fb7ca213ac5a286f20aeed19ee9e6.png

赛题以自然语言处理为背景,要求选手根据新闻文本字符对新闻的类别进行分类。作为一个经典的文本分类问题,它可以引导我们走入自然语言处理的世界,接触NLP的预处理、模型构建和模型训练等知识点

训练集数据为20万条新闻文本,并按照字符级别进行匿名处理,整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐。每条新闻都被编码为整数序列,一个单词对应一个整数。测试集有五万条不带标签的数据,我们的任务是训练模型,将测试集中每一条新闻的标签进行正确分类。

46ba230bd6df861dc7fbc5c98613b66c.png

数据读取

赛题数据为CSV存储格式,可以用Pandas直接进行数据读取。它主要用于数据分析,允许从各种文件格式(例如,逗号分隔的值,JSON,SQL,Microsoft Excel导入数据。同时也允许进行各种数据操作操作,例如合并,重塑,选择以及数据清理和数据整理功能。

在这里,我选择用read_csv()方法,先来看一下数据是什么样子

53367c1df006b332ce542c56d7985117.png

read_csv()可接受以下常用参数

filepath_or_buffer : various

文件路径,a str, 文件相对路径/,绝对路径, URL (including http, ftp, and S3 locations), 或者具有 read() 方法的任何对象 (such as an open file or StringIO).

sep

分隔符,为每行分割的字符,read_csv()默认为",",可设置为‘\t’

nrows

读取文件的行数。用于读取大文件的片段。

更多用法可参考Pandas官网文档

db78399b713699a6685e5ea5eda21267.png

数据分析

新闻文本长度

每行句子的字符使用空格隔开,因此可以用统计空格的数量来计算句子长度

a2c083472b768306061756db47bc74dc.png

可以看出,每个句子平均由907个字符构成,最短的句子长度是2,最长的句子长度是57921.为了直观感受一下句子长度,我们还可以绘制直方图。

56004dea06e90b5e32141fc8ec3af9dc.png

新闻类别分布

数据被划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐。我们可以具体统计每类新闻样本的个数

eb6d9c3614676bf3576388fa28a71f81.png

在数据集中标签的对应的关系如下:{'科技': 0, '股票': 1, '体育': 2, '娱乐': 3, '时政': 4, '社会': 5, '教育': 6, '财经': 7, '家居': 8, '游戏': 9, '房产': 10, '时尚': 11, '彩票': 12, '星座': 13}

可以看出,在训练集中科技类新闻最多,样本量接近40000,最少的是星座新闻。数据集类别分布存在较为不均匀的情况,会严重影响模型的精度

字符数量统计

观察数据文件,字符之间以空格相隔,我们可以先把所有句子进行拼接,然后统计每个字符出现的次数

784d0708c3a9a2c4533c07499dbabebd.png

从统计结果可以看出,共有6869个字符,其中编号3750出现次数最多,推测可能是标点符号“,”。由此可以想到,我们能大致推测平均一篇新闻由多少个句子构成。

5d9ca84f245efc49c2567718a11223d1.png 28c6bd6fb65c10b23315fdb752f45bd3.png

假设编号900是句号,以一个句号作为一个句子的结束。通过统计得出,平均一篇新闻有17个句子,最短的一篇仅有1个句子,最长的一篇新闻有735个句子

对新闻文本进行进一步分析,编号‘3750’,‘648’,‘900’很可能是标点符号。如果不考虑这些标点符号,还可以统计得出每一类新闻中出现次数最多的字符

89cee13a9f13ee3c3446dd43927ae6e9.png 02d9138c567b160d45f0b82c946bc636.png

分析结果

综合以上分析,我们得出的结论有:

1.训练集共20万条新闻,每个句子平均由907个字符构成,最短的句子长度是2,最长的句子长度是57921

2.新闻类别分布不均匀,科技类新闻最多,样本量接近40000,最少的是星座新闻。

3.对新闻文本进行进一步分析,编号‘3750’,‘648’,‘900’在文本中的覆盖率接近99%,很可能是标点符号。

4.训练集中不同类别的新闻中出现的词汇具有特色,但是需要去除共同的常用词。

下篇预告:

基于机器学习的文本分类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值