《A Convolutional Neural Network for Modelling Sentences》论文阅读笔记
本篇论文发表于2014年的ACL
目录
-
1. 摘要
-
2. 引言
-
3. 背景
-
- 3.1 袋装词模型
- 3.2 连续的袋装词模型
- 3.3 多层次的连续性袋装词模型
- 3.4 n-gram语言模型
- 3.5 一维卷积神经网络/时延网络
- 3.6 循环神经网络(RNN)
- 3.7 递归神经张量网络(RNTN)
-
4.Model
-
- 4.1 宽卷积
- 4.2 k-max pooling
-
-
5. 实验结果分析
-
在影评情感分析任务中取得了显著性能提升
-
针对不同问题类型实现了精准分类能力
-
基于远程监督机制在Twitter上的情感分析性能表现优异
-
展示了特征检测器在文本可视化方面的应用效果
-
6. 讨论和总结
-
- 6.1 讨论
- 6.2 总结
- 7. 复现
-
1. Abstract
核心在于准确表现句子的能力。
我们被命名为动态卷积神经网络(DCNN)的卷积架构被描述出来。
该架构被用于对句子进行语义建模。
该网络被设计为采用动态k-Max Pooling作为其全局池化操作。
它生成了一个特征图,在此过程中能够明确具备捕获短程和长程关系的能力。
该网络被设计为不依赖解析树,并且很容易适用于任何语言。

在动态卷积神经网络中,在输入句子所诱导出的部分特征图中包含多个类似的子结构单元;每个单元都由独特的边连接;这些单元可以通过层级间的整合进一步融合;左半边图表突出了池化节点的重要性;卷积滤波器在不同层级上的宽度分别为3和2;通过动态池化机制的设计,在较高层级上具有较窄宽度的滤波器能够有效地连接起输入句子中相隔较远的关键短语
本研究对 DCNN 进行了评估,在包括小规模二元情感识别、多类别情感分析以及基于 Twitter 的六向问题分类等领域的实验中展开了深入研究。相较于现有最佳基准模型,在前三个任务中该网络展现出显著的优势,并且在第四项任务中的识别误差率较基准水平减少了约四分之三。
2. Introduction
句子建模旨在分析并表示句子的语义内容 ,以便实现分类或生成 。 句子建模问题构成了与自然语言理解相关的许多任务的核心 。 这些任务包括情感分析 、语义解析 、逻辑推理 、摘要生成 、对话分析 、机器翻译以及基础语言学习等 。 由于单独一个句子难以直接观察到 ,因此必须依据其频繁出现在句子中的单词及短n元语法特征来表征整个句子 。 句子模型的核心涉及一个特征函数 ,它决定了如何从单词或n-gram特征中提取关键信息以描述整个文本片段。
人们已经建立了不同种类的意义模型。 通过组合方法已生成了基于共现统计的词义向量表示,并能使得能够生成较长短语的向量(Erk 和 Pad´o, 2008;Mitchell 和 Lapata, 2008;Mitchell 和 Lapata, 2010;Turney, 2012;Erk, 2012;Clarke, 2012)。 在其他情况下,则需学习并设计组合函数,并使该函数与特定句法关系(Guevara, 2010;Zanzotto 等人, 2010)或特定单词类型(Baroni 和 Zamparelli, 2010;Coecke 等人, 2010;Grefenstette 和 Sadrzadeh, 等人)相关联。(Grefenstette 和 Sadrzadeh, 等人) ,随后分别在 2011 年、Kartsaklis 和 Sadrzadeh(2013 年)、Grefenstette(2013 年)等研究中有所探讨。 此外还有一种方法能够通过对句子逻辑形式进行自动提取来表征其含义(Zettlemoyer 和 Collins, 2005)。
近年来的一些研究现状
该模型的主要分类依据是基于neural network的技术。这些涵盖从基本的neural word bag或n-gram架构到更为结构化的递归neural网络以及基于convolution运算的时间延展neural网络(Collobert与Weston,2008年;Socher等人,2011年);Kalchbrenner与Blunsom,2013b)。该架构具有诸多优势:例如,在监督训练下可以微调这些向量以适应特定任务的需求。此外,在监督训练中可以微调这些向量以适应特定任务的需求:包括构建强大的分类器作为其架构的一部分,并用于调节neural语言模型逐字生成句子(Schwenk,2012年;Mikolov与Zweig,2012年;Kalchbrenner与Blunsom,2013a)。
我们构建了一个基于卷积神经网络的语义建模框架,并将其应用于句子序列的分析。该网络结构能够有效处理长度不一的输入序列。**convolutional\ neural\ network\ structure**包含交错的一维卷积层和动态k-max池化层组合。其中动态k-max池化操作可视为传统最大池化操作的一种扩展形式。其中最大池算子是一种非线性采样函数,在此操作下会提取给定区域内的最大特征值(LeCun等人, 1998)。该算法通过双层机制实现了以下两个主要特性:第一种机制允许从输入序列中选取前k个最大的特征响应;第二种机制则允许根据不同的输入样本或网络状态动态调整取样数量k。
该卷积层通过在句子矩阵每一行特征上施加一维滤波器来提取局部特征。每个句子的位置上,相同的过滤器与 n-gram 卷积操作能够独立于具体位置提取出独特的特征表示。经过动态池化层与非线性激活函数的作用后生成多通道特征图。这种方法类似于 LeCun 等人提出的用于目标识别的经典卷积神经网络架构(LeCun等人,1998)。更高层次的网络则通过将各自的滤波器作用于下一层的所有特征图来生成更多层次的表征信息。这些权重参数构成了一个四阶张量结构,在此架构中各层通过共享参数实现自适应学习能力。这种模型被命名为动态卷积神经网络(Dynamic CNN)。
我们针对四种不同的设置进行了网络实验。用于预测电影评论情绪的该网络已经在二元与多类别任务上均表现出显著优势。为了分类TREC数据集中六种类型的问题,该网络的准确性可与其他基于大量工程特征和手工编码知识资源的最先进方法相媲美。通过远程监督训练于160万推文的数据集,在二元与多类别任务上均表现出显著优势,并且相比之前的一元与二元基准模型,在测试集上的预测误差减少了约25%。
上面几段就是我们干了啥以及干的咋样。
3. Background
下面根据这个例子,对各个模型进行详解。

3.1 词袋模型
首先利用word2vec或其他技术将词语编码为向量表示(通过查证字典的方式确定每个词语的具体数值),随后将这些词语的向量表示进行简单求和运算,并加入一个偏置项以生成分数scores;最后应用softmax函数来进行分类任务。

这个模型尽管能够显示词语在句子中的作用,但未能考虑到词语之间的相互关联.随后对该模型进行了优化,最终获得连续词袋模型
3.2 连续词袋模型
经过单词向量相加之后进行一次线性变换后能够显著提升模型的容量使整个网络架构变得更加复杂从而更好地拟合训练数据然而单纯引入线性变换并不能完全消除词袋模型所带来的局限

进一步改进:
3.3 深度的连续词袋模型
通过提取词向量编码并将其传递给双曲正切函数(tanh)及其变形形式进行处理后,在标准双曲正切函数(tanh)中继续运算并最终通过线性变换完成模型拟合

但是仍然没有考虑词组搭配之类的影响。
3.4 n-grams模型

上图中的黄色和深黄色分布显示n=2和n=3的模型。
What is the bag of n-grams?
It easily enables the capture of combined features, such as "don't love" and "not the best."
It achieves excellent results.
What are the issues with the bag of n-grams approach?
The number of parameters explodes.
There is no overlap between similar words and n-grams.
3.5 一维卷积/时间延迟网络
可以看出,在这种卷积操作下执行滑动窗口扫描过程,并每次处理两个词向量(即n=2),其效果与上述相同。然而不同之处在于这一操作属于卷积层特性,在此场景中实现了参数共享的功能。

3.6 循环神经网络

3.7 递归神经张量网络

4.Model

在模型架构图中展开详细描述:我们自下而上系统性地解析了该网络架构的关键组成部分及其相互作用关系。具体而言,在输入层阶段(最低层),模型初始化了一个维度为(7×4)的词嵌入矩阵(Word Embedding Matrix),其中每个单词都被映射为其对应的四维空间中的向量表示(Embedding Dimension)。随后,在第一层卷积模块中(Convolutional Block 1),我们采用了宽度为m=3的一系列横向卷积操作(Horizontal Convolution Operations),成功地将原始输入序列转换为了一个更高维的空间表示(Expanded Dimensional Space)。这一处理步骤不仅增强了信息表达能力(Information Expressive Capacity),也为后续特征提取环节奠定了坚实的基础(Foundation for Subsequent Feature Extraction)。在此基础上通过最大值池化机制(K-max Pooling Process)对特征空间进行了精炼处理(Feature Space Condensation),最终获得了降维后的四维空间表示(Reduced Dimensional Space Representation)。随后又依次进行了第二轮特征提取与降维处理,并最终完成了网络架构的核心模块构建工作
4.1 宽卷积
宽卷积的操作流程主要是如下图所示的结构。如果有不清楚的地方不用着急,请让文心一言为你详细解释一下吧。
用论文中的公式(3.1节)描述就是:其中d代表词向量维度(在这里取d=4),s表示句子长度(这里s=7)。经过宽卷积操作后得到一个(d, s + m - 1)的矩阵结构,在本例中当m=3时(即model中第一层的宽卷积操作),最终结果将是一个(4, 9)大小的矩阵。

4.2 k-max pooling

在当前深度学习模型架构设计中,l代表了当前所关注的那个特定位置所在的深度层级数量,L则代表了整个模型架构中的总深度层级数量;而ktop则特指最顶层的那个深度层级固定的下采样操作参数(参考第4.5节)。举例而言,在一个仅包含三层深度层级并设定ktop值为5的情况下,对于长度s=20的文字序列,第一级下采样的计算过程如下所示:具体来说,在第一个深度层级,k_1被定义为max(5,⌈20×(L-1)/L⌉)的结果即k_1=9;第二个深度层级则采用了一个较为简单的配置,k_2直接设置为6;第三个以及后续所有更深层次(尽管这些层次可能不具备显式的pooling操作)都采用了与最顶层相同的固定pooling策略,k_topsup=k_topmost=5。
5. 实验结果
5.1 影评中的情感预测

5.2 问题类型的分类

5.3 通过远程监督的Twitter情感预测

5.4 特征检测器的可视化

6. 讨论和总结
6.1 讨论
1.如何增大特征检测的扫描范围:Wide Convolution
2.如何捕捉到句子更复杂的特征关系:Dynamic k-max pooling
3.如何捕捉到不同维度特征的关系:folding
6.2 总结
1.新的句子模型:动态的卷积神经网络
2.在句子分类和情感分类问题效果很好
3.不需要额外的特征
7. 复现
因时间紧迫而产生的原因下
