用CNN做NLP文本分类竞赛
点击我爱计算机视觉标星,更快获取CVML新技术
本文来自于FlyAI竞赛社区,对于想要了解NLP的朋友有帮助。
搜狗新闻文本分类是NLP的入门问题,本文使用keras框架通过构建CNN+BiGRU网络,实现了在搜狗新闻文本数据集上91+的准确率。
◆◆
数据集来源
◆◆
该数据集来自若干新闻站点2012年6月—7月期间国内,国际,体育,社会,娱乐等18个频道的新闻数据。
根据新闻正文内容分析新闻的类别数据集官网链接:
http://www.sogou.com/labs/resource/tce.php.
该数据集样例格式如下所示:
在 FlyAI竞赛平台上 提供了超详细的参考代码,我们可以通过参加搜狗新闻文本分类预测练习赛进行进一步学习和优化。
◆◆
代码实现
◆◆
1.1、算法流程及实现
算法流程主要分为以下四个部分进行介绍:
1.数据加载
2.构建网络
3.模型训练
1.数据加载
对每条新闻数据的读取和处理是在processor.py文件中完成。
具体实现如下:
2.构建网络
由于是搜狗新闻文本类数据,这里我们可以使用一维卷积Conv1D + BiGRU来构建网络,网络结构如下所示:
运行summary()方法后输出的网络结构如下图:
3.模型训练
这里我们设置了epoch为5,batch为128,采用adam优化器来训练网络,EarlyStopping可以加速调参过程。然后通过调用FlyAI提供的train_log方法可以在训练过程中实时的看到训练集和验证集的准确率及损失变化曲线。
1.2.最终结果
通过使用自定义CNN网络结构+双向GRU网络的方法,在epoch为10,batch为128的条件下使用adam优化器下不断优化模型参数,使用early_stopping规则在model训练达到early_stopping条件时提前终止训练提高model优化效率,最终模型在测试集的准确率达到91+。
END
更多详情可
扫描下方二维码添加CV君拉你入群
和大神一起打比赛
备注“FlyAI”
免费p40 GPU时长等你来领
点击“阅读原文”直达竞赛
用CNN做NLP文本分类竞赛相关推荐
- tensorflow 学习笔记使用CNN做英文文本分类任务
使用CNN做英文文本分类任务 本文同时也是学习唐宇迪老师深度学习课程的一些理解与记录. 文中代码是实现在TensorFlow下使用卷积神经网络(CNN)做英文文本的分类任务(本次是垃圾邮件的二分类任务 ...
- 第六课.NLP文本分类任务
第六课目录 NLP文本分类简介 IMDB数据集准备 设置随机种子 下载IMDB并划分数据集 构建词汇表 使用torchtext生成batch WordAveraging 模型定义 加载由glove.6 ...
- fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择 作者:机器人圈 / 微信号:ROBO_AI发表时间 :2017-07-28 图:pixabay
fastText.TextCNN.TextRNN--这里有一套NLP文本分类深度学习方法库供你选择 「机器人圈」编译:嗯~阿童木呀.多啦A亮 这个库的目的是探索用深度学习进行NLP文本分类的方法. 它 ...
- [NLP] 文本分类之TextCNN模型原理和实现(超详细)
1. 模型原理 1.1论文 Yoon Kim在论文(2014 EMNLP) Convolutional Neural Networks for Sentence Classification提出Tex ...
- TensorFlow使用CNN实现中文文本分类
TensorFlow使用CNN实现中文文本分类 读研期间使用过TensorFlow实现过简单的CNN情感分析(分类),当然这是比较low的二分类情况,后来进行多分类情况.但之前的学习基本上都是在英文词 ...
- 详解CNN实现中文文本分类过程
摘要:本文主要讲解CNN实现中文文本分类的过程,并与贝叶斯.决策树.逻辑回归.随机森林.KNN.SVM等分类算法进行对比. 本文分享自华为云社区<[Python人工智能] 二十一.Word2Ve ...
- NLP文本分类大杀器:PET范式
作者 | 周俊贤 整理 | NewBeeNLP 之前我们分享了NLP文本分类 落地实战五大利器!,今天我们以两篇论文为例,来看看Pattern Exploiting Training(PET)范式,可 ...
- NLP——文本分类模型(HAN)(三)
NLP--文本分类模型(HAN)(三) 1.引入 1. NLP--文本分类模型(一) 2. NLP--文本分类模型(二) 在之前的文章中,我们介绍了基于CNN机制是如何应用于文本分类.近些年来Atte ...
- TensorFlow – 使用CNN进行中文文本分类
使用卷积神经网络(CNN)处理自然语言处理(NLP)中的文本分类问题.本文将结合TensorFlow代码介绍: 词嵌入 填充 Embedding 卷积层 卷积(tf.nn.conv1d) 池化(poo ...
最新文章
- shell处理mysql增、删、改、查
- VTK:小部件之ImageTracerWidgetNonPlanar
- .NET平台PE结构分析之Metadata(一)
- R学习-- 数组和矩阵
- mysql- 外键与 级联删除
- matplotlib散点图点大小_机器学习Web应用:matplotlib教程
- JAVA总裁--Java数组基础知识
- imregionalmax imregionalmin imextendedmax imextendedmin imhmax imhmin 函数的详解 matlab中函数
- MongoDB数据库设计中6条重要的经验法则,part 2
- linux远程ssh的端口映射,SSH端口映射
- Blender的一些使用小结,在辣椒酱基础上加了点,会持续更新
- 2021 年“认证杯”网络挑战赛 B 题(第一阶段)
- 计算机win7设置用户密码,怎么给win7电脑设置开机密码_w7电脑开机密码怎么设置...
- JAVA 腾讯企业邮箱发送邮件
- mumax3 linux安装教程
- 第二章 查询结果排序(SQL server经典实例)
- 手机怎么进ph_干货 | 关于pH调整的有效方法
- Windows下显卡支持的cuda及配套GPU版本pytorch下载全流程(2022.03.27)
- TruckSim搭仿真车跑偏解决办法
- 360众测重装上阵,创新服务模式重塑众测新业态
热门文章
- VC 系统托盘 气泡提示
- KMP算法(待优化)--2015年7月25日14:04:25V1.0版
- java jdbc 批处理_Java JDBC批处理插入数据操作
- linux io100的原因_Unix与Linux的区别与联系
- java 线程参数 用final,JAVA 关于final修饰变量参数
- python两数相加取_两数相加(Python3)
- 数学不好的人可以学python吗_数学不好的人,适合学习深度学习,机器学习,人工智能吗?...
- slope one matlab代码,经典推荐算法之 Slope one
- 【数据库】navicat运行sql文件报错
- 打印设置自定义表尾_如何自定义凭证汇总表打印页面设置