概述
卷积神经网络(CNN)相比于基于词袋模型的DNN有以下优点:
1. 能够捕获局部的位置信息
2. 能够方便的将不定长的输入转换成定长输入接入到DNN网络中
3. 相比于RNN模型计算复杂度低,在很多任务中取得不错的效果。
在自然语言处理(NLP)的分类任务中,文本分类或者句子分类也能表现比较好的效果,甚至达到state of art效果。
另外如果借助于预训练的词向量、字向量或者字符向量效果更佳。
本文介绍CNN在分类任务中应用模式。
文本分类应用
句子分类
借助词向量将句子表示成二维矩阵,直接套用经典的CNN框架。可以调节的超参数包括词向量长度以及算法、区域大小、过滤器个数、pooling层策略、正则项
基础架构如下:
介绍如下
- 上图展示的是两个频道的向量表示作为输入,一个卷积层一个pooling层最后跟多个全连接层。
- 两个频道层,可以理解层两个不同算法的词向量表示,或者一个算法一个频道保持静态,即不作为参数改变,另外一个频道根据特定模型进行细粒度调优。
- 卷积层可以选择一个region的多个过滤器,或者不同宽度的过滤器进行卷积操作
- pooling层常常选择max-pooling就能达到非常好的效果。
短文本分类
借助于字向量、字符向量对短文本进行建模,从而得到句子级别的向量表示,最后用于分类问题,在情感分析中取得较好的效果。
建模流程为
- 对于输入句子包含n个词 w1,