CNN 是卷积神经网络,通常用于图像领域,并且在图像分类取得非常好的效果。2014 年 Yoon Kim 在论文《Convolutional Neural Networks for Sentence Classification》中将 CNN 的思想应用到文本处理中,后续很多把 ConvNet 用在 NLP 任务上的工作都是基于这篇论文进行的。
1. CNN 文本分类模型
本文主要是对原始论文《Convolutional Neural Networks for Sentence Classification》内容的整理,首先了解 CNN 文本分类模型整体结构,下图是论文中的模型图。
![e1fc915a05a9667d1926af9734cf0443.png](https://img-blog.csdnimg.cn/img_convert/e1fc915a05a9667d1926af9734cf0443.png)
CNN 文本分类模型
可以看到模型比较简单,主要分为四个部分:输入层、卷积层、最大池化层、全连接层。
1.1 输入层
给定一个句子,输入层接收的输入是一个句子单词词向量矩阵 X,X 是一个 (n×k) 的矩阵,n 表示句子中单词数量,k 表示词向量维度。可以看到 X 的每一行对应了一个单词的词向量,而单词的词向量按照它们在句子中的顺序进行排列。
1.2 卷积层
在得到输入的词向量矩阵