英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
用于文本分类的递归卷积神经网络
摘要
文本分类是许多NLP应用程序的基本任务。传统的文本分类器通常依赖于许多人性化的功能,例如字典,知识库和特殊的树核。与传统方法相比,我们引入了一种用于文本分类的不需要人工设计的递归卷积神经网络。在我们的模型中,我们在学习单词表示时尽可能使用循环结构来捕获上下文信息,与传统的基于窗口的神经网络相比干扰更少。我们还采用了最大汇集层,可自动判断哪些词在文本分类中扮演关键角色,以此来捕捉文本中的关键组成部分。我们对四个常用数据集进行实验。 实验结果表明,我们所提出的方法在几个数据集上,特别是在文档级数据集上的表现优于目前最先进的方法。
介绍
文本分类是许多应用程序的重要组成部分,如网络搜索,信息过滤和情感分析(Aggarwal和Zhai 2012)。 因此,它引起了很多研究者的广泛关注。
文本分类中的一个关键问题是特征表示,通常基于词袋(BoW)模型,其中unigrams,bigrams,n-gram或一些设计精美的模式通常被提取为特征。此外,还有几种特征选择方法,比如频率,MI(Cover 和 Thomas 2012),pLSA(Cai 和Hofmann 2003),LDA(Hingmire等,2013)能选择出更具辨别性的特征。然而,传统的特征表示方法经常忽略文本中的上下文信息或词序,并且对于捕获词的语义的效果来说仍然不令人满意。举个例子,“A sunset stroll along the South Bank affords an array of stunning vantage points.”当我们分析“bank”(单数)这个单词时,我们可能不知道它是指金融机构还是河边的地。另外, “South Bank” 一词(特别是考虑到两个大写字母)我们可能会误导那些对伦敦不是很了解的人将其理解为金融机构。但当我们在更大的背景“stroll along the South Bank”之下,我们很容易就能辨别出它的意思。虽然高阶n-gram和更复杂的特征(例如树核(Post和Bergsma 2013))旨在捕获更多的上下文信息和词序,但它们仍然存在数据稀疏性问题,这严重影响了分类的准确性。
最近,预训练词嵌入和深度神经网络的快速发展为各种NLP任务带来了新的灵感。词嵌入是词的分布式表示,极大地缓解了数据稀疏性问题(Bengio 等,2003)。 Mikolov,Yih和Zweig(2013)表明,预先训练的词嵌入可以捕捉到有意义的句法和语义规则。在词嵌入的帮助下,提出了一些基于合成的方法来捕捉文本的语义表示。
Socher等人(2011a; 2011b; 2013)提出了递归神经网络(递归)已被证明在构造句子表示方面是有效的。但是,递归神经网络通过树结构来捕获句子的语义,它的性能很大程度上取决于文本树结构的性能。而且,构建这样的文本树的时间复杂度至少为O(n2),其中n是文本的长度。 如果模型遇到长句或文档,这将非常耗时。而且,两句之间的关系很难用树结构表示。因此,递归神经网络模型不适用于长句子或文档。
而另一种循环神经网络时间复杂度为O(n)。该模型逐字分析文本并将所有先前文本的语义存储在固定大小的隐藏层中(Elman 1990)。循环神经网络的优点是具有更好地捕捉上下文信息的能力,这有益于捕获长文本的语义。但是,循环神经网络是一个存在偏差的模型,后面的单词比之前的单词更占优势。因此,当它用于捕获整个文档的语义时,会降低其有效性,因为关键词语可能出现在文档的任何地方而不一定是结尾。
为了解决偏见问题,卷积神经网络(CNN)这一种无偏模型被引入到NLP任务中,它可以在具有最大共享层的文本中公平地确定区分性短语。因此,与递归或循环神经网络相比,CNN可以更好地捕捉文本的语义。CNN的时间复杂性也是O(n)。然而,之前对CNN的研究倾向于使用简单的卷积核,如固定窗口(Collobert 等,2011;Kalchbrenner 和 Blunsom 2013)。当使用这样的内核时,很难确定窗口大小:小窗口可能会导致某些关键信息的丢失,而大窗口会导致巨大的参数空间(这可能很难训练)。因此,这就提出了一个问题:我们能否比传统的基于窗口的神经网络得到更多的上下文信息,并更精确地为文本分类表示文本的语义。
为了解决上述模型的局限性,我们提出了一种递归卷积神经网络(RCNN),并将其应用于文本分类。首先,我们应用双向循环结构,与传统的基于窗口的神经网络相比,该结构可能会减少干扰,在学习单词表示时能最大程度地捕获上下文的信息。此外,该模型可以在学习文本表示时保留更大范围的单词排序。其次,我们采用最大池化层,可自动判断哪些功能在文本分类中起关键作用,以此捕捉文本中的关键组成部分。通过结合循环结构和最大池化层,我们的模型结合了递归神经模型和卷积神经模型的优点。此外,我们的模型具有O(n)的时间复杂度,它与文本长度呈线性相关。我们使用英语和中文的四种不同类型的任务来比较我们的模型与先前的最新方法。四个类型包含主题分类,情感分类和书写风格分类。 实验证明,我们的模型在四个常用数据集中的三个数据集都优于先前的最新方法。
相关工作
文本分类
传统的文本分类工作主要集中在三个方面:特征工程,特征选择和使用不同类型的机器学习算法。对于特征工程而言,使用最广泛的特征是词袋特征。另外,还设计了一些更复杂的功能,如词性标记,名词短语(Lewis 1992)和树核(Post和Bergsma 2013)。特征选择旨在排除干扰并提高分类性能。最常见的特征选择方法是去除停用词(例如“the”)。 先进的方法使用信息获取,交互信息(Cover and Thomas 2012)或L1正则化(Ng 2004)来选择有用的特征。机器学习算法经常使用分类器,如逻辑回归(LR),朴素贝叶斯(NB)和支持向量机(SVM)。但是,这些方法都存在数据稀疏问题。
深度神经网络
最近,深度神经网络(Hinton和Salakhutdinov,2006)和表示学习(Bengio,Courville和Vincent,2013)为解决数据稀疏问题提供了新的思路,并且已经有许多用于学习词表示的神经模型被提出(Bengio等 。2003; Mnih和Hinton 2007; Mikolov 2012; Collobert等2011; Huang等2012; Mikolov等2013)。一个词的神经表示称为词嵌入,是一个实值的向量。词嵌入使我们能够通过简单地使用两个嵌入向量之间的距离来测量词相关性。
通过预先训练的词语嵌入,神经网络在许多NLP任务中表现出其卓越的性能。Socher 等人(2011b)使用半监督递归自动编码器来预测句子的情感。Socher等人(2011a)提出了一种用递归神经网络进行复述检测的方法。Socher等人 (2013)引入了递归神经张量网络来分析短语和句子的情感。米科洛夫(2012)使用循环神经网络来构建语言模型。Kalchbrenner和Blunsom(2013)提出了一个新颖的对话行为分类循环网络。Collobert等人(2011)提出用于语义角色标注的卷积神经网络。
模型
我们提出了一个深度神经模型来捕捉文本的语义。图1显示了我们模型的网络结构。这个网络的输入是一个文档D,它是一个单词的序列。这个网络的输出包含类元素。我们使用来表示文档是k类的概率,其中theta;是网络中的参数。
词表示学习
我们结合一个词和它的上下文来表达一个词的意思。语境帮助我们获得更精确的词语含义。在我们的模型中使用循环结构,这是一个双向循环神经网络,以此来捕捉上下文。我们将定义为的左上下文,定义为的右上下文。 和都是真正的价值元素| c |的密集向量。使用方程式(1)计算词的左侧上下文,其中是词的词嵌入,其是| e | 真正的价值元素。是前一个词的左侧上下文。任何文档中第一个词的左侧上下文使用相同的共享参数。是将隐藏层(上下文)转换为下一个隐藏层的矩阵。是一个矩阵,用于将当前单词的语义与下一个单词的左上下文相结合。 f是非线性激活函数。如等式(2)所示,以类似的方式计算右侧上下文。文档中最后一个词的右侧上下文共享参数。
(1)
(2)
图1:循环卷积神经网络的结构。这个图是 “A sunset stroll along the South Bank affords an array of stunning vantage points”这句话的部分示例,下标表示相应单词在原始句子中的位置。
如等式(1)和(2)所示,上下文向量捕获所有左侧和右侧上下文的语义。例如,在图1中,编码左侧上下文“stroll along the South”的语义以及句子中所有以前的文本,编码右侧上下文的语义“affords an ...“。然后,我们定义等式(3)中的词的表示为左侧上下文向量,词嵌入和右侧上下文向量的级联。以这种方式,使用这种上下文信息,与仅使用固定窗口的常规神经模型(即,它们仅使用关于文本的部分信息)相比,我们的模型可以更好地消除单词的含义。
(3)
循环结构可以在文本的正向扫描中获得所有,并且在文本的反向扫描中可以获得。 时间复杂度是O(n)。在获得单词的表示后,我们将一个线性变换与tanh激活函数一起应用于,并将结果发送到下一层。
(4)
是一个潜在语义向量,分析每个语义因素,确定表示文本的最有用的因素。
文本表示学习
我们模型中的卷积神经网络被设计来表示文本。从卷积神经网络的角度来看,我们前面提到的循环结构是卷积层。当计算所有单词的表示时,我们应用一个最大共享层。
(5)
max函数是一个元素清晰的函数。 的第k个元素是的第k个元素中的最大值。
池化层将具有不同长度的文本转换为固定长度的向量。通过池化层,我们可以在整个文本中捕获信息。还有其他类型的合并图层,例如平均合并图层(Collobert 等人,2011)。我们不使用平均值,因为只有几个词汇及其组合对于捕获文档的含义非常有用。最大池化层尝试发现文档中最重要的潜在语义因素。 合并层使用循环结构的输出作为输入。池层的时间复杂度为O(n)。由于整体模型是循环结构和最大汇集层的级联,因此,我们模型的时间复杂度仍然是O(n)。
我们模型的最后一部分是输出层。 与传统的神经网络类似,定义为
(6)
最后,softmax函数应用于。它可以将输出数字转换为概率。
(7)
训练
训练网络参数
我们将所有要训练的参数定义为theta;
(8)
具体而言,参数是词嵌入,偏向量,,初始上下文, 和,, 的变换矩阵。 ,其中| V | 是词汇表中的单词数量,H是隐藏层大小,O是文档类型的数量。
网络的训练目标被用来使关于theta;的对数似然最大化:
(9)
其中D是训练文档集合,而classD是文档D的正确类别。
我们使用随机梯度下降(Bottou 1991)来优化训练目标。在每一步中,我们随机选择一个示例(D,classD)并按梯度进行。
(10)
其中alpha;是学习率。
我们使用一种在训练阶段训练具有随机梯度下降的神经网络时广泛使用的技巧。 我们从均匀分布中初始化神经网络中的所有参数。最大值或最小值的大小等于“fan-in”的平方根(Plaut and Hinton,1987)。该数字是我们模型中前一层的网络节点。该层的学习率被“fan-in”分开。
预训练 词嵌入
词嵌入是一个词的分布式表示。 分布式表示适用于神经网络的输入。传统的表现形式,如单表示形式,会导致维度的混乱(Bengio 等。2003)。最近的研究(Hinton和Salakhutdinov,2006; Erhan等,2010)表明,神经网络可以通过适当的无监督预训练过程收敛到更好的局部极小值。
在这项工作中,我们使用Skip-gram模型来预先训练单词嵌入。这个模型是许多NLP任务中的最新技术(Baroni,Dinu和Kruszewski,2014)。 Skipgram模型通过最大化平均对数概率训练单词,其中| V | 是无标签文本的词汇。是的另一个嵌入。我们使用嵌入e,是因为这里将使用一些加速方法(例如,分层softmax(Morin和Bengio 2005)),并且e#39;在实践中不被计算。
(11)
(12)
实验
数据集
为了证明所提出方法的有效性,我们使用以下四个数据集进行实验:20Newsgroups,Fudan Set,ACL Anthology Network和Sentiment Treebank。 表1提供了有关每个数据集的详细信息。
表1:数据集的总结,包括类的数量,训练/开发/测试集条目的数量,平均文本长度以及数据集的语言。
20Newsgroups 此数据集包含来自二十个新闻组的消息。我们使用bydate版本,跟随Hingmire等人。(2013年),选择了四个主要类别(comp,politics,rec和religion)。
Fudan Set 复旦大学文档分类集是由20个类组成的中文文档分类集,包括艺术,教育和能源。
ACL Anthology Networ 此数据集包含由ACL和相关组织发布的
全文共13408字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[12924],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。