TextCNN

1. 学习任务

    《Convolutional Neural Networks for Sentence Classification 》

《基于卷积神经网络的句子分类》Yoon Kim 等  单位:New York University   会议:EMNLP2014

1.1 论文结构

在这里插入图片描述

1.2 学习目标

在这里插入图片描述

文章摘要部分

  1. 使用简单的CNN模型在预训练词向量基本上进行微调就可以在文本分类任务上得到很好的结果。
  2. 通过对词向量进行微调而获得的任务指向的词向量能够得到更好的结果。
  3. 我们也提出了一种即使用静态预训练词向量又使用任务指向词向量的文本分类模型。
  4. 最终我们在7个文本分类任务中的四个上都取得了最好的分类准确率。

1.3 背景知识

  • 深度学习的发展
  • 词向量的发展: NNLM --> word2vec --> GloVe
  • CNN的发展

1.3.1 研究意义

  开启了基于深度学习的文本分类的序幕,推动了卷积神经网络在自然语言处理的发展。

在这里插入图片描述
应用领域 CNN成为自然语言处理中一个重要的 特征提取器(后来的LSTMtransformer),用于字符嵌入,机器翻译等各种自然语言处理任务。

2. TextCNN 模型

在这里插入图片描述
  上图中 wait for的卷积核大小 2 × 6 2 \times 6 2×6(长宽不相等),可看成bi-gram 向下滑动。

  作用在 词向量 输入的第一个卷积核一般是 3x Embedding_size 大小的卷积核;在自然语言处理中一般使用的是N-gram信息,利用N-gram特征,要使用连续几个词的特征。(一个词的特征就是这个词的整个Embedding)

  作用在 图像 里面卷积核大小,一般是 3x3、5x5 大小的小卷积核;图像中像素上下左右都有一定的关系,一般采集区域的纹理信息,所有卷积核一般比较小。


  在 2017 AFNLP 上Ye Zhang 的 Paper A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence ClassificationTextCNN模型结构与参数设置有更好的实验描述。

在这里插入图片描述
输入层
    参考链接 - 简书 - 吾爱NLP(4)—基于Text-CNN模型的中文文本分类实战

TextCNN模型的输入层需要输入一个 定长 的文本序列,需要通过分析语料集样本的长度指定一个输入序列的长度L,比L短的样本序列需要填充(自己定义 填充符),比L长的序列需要 截取。最终输入层输入的是文本序列中各个词汇对应的分布式表示,即词向量。

对于输入层输入的词向量的表达方式,TextCNN模型的作者Kim在论文中也分析了几个变种的方式:
1.static(静态词向量)
  使用预训练的词向量,即利用word2vec、fastText或者Glove等词向量工具,在开放领域数据上进行无监督的学习,获得词汇的具体词向量表示方式,拿来直接作为输入层的输入,并且在TextCNN模型训练过程中不再调整词向量,这属于迁移学习在NLP领域的一种具体的应用。

2.non-static(非静态词向量)
  预训练的词向量+ 动态调整 , 即拿word2vec训练好的词向量初始化, 训练过程中再对词向量进行微调。

3.multiple channel(多通道)
  借鉴图像中的RGB三通道的思想, 这里也可以用 static 与 non-static 两种词向量初始化方式来搭建两个通道。

4.CNN-rand(随机初始化)
  指定词向量的维度embedding_size后,文本分类模型对不同单词的向量作随机初始化, 后续有监督学习过程中,通过BP的方向更新输入层的各个词汇对应的词向量。

卷积层

  在NLP领域一般卷积核只进行一维的滑动,即卷积核的宽度与词向量的维度等宽,卷积核只进行一维的滑动。

  在TextCNN模型中一般使用多个不同尺寸的卷积核。卷积核的高度,即窗口值,可以理解为N-gram模型中的N,即利用的局部词序的长度,窗口值也是一个超参数,需要在任务中尝试,一般选取2-8之间的值。

TextCNN 的流程 可查看 此链接。⭐️⭐️⭐️

2.1 TextCNN 正则化

  • Dropout
      在神经网络的传播过程中,让某个神经元以一定的概率p停止工作,从而增加模型的泛化能力。

在这里插入图片描述

图源:https://zhuanlan.zhihu.com/p/38200980

  • L2-正则化

在这里插入图片描述

图源:https://zhuanlan.zhihu.com/p/85630046

在限定的区域,找到使期望 E D ( w ) E_D(w) ED(w)最小的值。 图形表示为:

在这里插入图片描述

图源:https://zhuanlan.zhihu.com/p/85630046

2.2 实验结果与分析

  在 7个文本分类任务中的四个上取得了最好的分类效果。

  • CNN-rand: 使用随机初始化的词向量
  • CNN-static: 使用静态预训练的词向量
  • CNN-non-static: 使用微调的预训练的词向量
  • CNN-multichannel: 同时使用静态预训练的词向量和微调的预训练的词向量

在这里插入图片描述
  对于预训练词向量的微调可以改变词对之间的相似度关系。

在这里插入图片描述

2.3 论文总结

关键点

  • 预训练的词向量——Word2Vec、Glove
  • 卷积神经网络结构——一维卷积、池化层
  • 超参选择——卷积核选择、词向量方式选择

创新点

  • 提出了基于CNN的文本分类模型TextCNN
  • 提出了多种词向量设置方式
  • 在四个文本分类任务上取得最优的结果
  • 对超参进行大量实验和分析

启发点

  • 在预训练模型的基础上微调就能够得到非常好的结果,这说明预训练词向量学习到了一些通用的特征。
  • 在预训练词向量的基础上使用简单模型比复杂模型表现的还要好
  • 对于不在预训练词向量中的词,微调能够使得它们能够学习更多的意义。

参考链接- 深度之眼 - NLP baseline
参考链接 - 简书 - 流川枫AI - 吾爱NLP(4)—基于Text-CNN模型的中文文本分类实战
参考链接 - 博客园 - ModifyBlog -【原创】文本分类算法TextCNN原理详解(一)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值