深度学习算法原理——TextCNN

论文地址:Convolutional Neural Networks for Sentence Classification

这篇文章是首次将CNN模型应用在文本分类中,在我的工作中,也是经常需要使用到TextCNN这样的文本分类方法。

1. TextCNN的网络结构

深度学习算法原理——TextCNN_第1张图片
TextCNN的模型结构中主要包含如下的几个部分:

  • Embedding层:将词映射成对应的向量。以上图为例,7个词被影射到对应的 k k k维向量中,构成 7 × k 7\times k 7×k的矩阵;
  • Convolutional层:对词映射后的特征做卷积操作,注意,这里的卷积是一维卷积;
  • Pooling层:对卷积后的结果做pooling操作;
  • 全连接层:最后接一层全连接的 softmax 层,输出每个类别的概率。

对此过程,有一张更具体的图,如下所示:

深度学习算法原理——TextCNN_第2张图片

2. 词向量的一维卷积

对于上述的 7 × 5 7\times 5 7×5的向量,设计 6 6 6个卷积核,从上到下大小分别为: 4 × 5 4\times 5 4×5 4 × 5 4\times 5 4×5 3 × 5 3\times 5 3×5 3 × 5 3\times 5 3×5 2 × 5 2\times 5 2×5 2 × 5 2\times 5 2×5

3. 词映射成向量

在文中也介绍到词映射成向量,有两种方式:

  • 动态:指利用随机初始化的方法,词的向量也参与到模型的训练过程中;
  • 静态:事先利用word2vec等词向量训练方法,得到固定的词向量,在使用的时候通过查表的方式取得,不参与模型的训练。

你可能感兴趣的:(Deep,Learning)