本文是基于TensorFlow使用RNN进行的中文文本分类的一篇学习笔记,作为初学者,参考别人的例子基本是重复写了一遍,刚开始遇到了很多问题,各种查资料,看代码,个人觉得自己动手写完一个小项目是很有效的学习方式。
首先简单说一下方法(这个例子很多人都做过,可作为初学者学习的入手Project)
代码地址:snow123321/Text-Classification-RNN
1、 RNN-中文文本分类
环境
Python 3
TensorFlow
数据集
使用THUCNews的一个子集进行训练与测试,数据集划分如下:
训练集cnews.train.txt 50000条
验证集cnews.val.txt 5000条
测试集cnews.test.txt 10000条
共分为10个类别:"体育","财经","房产","家居","教育","科技","时尚","时政","游戏","娱乐"。
cnews.vocab.txt为词汇表,字符级,大小为5000,根据频次选择的。
文件说明
data_loader.py:文本数据处理
lstmrnn_model.py:RNN模型,实验的基本配置参数
run_RNN.py:主函数文件
结果
在3epoch时停止训练,测试集上准确率85%,可继续通过调参