基于tensorflow、CNN、清华数据集THUCNews的新浪新闻文本分类

本文介绍了基于TensorFlow和CNN的新浪新闻文本分类项目,使用清华THUCNews数据集,涉及数据预处理、词汇表构建、模型训练及评估。通过卷积神经网络对80多万条新闻进行分类,达到了较高的F1score。
摘要由CSDN通过智能技术生成

2018年10月14日笔记

tensorflow是谷歌google的深度学习框架,tensor中文叫做张量,flow叫做流。
CNN是convolutional neural network的简称,中文叫做卷积神经网络。
文本分类是NLP(自然语言处理)的经典任务。
项目成果如下图所示:

10345471-8e5645608a0c8747.png
image.png

清华论文使用技术:bigram特征选取、Chi-square特征降维、tfidf权重计算、LibSVM模型,
2016年论文,链接: http://nlp.csai.tsinghua.edu.cn/site2/index.php/zh/codes/242-thuctc
我使用技术:word-embedding、CNN
使用CNN做文本分类比传统机器学习方法提高precision值0.05,F1score值0.08
因为CNN不需要分词,训练tfidf模型,程序运行时间节省10倍以上。

0.编程环境

操作系统:Win10
python版本:3.6
集成开发环境:jupyter notebook
tensorflow版本:1.6

1.致谢声明

本文是作者学习《使用卷积神经网络以及循环神经网络进行中文文本分类》的成果,感激前辈;
github链接:https://github.com/gaussic/text-classification-cnn-rnn

2.配置环境

使用卷积神经网络模型要求有较高的机器配置,如果使用CPU版tensorflow会花费大量时间。
读者在有nvidia显卡的情况下,安装GPU版tensorflow会提高计算速度50倍。
安装教程链接:https://blog.csdn.net/qq_36556893/article/details/79433298
如果没有nvidia显卡,但有visa信用卡,请阅读我的另一篇文章《在谷歌云服务器上搭建深度学习平台》,链接:https://www.jianshu.com/p/893d622d1b5a

3.下载并解压数据集

两种下载方式效果相同:
1.官方数据集下载链接: http://thuctc.thunlp.org/message
2.百度云盘下载链接: https://pan.baidu.com/s/1OC2uMoVHAWtX4mfOv6urCg 提取码: qphu
数据集大小:1.45GB
样本数量:80多万
数据集详情链接:http://thuctc.thunlp.org
压缩文件THUCNews.zip选择解压到当前文件夹,如下图所示。

10345471-cdef8957f7a36dd6.png
image.png

使用BandZip解压需要大约 25分钟
使用7zip解压需要大约 50分钟
使用WinRAR解压需要大约 100分钟
所以推荐读者下载并安装BandZip解压软件,下载链接: http://www.bandisoft.com/bandizip/
进入下载页面后,下载按钮如下图所示:
10345471-6613536b36957b8f.png
image.png

压缩文件夹 THUCNews中有14个文件夹,如下图所示:
10345471-a812263f077549bb.png
image.png

14个新闻类别中打开 财经文件夹,如下图所示:
10345471-5d06fd767709c58b.png
image.png

从上面的图中可以看出,每个类别文件夹中有若干文本文件,每个文本文件中内容表示1篇新闻。

4.获取数据

4.1 获取文本文件路径

import os

def getFilePathList(rootDir):
    filePath_list = []
    for walk in os.walk(rootDir):
        part_filePath_list = [os.path.join(walk[0], file) for file in walk[2]]
        filePath_list.extend(part_filePath_list)
    return filePath_list
filePath_list = getFilePathList('THUCNews')
len(filePath_list)

上面一段代码的运行结果如下:

836062

从上面的运行结果可以看出,文件路径列表中共有836062个元素,即在THUCNews文件夹中总共有836062个文本文件。

4.2 获取所有样本标签

Windows和Linux系统路径字符串的间隔符有区别,本文作者是Windows系统。

label_l
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值