【每周一文】Convolutional Neural Network for text/sentence classification(2016)

原创 2016年11月20日 11:23:01

概述

卷积神经网络(CNN)相比于基于词袋模型的DNN有以下优点:
1. 能够捕获局部的位置信息
2. 能够方便的将不定长的输入转换成定长输入接入到DNN网络中
3. 相比于RNN模型计算复杂度低,在很多任务中取得不错的效果。

在自然语言处理(NLP)的分类任务中,文本分类或者句子分类也能表现比较好的效果,甚至达到state of art效果。

另外如果借助于预训练的词向量、字向量或者字符向量效果更佳。

本文介绍CNN在分类任务中应用模式。

文本分类应用

句子分类

借助词向量将句子表示成二维矩阵,直接套用经典的CNN框架。可以调节的超参数包括词向量长度以及算法、区域大小、过滤器个数、pooling层策略、正则项

基础架构如下:
这里写图片描述

介绍如下

  1. 上图展示的是两个频道的向量表示作为输入,一个卷积层一个pooling层最后跟多个全连接层。
  2. 两个频道层,可以理解层两个不同算法的词向量表示,或者一个算法一个频道保持静态,即不作为参数改变,另外一个频道根据特定模型进行细粒度调优。
  3. 卷积层可以选择一个region的多个过滤器,或者不同宽度的过滤器进行卷积操作
  4. pooling层常常选择max-pooling就能达到非常好的效果。

短文本分类

借助于字向量、字符向量对短文本进行建模,从而得到句子级别的向量表示,最后用于分类问题,在情感分析中取得较好的效果。

建模流程为

  1. 对于输入句子包含n个词w1,w2,...,wn,每个词w_i表示成一个向量表示ui=[rwrd;rwch],其中前半部分是字向量一般能够对语义或者结构信息进行建模;后半部分能够对词的形态学或者词结构进行建模。
  2. 词向量表示算法比较固定
  3. 根据字符向量得到rwch,本文是通过一层卷积层获取得到,思路如下图这里写图片描述
  4. 句子级别向量表示,此时可以套用二维的CNN模型进行处理。

文本分类

主要借助于字符级别的CNN网络结构对长文本进行分类。一个主要优势是不需要获取字符的向量表示,可以处理不同长度的问题,模型可以处理多种语言。劣势需要大量的训练数据。

模型框架如下图
这里写图片描述

流程介绍

1.字符量化,确定字符集合,对于英文文本选择26个字母,区分大小写,外加一些标签符号
2. 字符直接采用one hot的表示方法
3. 此时输入文本可以表示为二维向量,采用二维CNN模型进行模型训练。
4. 建立深度的CNN模型,采用6个卷积层和3个全连接层组成
5. 由于模型深度较大,因此需要更多的训练数据

结论

本节介绍了CNN如何应用到文本分类中,已经可能的模型架构。

参考文献
1. Character-level Convolutional Networks for Text Classification
2. A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification
3. Convolutional Neural Networks for Sentence Classification
4. Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts

相关文章推荐

卷积神经网络(CNN)在句子建模上的应用

转载自:http://www.jeyzhang.com/cnn-apply-on-modelling-sentence.html 之前的博文已经介绍了CNN的基本原理,本文将大概总结一下最近CN...
  • memray
  • memray
  • 2016年05月19日 15:29
  • 9584

Convolutional Neural Network For Sentence Classification(CNN情感分析yoom例子一)

转自http://blog.csdn.net/lyy14011305/article/details/72811140 用卷积神经网络对句子分类  Yoon Kim  纽约大学  Yhk255@ny...
  • lyb3b3b
  • lyb3b3b
  • 2017年06月05日 20:22
  • 518

Convolutional Neural Networks for Sentence Classification笔记整理

大家好,初次写博文还有点小激动,还希望大家多多指教!         该同学现在在读研二,主要研究内容自然语言处理方向中的文本分类,希望利用的方法呢就是目前最最最最火的深度学习。目前阶段尚处于文...

Recurrent Convolutional Neural Networks for Text Classification阅读笔记

下面是我对这篇文章内容的整理,因为刚刚接触这一方向,读的这方面的文章还比较少,知识的了解也不够,如果有不对的地方还请大家批评指正,谢谢!                               ...

论文《Recurrent Convolutional Neural Networks for Text Classification》总结

《Recurrent Convolutional Neural Networks for Text Classification》论文来源:Lai, S., Xu, L., Liu, K., & Zh...

几种使用了CNN(卷积神经网络)的文本分类模型

几种使用了CNN(卷积神经网络)的文本分类模型  谈到文本分类,就不得不谈谈CNN(Convolutional Neural Networks)。这个经典的结构在文本分类中取得了不俗的结果,...

论文笔记《Convolutional Neural Networks for Sentence Classification》

CNN+word2vec
  • xum2008
  • xum2008
  • 2016年02月12日 19:53
  • 1088

Implementing a CNN for Text Classification in TensorFlow(用tensorflow实现CNN文本分类) 阅读笔记

基于tensorflow实现卷积神经网络文本分类 数据和预处理 数据集:电影评论数据——Movie Review data from Rotten Tomatoes,包含5331个积极的评...
  • aPYXa
  • aPYXa
  • 2016年07月19日 15:06
  • 6109

使用TensorFlow实现一个文本分类的卷积神经网络Implementing a CNN for Text Classification in TensorFlow

The full code is available on Github. In this post we will implement a model similar to Kim Yoo...

我的Gnome Shell桌面折腾日志

几天前我分享了我的Gnome Shell桌面,有同学希望我分享一下折腾日志,其实我自己也想写一篇关于 Gnome shell 桌面主题安装的折腾文章,要知道在 gnome-look.org 网站上有很...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【每周一文】Convolutional Neural Network for text/sentence classification(2016)
举报原因:
原因补充:

(最多只允许输入30个字)