卷积神经网络在句子建模上的应用外文翻译资料

 2022-05-16 08:05

英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料


卷积神经网络在句子建模上的应用

摘要

语言理解的核心任务在于是否具有准确表达句子的能力。基于上述问题,我们提出了一种动态卷积神经网络的结构用于句子的语义建模。这种结构采用了一种线性序列的全局池化操作,即动态的k-max池化。这种结构能够对不同长度的输入进行处理,并在此基础上构建特征图表,用以获得明确的短期和长期关系。此外,由于该种结构并不依赖分析树的构建,因此对任何语言具有普适性。我们分别从小规模的二元情绪预测,多元情绪预测,六方问题分类以及远程监督的Twitter情绪预测等四个方面对动态卷积神经网络进行检验。这种模型在前三项的检验任务中具有相当优秀的表现,而在最后一项任务中,能够使得最差基线的相对误差降低25%以上。

1 简介

这种语句建模的目的在于通过分析和表示句子的情感内容达到分类或者生成的若干要求。而难点之处在于许多任务的核心一定程度上取决于对自然语言的理解。这些任务包括情感分析,释义检测,意图识别,概括,语篇分析,机器翻译,基础语言的学习和图像检索等。考虑到个别句子很难或根本无法被观察到,我们需要通过句子中经常被观察到的单词或者较短的n元短语提炼出的特征进行语句的表示。如何根据单词或者n元组的特征提取出句子的特征从而定义特征函数是构建语句模型的核心。

现在人们已经提出了许多种不同含义的模型。基于组合函数的方法已经被用于词向量的表示。这些词向量通过同现统计用来表示更长的词组向量。在一些情况下,组合函数是被用来定义通过对词向量进行代数运算从而产生句子含义向量的这一过程。而在其他情况中,组合函数要么用来学习特定的句法关系,要么用来学习特殊的词语类型。另一种方法则通过自动提取逻辑形式来表示语句的含义。

中央类型的模型是基于卷积神经网络的模型。它的范围涵盖基本的词带模型或者n-grams模型,更加结构化的递归神经网络,和基于卷积运算的时延神经网络。用神经网络表示句子模型有许多优点。比如说,它们可以根据单词和词组出现的上下文进行训练,用以获得通用的词向量与词组向量。通过监督训练,利用卷积神经网络表示的句子模型能够将通用的词向量进行具体化,用以解决特定的任务。除此之外,由于其结构包含了强大的分类器,使得用卷积神经网络表示的句子模型能够逐字调整其结构。

我们定义一个卷积神经网络并将其应用于句子语义的建模中。动态卷积神经网络能够处理长度可变的输入。这种网络结构包含两种类型的层,分别是一维的卷积层和动态k-max的池化层。其中,动态k-max池化是最大池化更具有普遍代表意义的表现形式。最大池化,是一种非线性的子采样函数,它能够返回一组值中的最大值。而k-max的池化方式相较于最大池化来说,其一般化体现在两个方面:第一,其池化的结果不是返回一个最大值,而是返回k组最大值;第二,池化中的参数k可以是一个动态函数,具体的值依赖于输入或者网络的其他参数。

在卷积层中,由语句组成的矩阵,其每一行都存在一维滤波器用来提取特征。在句子的每个位置利用n-gram对同样的滤波器进行卷积操作,可以使得特征提取更加独立,这种操作所得的结果与他们在句中所处的位置无关。在卷积层之后则是一个动态池化层和一个非线性的特征映射层。就像物体识别的卷积神经网络一样,通过在输入语句时使用不同的滤波器进行计算,可以丰富第一层的表示。同理可得,在余下层的计算中,通过对所有图层进行卷积滤波的操作,产生多种不同的特征映射图。这些层的权重可以组成一个四阶的张量,利用上述方法构建的结构,我们称为动态卷积神经网络。

在多个层上进行卷积和动态池化操作,能够通过输入语句起到改变结构特征图的作用。图一就解释了这个原理。

图一

如图一所示,是动态卷积神经网络输入一句话后所得到的特征图的子图。完整的导图包含许多像这样具有不同边界的子图,而子图则有可能在不同的层上进行合并。左图强调所有节点的汇总。卷积滤波器的宽度分别为3和2。通过这种动态池化,即使处于较高层的宽度较小的滤波器也能同距离很远的输入语句进行联系。

处于高层的小滤波器能够从输入端捕捉到相距很远且不连续的短语之间的语法或句法关系。特征图引入了一种类似于句法分析树一样的分层结构。这种结构不再受单纯的句法关系的束缚,属于神经网络的内部结构。我们对这种网络结构进行了四种实验。前两个实验涉及对电影评论的情感预测,在二元和多元的情况下,这种方法都优于其他方法。第三个实验则涉及到在TREC数据集上进行六类问题的分类策略。这种网络结构能够达到现有其他基于大量工程以及人工编码得到知识资源方法的准确性。第四个实验则使用远程监督的方法对Twitter中出现的帖子进行情感预测。该网络结构利用文本中出现的表情图表自动标记了160万条推文。同人工标记的测试集相比,动态卷积神经网络实现的预测误差相对于Go等人提到的最差一元分词和二元分词基线减少了25%以上。

本篇文章按照如下的方式行文:第二章用来描述动态卷积神经网络的背景知识,包括它的核心思想以及相关的语句神经网络模型的表示;第三章对结构的有关操作以及层进行了定义;第四章用来说明引导特征图以及结构中其他的属性;第五章用来讨论相关实验以及学习过程中的特征提取的检测。

2 背景研究

动态卷积神经网络由卷积层和池化层组成。首先让我们回顾一下与此有关的语句神经网络模型的相关概念。然后我们再对一维的卷积以及经典的时延神经网络进行描述。如果在时延卷积神经网络里加入最大池化层,那么这种模型亦可以用在语句的建模中。

2.1 用神经网络进行语句表达的相关模型

现在有很多用神经网络进行语句描述的模型。神经网络的词带模型就是用来描述基本语句模型的一般类。它通常由投影层组成,用来将单词,子单词以及n元组映射到更高维的层上去,之后的层则在此基础之上利用诸如求和之类的操作进行分量的组合。得到的组合向量可以通过一个或者多个全连接层进行分类。而递归神经网络则是采用了由外部分析树提供的更为普遍的结构。对于分析树中的每一个节点,它的产生是由其左子节点与右子节点根据上下文进行组合编码得到的。每一层的权重对处于分析树中的任意一个节点都是共享的。最后由最顶层的图层给出语句的表示方式。递归神经网络作为递归网络的一个特例,它的结构遵从简单的线性链路。卷积神经网络虽然是一种主流的语言模型,但是也可以将其看做是一种使用了线性结构的语句模型。图层利用最后的单词进行计算用来表示相应的句子。最后另一类使用了神经网络的模型则是根据卷积运算以及时延神经网络的结构。

2.2 卷积运算

一维的卷积运算是在权重向量,即m isin; Rm,和作为序列的输入向量,即s isin; Rs中进行的运算。向量m是进行卷积运算的滤波器。具体来说,我们将s看成句子的输入,si isin; R则是句子中对应的,与第i个单词有关的单个特征值。一维卷积运算其背后代表的思想就是将向量m同句子s中的m元组进行点积运算从而获得另一个c序列,即:

(1)

公式1给出了根据索引j的取值而产生的两种不同类型卷积运算的结果。进行窄卷积运算需要sge;m,完成上述操作后能产生一个序列c,使得,其中j的取值为从m到s。宽卷积则对s和m的取值没有要求,卷积完成后也能产生一个c序列,同窄卷积运算不同的是索引j的取值是从1到s m-1。对于一些超出范围的输入,当i lt;1或igt; s时,人为规定它的输出结果为0。因此窄卷积的运算结果是宽卷积运算结果的一部分。两种类型的一维卷积运算,它们的关系如图二所示:

图二 当滤波器m的大小等于5时,窄卷积与宽卷积的运算结果

滤波器m的训练权重同用于学习识别特定n元组的语言特征检测器相对应。这些n元组的大小小于滤波器的宽度m。将训练权重应用于宽卷积中存在一些窄卷积无法相比的优点。宽卷积运算能确保滤波器的所有权重均能覆盖整个句子,包括处于边缘的词汇。当m的取值相对比较大时,如8或10,该优点则显得尤为重要。此外,宽卷积运算保证了用滤波器m处理输入语句s时不会产生空值序列c,该结果与滤波器的宽度m和句子长度s的取值无关。接下来我们将对时延神经网络的经典卷积层进行描述。

2.3 时延神经网络

时延神经网络用一组权重m来表述输入序列s。将时延神经网络应用于语音识别时,序列s被视作时间维度,卷积运算就在时间维度上进行。对于每一个而言,它不再是单一的一个值,而是作为一个取值为d的向量,因此。同理可得,m是一个大小为d x m的权重矩阵。m的每一行都同s相对应的行进行卷积运算,所得结果通常为窄卷积类型。当有多个卷积层时,可以将输出结果c作为下一层的输入进行堆叠运算。

最大时延神经网络的语句模型就是基于基本的时延神经网络。在这个模型里,使用窄卷积进行句子矩阵s的运算,其中矩阵的一列对应于句子中一个单词的特征向量,,则有:

(2)

为了解决输入语句长度不等的问题,最大时延神经网络利用每一行的最大值生成一个大小为d的矩阵向量c;

(3)

这么做的目的是为了捕获每一行的最相关特征,即数值最大的数,从而产生大小为d的结果矩阵c。然后将大小固定的向量作为全连接层的输入进行分类。

最大时延神经网络拥有许多理想特性。它对句子中单词的顺序十分敏感,并且它不需要借助外部特定的语言功能,比如说它不需要依赖分析树或者需要它的支持。除了在窄卷积运算中被人们认为出现次数太少的边缘单词,它给予句子中每一个单词的输入信号相同的重要性。但是这种模型在一些方面也有限制。比如特征探测器的取值范围就被限定在权重的跨度m之内。通过增大m的取值或者堆叠多个窄卷积型的卷积层,可以增大特征探测器的范围,但是相对应的则会加剧模型对边缘单词的忽视程度以及增大满足句子进行卷积运算的最小语句长度。基于上述原因,高阶的远距离特征探测器不能在这个模型中轻易使用。而最大池化的池化方式同样也存在一些缺点。它无法区分一行中的有关特征出现了一次或多次,同时也会忽略了特征的出现顺序。更普遍的说,通过矩阵输入信号产生的池化因子一次减少的值为s-m 1,甚至对于s中原本合适的池化因子会出现越界的情况。因此,下一章我们描述的重点内容就是在如何保留模型优点的同时解决这些限制。

基于动态k-max池化的卷积神经网络

我们使用一种卷积结构对句子进行建模,在这种结构里,通过动态k-max的池化方式使得宽卷积层和动态池化层相互交替。图三表示的是深度卷积神经网络,下面我们来对这个网络结构进行一个详细的描述:

图三 深度卷积神经网络

在图三中,动态卷积神经网络的输入句子包含七个单词,词嵌入的大小为4。在这个网络结构里,有两个卷积层,每个卷积层包含两个特征图。两层滤波器的宽度分别为3和2,k-max池化层的k值分别为5和3。

3.1 宽卷积

输入一个句子后,为了获得深度卷积神经网络的第一层,我们对句子里的每一个单词,即,进行了词嵌入的工作,按照公式二所示进行句子矩阵的构建,即。在进行的嵌入时,它的值是在训练过程中进行优化的。而卷积层则是由权重矩阵m,,与下一层的激活矩阵进行卷积运算得到的。例如第二层是通过对自身的语句矩阵s进行卷积运算得到的。维度d以及滤波器的宽度m均是这个网络结构的超参数。就像2.2节介绍的一样,我们进行一维的宽卷积操作。所得的结果矩阵c,它的维度是d x(s m-1)。

3.2 k-max池化

接下来我们来描述一种池化方式,这种池化方式是用最大深度卷积神经网络进行语句建模时在时间维度上进行最大池化的一种概括,并且这种操作不同于应用在物体识别的传统最大池化操作。如果我们给定一个值k和一个长度大于k的序列p,其中,k-max的池化方式就是从序列p中选取k个最大值进行子序列的构建。用于组件序列的数值,按照他们原本位于序列p中的顺序进行排列。

k-max池化操作使得p序列中原本有可能位置并不相邻的k个最活跃的特征汇聚在一起。这种操作保留了特征之间的固有顺序,但是对于每个特征原先所在的具体位置是不敏感的。除此之外,这种池化方式还能更加精确的分辨序列p中的特征被高度激活的次数以及被高度激活的特征在p之间的变化。对于k-max池化的实施操作位置,则是在最顶层的卷积层之后应用在网络结构里的。这样保证了全连接层的输入和一开始输入到模型的语句的长度是没有关系的。然而,就像我们接下来讲的那样,由于处在中间的卷积层,它的池化参数并不是固定的,而是通过动态选择的方式予以确定,这样便使得高阶和长波的特征能被顺利提取。

3.3 动态k-max池化

动态k-max池化操作是k-max池化操作的一种,它使用输入句子长度和网络深度两个参数进行定义,我们用函数k进行表示。虽然它可以用很多函数表达形式,但我们仅仅按照下面的公式对动态k-max池化进行定义:

(4)

其中l代表的是当前正在进行处理的卷积层的层数,L代表网络中总共卷积层的层数,则是最顶层的池化参数,它是一个固定值。例如,对于一个含有三个卷积层的神经网络而言,如果=3,当输入的语句长度为18时,第一层池化的参数为12,第二层池化的参数为6,第三层则为固定的池化参数。等式4是一个用来描述长度为s的句子中处于第一阶段特征相关进展的数值模型。举一个情感预测的例子来说,根据等式,对于一个长度为s的句子,一阶特征可以是一个至多出现次的正面单词,而二阶特征则可以是一个至多出现次的负面单词。

3.4 非线性特征函数

在使用(动态)k-max池化处理完卷积层的操作后,我们使用一个偏置b,,和一个非线性动态函数g,作为分量进行混合矩阵的生成。对于混合矩阵的每一行都会产生一个偏差值。

如果暂时忽略池化层,我们就可以单个说明矩阵a中每个d维的列向量在经过卷积层和非线性层的处理后计算所得到的结果。现在我们先定义一个对角线矩阵

全文共12264字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[12343],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。