英语原文共 9 页
基于卷积递归深度学习的句子分类模型
摘要:随着人类整体和互联网上产生的非结构化文本数据量的增长,需要智能地处理它并从中提取不同类型的知识。卷积神经网络(CNN)和递归神经网络(RNN)已经适用于自然语言处理系统具有比较,显着的成果。CNN是提取对本地翻译不变的更高级别特征的高级方法。然而,由于卷积和池化层的局部性,它需要堆叠多个卷积层以捕获长期依赖性。在本文中,我们描述了一个联合CNN和RNN框架来克服这个问题。简而言之,我们使用无监督的神经语言模型来训练由我们的深度学习网络进一步调整的初始单词嵌入,然后,使用预先训练的网络参数来初始化模型。在最后阶段,所提出的框架将以前的信息与由卷积层学习的一组特征图组合在一起,具有通过长短期记忆学习的长期依赖性。根据经验,我们表明我们的方法,通过轻微的超参数调整和静态向量,在多个情绪分析基准上实现了出色的结果。我们的方法在准确性方面优于现有的几种方法;我们的结果也与斯坦福大型电影评论数据集上的最新结果相比具有竞争力,准确率为93.3%,斯坦福情感树库数据集分别为48.8%的细粒度和89.2%的二进制精度。我们的方法在减少参数数量和构造卷积层方面起着重要作用,其后是循环层作为池化层的替代。我们的结果表明,我们能够通过具有较少参数和高性能的高效框架来减少详细的本地信息的丢失并捕获长期依赖性。
关键词:卷积神经网络;递归神经网络;自然语言处理;深度学习;情感分析;长期依赖
一. 引言
自然语言处理(NLP)是计算机科学的一个广阔领域,关注计算机与人类语言之间的相互作用。语言建模是人工智能和NLP的基本任务。语言模型被形式化为一系列单词的概率分布。最近,深度学习模型在语音识别[1]和计算机视觉[2]中取得了显着成果。文本分类在许多NLP应用程序中起着重要作用,例如垃圾邮件过滤,电子邮件分类,信息检索,网络搜索与排名和文档分类[3][4],其中需要为文本序列分配预定义的类别。表达文本的一种流行且常用的方法是词袋。然而,词袋方法失去了单词顺序而忽略了单词的语义。N-gram模型在统计语言建模中很受欢迎,并且通常表现最佳[5]。然而,n-gram模型受数据稀疏性的影响[6]。
神经网络越来越受欢迎[7];已经有可能在更大的数据集上训练更复杂的模型。它们优于n-gram模型并克服了数据稀疏性问题[6];语义相似的单词在向量空间中很接近。罕见词的嵌入估计很少,这导致了罕见词的更高的困惑。随着近年来机器学习的进步,已经有可能在更大的数据集上训练更复杂的模型[1][2][7]-[9]。单词的分布式表示是最成功的概念之一,它有助于学习算法实现更好的性能[7]。
卷积神经网络(CNN)[10]最近在计算机视觉中取得了非常成功的结果[2]。CNN将特征提取和分类视为一项联合任务。通过堆叠多个卷积和汇集层来改进这个想法,这些层依次提取输入的层次表示[10]-[12]。
我们研究了递归神经网络(RNN)作为深层神经网络语言模型中汇聚层的替代方案对短文进行情感分析。NLP的大多数深度学习架构需要堆叠多个层来捕获由于卷积和池化层的局部性而导致的长期依赖性[13]。我们的架构受到最近RNN应用中RNN成功的启发,以及RNN即使只有一个单层也可以捕获长期依赖性的事实[14]。我们也受到了[9]中提出的成功工作的启发,其中单个美国有线电视新闻网的一层被判别分类。
事实证明,为网络提供良好的初始化参数会对训练模型的准确性产生重大影响,并更有效地捕获长期依赖关系。在本文中,我们提出了一个联合CNN和RNN架构,它将CNN提取的局部特征作为RNN的输入,用于短文本的情感分析。我们提出了一个新的框架,它将卷积层和循环层合并为一个层次结构。在预训练的单词向量之上的单一模型。我们利用长期短期记忆(LSTM)作为汇集层的替代,以减少详细的本地信息的丢失,并捕获整个输入序列的长期依赖性。我们的贡献总结如下:
1.使用神经语言模型[7][8]初始化单词嵌入,该模型在大型无监督的单词集合上进行训练。
2.我们使用卷积神经网络进一步细化距离监督数据集上的嵌入。我们将嵌入作为我们模型的输入,其中应用了不同长度和各种权重矩阵的窗口以生成许多特征映射。
3.在前一阶段获得的网络嵌入和其他参数用于初始化相同的框架。
4.深度学习框架利用从CNN模型提取的编码局部特征和RNN模型捕获的长期依赖性。实证结果表明,我们的框架以较少的参数实现了竞争结果。
本文的其余部分安排如下。第二节介绍相关工作。第三节介绍背景。第四节强调了研究问题和动机。第五节详细描述了我们的模型架构。第六节概述了实验装置,第七节讨论了实证结果和分析。最后,第八节介绍结论。
二. 相关工作
A. 传统方法
文本分类对NLP系统非常重要,因为NLP系统对句子分类任务进行了大量研究,特别是对情感分析。 NLP系统经典地将单词视为离散的原子符号,其中模型利用关于各个符号之间的关系的少量信息。
用于句子结构的简单且有效的基线方法是将句子表示为词袋,然后训练线性分类器(例如,逻辑回归)。然而,词袋方法省略了关于词语的语义和排序的所有信息[15][16]。N-gram模型是表示句子的另一种流行方法。这种方法通常表现最佳[5]。将单词投影到高维空间,然后将嵌入组合以获得输入句子的固定大小表示,稍后将其用作分类器的输入。尽管n-gram模型考虑到这一事实在短句中排序,他们仍然遭受数据稀疏性的困扰。总的来说,所有简单技术都对某些任务有局限性。此外,线性分类器不在特征和类之间共享参数,这些参数可能限制它们在大输出的上下文中的泛化,其中一些类具有很少的示例。这个问题的一个流行的解决方案是使用多层神经网络[13][16],或将线性分类器分解为低秩矩阵[8]。
B. 深度学习方法
深度神经网络(DNN)在计算机视觉[2][17]和语音识别[1]中取得了重要成果。最近,在NLP应用中使用DNN变得越来越普遍,其中大部分工作涉及通过神经语言模型[6] - [9]学习单词表示,然后对学习单词向量进行分类以进行分类。这些方法导致了解决数据稀疏性问题的新方法。因此,一些用于学习单词表示的基于神经网络的方法遵循这些方法。DNN联合实施特征提取和文本分类分类。基于DNN的方法通常以输入文本开始,表示为单词序列,其中每个序列表示为单热矢量;然后,将序列中的每个单词投影到连续的向量空间中。这通过将其与权重矩阵相乘来实现,这导致创建一系列密集的,实际的,有价值的向量。然后该序列被馈送到DNN中,该DNN处理多个层中的序列,从而导致预测概率。该管道被联合调整以最大化训练集[7]-[9][12][13][17][18]的分类准确性。然而,单热矢量不假设单词的相似性,它也是非常高维的[9][18]。
RNN可以提高时间复杂度并逐字分析文本,然后保留以前所有语义固定大小的隐藏层中的文本[19]。捕获优质,适当的统计数据的能力对于捕获RNN中长文本的语义非常有价值。然而,RNN是一种有偏见的模型;最近的单词比之前的单词更重要。因此,它们的关键组件可以出现在整个文档的任何位置,而不仅仅是在最后。当用于捕获整个文档的语义时,这可能会降低效率。因此,引入长短程记忆(LSTM)模型来克服RNN的困难[20]。
标准RNN仅基于考虑特定任务的过去单词来进行预测。该技术适用于预测上下文中的下一个单词。但是,对于某些任务,如果我们可以在标记任务时使用过去和将来的单词作为词性标注,那么我们需要为句子中的每个单词分配标签[21]。在这种情况下,我们已经知道单词的顺序,并且对于每个单词,我们希望在进行预测时考虑左侧(过去)和右侧(未来)的两个单词。这正是双向神经网络(BNN)的作用;它由两个LSTM组成。一个从左向右前进,另一个从右向左延伸。这种技术在标记任务和将序列嵌入固定长度的载体中是成功的[18]。
卷积神经网络(CNNs)最初是为计算机视觉设计的[2][10]。CNN利用应用于本地特征的卷积滤波器来利用层。CNN在计算机视觉领域取得了出色的成果,其中使用了手工制作的特征,例如,尺度不变特征变换(SIFT)后跟分类器;主要思想是将特征提取器和分类器视为一个共同训练的任务[9][17]。神经网络的使用激发了许多研究人员的兴趣。近年来已对该领域进行了研究,特别是通过在CNN中使用多卷积和汇集层,然后依次提取输入的分层表示。
NLP的CNN模型在语义分析[22],句子建模[11],搜索查询检索[23]和其他NLP任务[17]中取得了优异的成果。最近,基于DNN的模型在NLP [9][12][13][18]中的几个任务中显示出非常好的结果。尽管这些模型具有良好的性能,但在实践中它们在训练和测试方面相对较慢,这限制了它们使用大规模数据,并且它需要堆叠许多卷积层以捕获长期依赖性。
探讨了CNN和RNN的组合用于语音识别[24],并且类似的方法应用于图像分类[2]。研究了CNN-RNN的组合以编码字符输入,并实现了字符级别的高级特征输入序列以捕获子字信息。但是,当有大量类可用时,此模型的性能最佳。参考文献[25]概述的结构化注意网络,其中包含图形模型以概括简单的注意力,通过这种形式的模型描述反向传播的技术机制和计算技术。Referenec [26]旨在提高表示效率,该模型采用差分状态框架(DSF)。DSF模型通过学习在快速变化的数据驱动表示和缓慢变化的隐式稳定状态之间进行插值来维持onger-term内存。参考文献27中研究了一种通过结合领域知识来提高情感分析深度学习方法准确性的方法。本文将领域知识与深度学习相结合,利用回归学习的情感分数来增强训练数据。他们还利用惩罚矩阵作为增强损失函数来利用熵加权。
我们观察到使用CNN进行文本分类有一个缺点。网络必须具有多个层才能捕获输入句子中的长期依赖关系。也许这可能是其背后的动机,它利用了一个非常深的卷积网络,其中有六个卷积层,后面是两个完全连接的层。
三.背景
A.卷积神经网络
最近CNN应用于NLP系统并取得了非常有趣的结果[9][13][18];卷积层类似于矩阵上的滑动窗口。 CNN是多个卷积层,具有非线性激活函数,例如ReLU或tanh,应用于结果。在经典的前馈神经网络中,神经元的每个输入都附加到下一层中的每个输出。这称为完全连接或仿射层。然而,CNN具有不同的方法,它们在输入层上使用卷积来计算输出。本地连接计算输入层上的输出,然后每个层应用不同的内核,通常是数百或数千个过滤器,然后组合它们的结果。
在池化或子采样层期间以及在训练阶段期间,CNN基于任务学习其过滤器大小的值。例如,在图像分类[2]中,CNN可能学习从第一层中的原始像素检测边缘,然后使用边缘检测第二层中的简单形状,然后使用这些形状来检测更高级别的特征,例如作为面部形状,在更高层。然后将该层馈送到使用这些高级特征的分类器。
作为图像像素的替代,大多数NLP任务的输入包括表示为矩阵的句子和文档。此外,矩阵的每一行最多匹配一个标记,通常是单词或字符。每一行都是一个代表一个单词的向量。通常,该向量是一种沃尔德嵌入的低维表示(例如,word2vec,单热矢量),其将单词索引为词汇表(例如,使用100维嵌入的10个单词句子,10100矩阵)作为我们的输入。在NLP中,过滤器在矩阵的整个单词上滑动。因此,滤波器的宽度与输入矩阵的宽度相同。此外,区域大小可能会有所不同,但通常是一次超过2到5个单词的滑动窗口。
B. 回归神经网络
RNN的直觉是人类不会每时每刻都开始思考。 RNN的目标是利用顺序信息。输出基于先前的计算。在传统的神经网络中,所有输入都是相互独立的。虽然这种方法对于NLP中的许多任务来说是低效的(例如,预测句子中的下一个单词),但是在这种情况下,知道前一个单词以便预测上下文中的下一个单词是很重要的。RNN在许多NLP任务中取得了巨大成功[1][14][20][21][28]。RNN具有以任意长序列捕获信息的存储器。 RNN是深度神经网络,其在时间维度上很深并且已经在时间序列建模中广泛使用。RNN用于句子嵌入的目的是通过循环地和顺序地处理句子中的每个单词并将其映射到低维向量来找到密集和低维度的语义表示。整个文本的全局上下文特征将在序列[1][29][30]中的最后一个单词的语义表示中。我们还可以将RNN视为同一网络的多个副本,其中每个都将消息传递给继承者。展开如图1所示的循环,我们可以在一个简单的RNN中如下计算输出:
图1 长期依赖递归神经网络
四.研究问题与动机
使用卷积层的目的是学习提取对局部平移不变的高级特征,并且通过组合多个卷积层,模型可以从输入序列中提取更高级别的平移不变特征。无论这个优势如何,我们观察到大多数现有的深度模型需要多层卷积来捕获长期依赖性,这是因为卷积层和池化层
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。