CNN 文本分类
下面就列举了几篇运用CNN进行文本分类的论文作为总结。
1 yoon kim 的《Convolutional Neural Networks for Sentence Classification》。(2014 Emnlp会议)
他用的结构比较简单,就是使用长度不同的 filter 对文本矩阵进行卷积,filter的宽度等于词向量的长度,然后使用max-pooling 对每一filter提取的向量进行操作,最后每一个filter对应一个数字,把这些filter拼接起来,就得到了一个表征该句子的向量。最后的预测都是基于该句子的。该模型作为一个经典的模型,作为很多其他改领域论文里实验参照。
2 《A Convolutional Neural Network for Modelling Sentences》(2014 ACL会议)
这个模型看起来就相对复杂一些,不过其基础也是基于卷积的。每一层的卷积操作之后同样会跟上一个max pooling操作。整个模型操作相对于上面的那个模型比较繁琐,同时我有以下几个比较质疑的地方:
1 倒数第二到倒数第三层使用了k-max 的pooling操作,也就是说第三层中相邻的词语对应于原来的句子可能不再是相邻的,而且它们只有相对的先后关系保存了下来。倒数第三层中不同卷积平面对应的词语在原句子中可能处于不同的位置,甚至是不同的词语,因此倒数第三道倒数第四之间的卷积是没有意义的。
2 关于这里的folding操作。把同一个词语向量的不用维度之间进行加法操作,这样原文里是这样解释的“With a folding layer, a feature detector of the i-th order depends now on two rows of feature values in the lower maps of order i -1.”。但是这样的操作有意义吗??从来没有见人提到用过,也许我们未来可以探索一下这样是否能够提高卷积器的性能。
3《A C-LSTM Neural Network for Text Classification》(arXiv preprint arXiv)
其实这篇论文里只是用cnn对原文的词向量以某一长度的filter进行卷积抽象,这样原来的纯粹词向量序列就变成了经过卷积的抽象含义序列。最后对原句子的encoder还是使用lstm,由于使用了抽象的含义向量,因此其分类效果将优于传统的lstm,这里的cnn可以理解为起到了特征提取的作用。
4 《Recurrent Convolutional Neural Networks for Text Classification》(2015 AAAi会议)
正如标题所说的,把lstm和cnn结合起来了,不过这个结合的方式和上面的不一样。举例来说对于词序列: A B C D E F来说,在形成C词的向量化表示的时候,使用的不再仅仅是C的word embedding,而是C左边的内容构成的向量和C以及C右边内容构成的向量的拼接形式。由于使用到了左右两边的内容故使用的是双向的Lstm。然后如图中所示使用1-d convolution的方式得到一系列的y,最后经过max-pooling的方式得到整个句子的向量化表示,最后的预测也是基于该句子的。
5 《Learning text representation using recurrent convolutional neural network with highway layers》(arXiv preprint arXiv)
这个模型几乎就是稍微的更改了一下4中的模型,只不过在C向量拼接完毕将要进行卷积操作之前经过了一个highway而已。(本人对于仅仅加了一个highway就能提高模型准确率的做法感到十分怀疑,毕竟这个网络的层数并不深)
CNN 文本分类的更多相关文章
- CNN文本分类
CNN用于文本分类本就是一个不完美的解决方案,因为CNN要求输入都是一定长度的,而对于文本分类问题,文本序列是不定长的,RNN可以完美解决序列不定长问题, 因为RNN不要求输入是一定长度的.那么对于C ...
- pytorch -- CNN 文本分类 -- 《 Convolutional Neural Networks for Sentence Classification》
论文 < Convolutional Neural Networks for Sentence Classification>通过CNN实现了文本分类. 论文地址: 666666 模型图 ...
- CNN 文本分类模型优化经验——关键点:加卷积层和FC可以提高精度,在FC前加BN可以加快收敛,有时候可以提高精度,FC后加dropout,conv_1d的input维度加大可以提高精度,但是到256会出现OOM。
network = tflearn.input_data(shape=[None, max_len], name='input') network = tflearn.embedding(networ ...
- CNN tensorflow text classification CNN文本分类的例子
from:http://deeplearning.lipingyang.org/tensorflow-examples-text/ TensorFlow examples (text-based) T ...
- 文本分类:Keras+RNN vs传统机器学习
摘要:本文通过Keras实现了一个RNN文本分类学习的案例,并详细介绍了循环神经网络原理知识及与机器学习对比. 本文分享自华为云社区<基于Keras+RNN的文本分类vs基于传统机器学习的文本分 ...
- 文本分类需要CNN?No!fastText完美解决你的需求(后篇)
http://blog.csdn.net/weixin_36604953/article/details/78324834 想必通过前一篇的介绍,各位小主已经对word2vec以及CBOW和Skip- ...
- 文本分类需要CNN?No!fastText完美解决你的需求(前篇)
http://blog.csdn.net/weixin_36604953/article/details/78195462?locationNum=8&fps=1 文本分类需要CNN?No!f ...
- 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践
https://zhuanlan.zhihu.com/p/25928551 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类 ...
- [转] 用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践
转自知乎上看到的一篇很棒的文章:用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文 ...
随机推荐
- shell脚本可以解决的问题
1.各类监控脚本,文件,内存,磁盘,端口 url 监控报警 2.监控网站目录文件是否被篡改,以及如何恢复 3.如何开发各类服务rsync nginx mysql等启动停止脚本 4.开发mysql主从复 ...
- RedHat 7.0更新升级openSSH7.4p1
由于目前服务器上ssh版本较低,存在安全漏洞,需要升级到最新版本. 系统版本:RedHat 7.0 旧openSSH版本:6.4p1 新openSSH版本:7.4p1 升级方式:源码安装 安装操作步骤 ...
- ZigBee相关网站链接
1.Arduino开源智能家居<认识Zigbee>zigbee功能和自组网介绍-Arduino中文社区 2.小米智能家庭套装为什么选择 ZigBee 协议?|极客公园 3.晓网智能家居Zi ...
- ArcGIS自定义工具箱-清空工作空间
ArcGIS自定义工具箱-清空工作空间 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:删除工作空间里的要素类,栅格和独立表 使用方法: 例如"C:\ ...
- idea常用快捷键及操作
ctrl+j ===== 智能提示 可用模版及关键字 ctrl+p ===== 显示方法可填入的参数 ctrl+space ===== 补全提示项目中可用的变量 ctrl+shift+j ==== ...
- selenium-java,selenium安装配置
准备材料 1.java jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.开发工具 https://ww ...
- Spring学习,初识Spring
Spring概述 将Spring理解为管理对象间依赖关系的容器 “解耦” 根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级业务逻辑 两类 ```Spring 是为了解决企业级开发的复 ...
- Java方法区(Method Area)
方法区与Java堆一样,是各个线程共享的内存区域,他在与存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据,虽然Java虚拟机规范把方法区描述为堆得一个逻辑部分,但是他却有一个别 ...
- 如何配置Java环境变量[转]
https://jingyan.baidu.com/article/fd8044fa2c22f15031137a2a.html
- pythone函数基础(8)内置函数学习
内置函数学习# sorted# map# filter# max# sum# round# chr# ord# dir# bool# eval# exec# zipimport mathres = m ...