我从THUCNews中抽取了20万条新闻标题,已上传至github,文本长度在20到30之间。一共10个类别,每类2万条。
类别:财经、房产、股票、教育、科技、社会、时政、体育、游戏、娱乐。
数据集划分:
数据集 | 数据量 |
---|---|
训练集 | 18万 |
验证集 | 1万 |
测试集 | 1万 |
python run.py --model TextCNN --word True
数据集、词表及对应的预训练词向量,已经打包好,详见THUCNews文件夹。
效果
完整项目和数据集代码获取地址:
关注微信公众号 datayx 然后回复 NLP实战 即可获取。
Python环境及安装相应依赖包
分析: 卷积操作相当于提取了句中的2-gram,3-gram,4-gram信息,多个卷积是为了提取多种特征,最大池化将提取到最重要的信息保留。
原理图如下:
终端运行下面命令,进行训练和测试:
训练过程如下:
训练及测试结果如下:使用CPU版本pytorch,耗时15分25秒,准确率90.99%