引言

这是对经典的TextCNN1论文的阅读笔记。

核心思想

使用CNN来做句子级分类任务。

作者提出了一种将简单的CNN应用在无监督方法(word2vec或Glove)得到的词向量上,来完成句子分类任务。

主要思想提现在上图。下面通过符号来描述一下。

令xi∈Rkx_i \in \Bbb{R}^kxi​∈Rk表示句子中第iii个单词对应的kkk维向量,假设句子最大长度为nnn(短的则填充),表示为:
x1:n=x1⊕x2⊕⋯⊕xn(1)x_{1:n} = x_1 \oplus x_2 \oplus \cdots \oplus x_n \tag{1} x1:n​=x1​⊕x2​⊕⋯⊕xn​(1)
其中$\oplus 是拼接操作;是拼接操作;是拼接操作;x_{i:i+j}表示单词序列表示单词序列表示单词序列x_i,x_{i+1},\cdots, x_{i+j}$的拼接。

卷积操作用到的过滤器w∈Rhkw \in \Bbb{R}^{hk}w∈Rhk,应用到hhh个单词的窗口上来产生一个新的特征。比如,特征cic_ici​由单词序列xi:i+h−1x_{i:i+h-1}xi:i+h−1​的窗口产生:
ci=f(w⋅xi:i+h−1+b)(2)c_i = f(w \cdot x_{i:i+h-1} + b) \tag{2} ci​=f(w⋅xi:i+h−1​+b)(2)
这里b∈Rb \in \Bbb{R}b∈R是偏置项,fff是非线性函数,得到的特征cic_ici​是一个实数。

重复应用该过滤器到句子中可能的单词窗口{x1:h,x2:h+1,⋯,xn−h+1:n}\{x_{1:h},x_{2:h+1},\cdots,x_{n-h+1:n}\}{x1:h​,x2:h+1​,⋯,xn−h+1:n​}上得到特征向量(feature map):
c=[c1,c2,⋯,cn−h+1](3)c = [c_1,c_2,\cdots, c_{n-h+1}] \tag{3} c=[c1​,c2​,⋯,cn−h+1​](3)
其中c∈Rn−h+1c \in \Bbb{R}^{n-h+1}c∈Rn−h+1,接着在特征向量上应用一个max-over time池化操作得到向量中值最大的元素c^=max⁡{c}\hat c =\max\{c\}c^=max{c}作为该过滤器得到的特征,这为了得到最重要的特征。

这样一个过滤器得到了一个特征,通过应用多个过滤器(窗口大小不同)并进行池化后就得到了多个特征。

这些特征构成了模型的倒数第二层,然后传递到一个包含Softmax的全连接层就得到了最终的输出。

实验结果

  • CNN-rand: 基准模型,其中所有的单词向量是随机初始化,随着训练更新;
  • CNN-static: 使用wrod2vec作为单词向量的模型,所有的单词向量都是静态不会更新的;
  • CNN-non-static: 与上面的类似,但是单词向量跟着不同的任务进行微调;
  • CNN-multichannel: 包含两个单词集合的模型。每个集合看成是一个通道(channel),每个过滤器都应用到这两个通道上,但是梯度更新只在一个通道上进行。这两个单词集合都是基于word2vec初始化。

Reference


  1. Convolutional Neural Networks for Sentence Classifification ↩︎

[论文笔记]Convolutional Neural Networks for Sentence Classification相关推荐

  1. 论文阅读:Convolutional Neural Networks for Sentence Classification 卷积神经网络的句子分类

    Convolutional Neural Networks for Sentence Classification 卷积神经网络的句子分类 目录 Convolutional Neural Networ ...

  2. 【文本分类】Convolutional Neural Networks for Sentence Classification

    ·摘要:   本文作者将CNN引用到了NLP的文本分类任务中. ·参考文献:   [1] Convolutional Neural Networks for Sentence Classificati ...

  3. Convolutional Neural Networks for Sentence Classification用于句子分类的卷积神经网络

    Convolutional Neural Networks for Sentence Classification 论文任务:用卷积神经网络(CNN)在预先训练好的词向量上进行句子级分类任务 论文借用 ...

  4. Convolutional Neural Networks for Sentence Classification(卷积神经网络句子分类)

    目录 摘要 原文 翻译 单词解释 技术解读 引言 原文 翻译 单词解释 技术解读 原文 翻译 单词解释 技术解读 原文 翻译 单词解释 技术解读 原文 翻译 单词解释 技术解读. Model 原文 单 ...

  5. Convolutional Neural Networks for Sentence Classification论文解读

    本文将CNN和NLP结合: 介绍了一系列的对比实验,实验结果说明了: 一个简单的(单层神经网络)的CNN模型 一点超参数的调节(Filter的个数) static word vector 另外,对cn ...

  6. 【论文笔记】Convolutional Neural Networks for Sentence Classification

    Model \(x_i\in{\mathbb{R}^k}\) :第\(i\)个词的\(k\)维词向量表示 经过padding后长度为\(n\)个句子被表示为\(x_{1:n}\), 形状为\(n\ti ...

  7. CNN在文本分类的应用(内有代码实现) 论文Convolutional Neural Networks for Sentence Classification

    一.CNN文本分类简介 文本分类是NLP领域的一个重要子任务,文本分类的目标是自动的将文本打上已经定义好的标签,常见的文本分类任务有: 用户评论的情感识别 垃圾邮件过滤 用户查询意图识别 新闻分类 由 ...

  8. Convolutional Neural Networks for Sentence Classification 阅读笔记

    1.本文解决了什么问题? 本文以预训练好的词向量矩阵表示一个句子,并且将其作为卷积神经网络的输入层,再通过标记好的 数据训练出神经网络模型从而达到预测数据类别的效果. 本文于14年发表,至今已被引用了 ...

  9. Convolutional Neural Networks for Sentence Classification

    论文总体结构 一.摘要 使用卷积神经网络处理句子级别文本分类,并在多个数据集上有好的效果 二.Introduction(背景介绍) 使用预训练词向量和卷积神经网络,提出一种有效分类模型 本文的主要契机 ...

  10. [NLP-CNN] Convolutional Neural Networks for Sentence Classification -2014-EMNLP

    1. Overview 本文将CNN用于句子分类任务 (1) 使用静态vector + CNN即可取得很好的效果:=> 这表明预训练的vector是universal的特征提取器,可以被用于多种 ...

最新文章

  1. java中的io系统详解
  2. 山东省青岛市黄海学院计算机考试,2017年3月山东计算机等级考试考点联系方式...
  3. The greatest happiness 2019-11-13
  4. Mac下给sublime text3配置Nodejs
  5. python3+Scrapy爬虫入门
  6. EntityFramework_MVC4中EF5 新手入门教程之三 ---3.排序、 筛选和分页
  7. Spring Data JPA 从入门到精通~Criteria概念的简单介绍
  8. java中文件如何加密压缩?
  9. hdu-1173(最短距离)
  10. Overture打谱软件免费安装下载版介绍
  11. 个人微信api接口调用,微信加好友、新增好友通知
  12. 《打开量化投资的黑箱》
  13. PowerDesigner16.5的下载、安装
  14. PHP HTML转PDF
  15. 有书共读:《穷查理宝典》
  16. 2019BJFU 网站设计(孙俏-web前端开发)实验代码-181002222
  17. UINO优锘:DCV产品发展历程
  18. linux 下安装mantis
  19. 【牛客】前端工程师-HTML专项练习知识点整理(一)
  20. SpringMVC之HandlerMethodReturnValueHandler

热门文章

  1. Oracle使用手册(二)---流程控制
  2. Java并发编程(三)什么是线程池
  3. java新手笔记18 类比较
  4. [LeetCode] Spiral Matrix II
  5. [收藏]深入浅出的《网络socket编程指南》4
  6. list转datatable,SqlBulkCopy将DataTable中的数据批量插入数据库
  7. camelCase骆驼拼写法
  8. 怎么将后缀为.opt,.frm,.myd,.myi文件还原或者是导入mySQL中
  9. DiscuzNT改造-远程图片自动采集-DNT2.5(自动采集、源码下载)
  10. 使用计数器、译码器,在数码管上显示1~4