论文阅读笔记(1)——Recurrent Convolutional Neural Networks for Text Classification(用于文本分类的循环卷积神经网络)

摘要(Abstract)

传统文本分类器通常依赖于许多人为设计的特性,如字典、知识库和特殊的树核。与传统方法相比,引入了一种循环卷积神经网络来进行文本分类,而不需要人为设计特征。在我们的模型中,在学习单词表示时,我们使用循环结构来尽可能捕获上下文信息,与传统的基于窗口的神经网络相比,这样可以引入较少的噪声。还使用了一个最大池层,自动判断哪些词在文本分类中扮演关键角色,以捕获文本中的关键组件。在四个常用数据集上进行实验,结果表明该方法在多个数据集,特别是文档级数据集上的性能优于现有方法。

介绍(Introduction)

特征表示:通常是基于词包的(BoW)模型,其中unigrams(一元语法), bigrams(二元语法), n-grams或一些精美设计的图案通常提取为特征。
N-grams:第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。
N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint probability)。N-gram本身也指一个由N个单词组成的集合,各单词具有先后顺序,且不要求单词之间互不相同。

虽然高阶n-gram和更复杂的特征(如树核(Post和Bergsma 2013))用来捕捉更多的上下文信息和词序,但它们仍然存在数据稀疏性问题,严重影响分类精度。

单词嵌入是单词的分布式表示,极大地缓解了数据稀疏性问题。预先训练的单词嵌入可以捕获有意义的语法和语义规律。在单词嵌入的帮助下,提出了一些基于组合的方法来捕获文本的语义表示。

递归神经网络Recursive Neural Network(RecursiveNN)
优点:已被证明在构建句子表示方面是有效的。
缺点:

  • 递归通过树结构捕获句子的语义。性能在很大程度上取决于文本树结构的性能。
  • 构建这样的文本树的时间复杂度至少为O(n2),其中n为文本的长度。当模型遇到一个长句子或一个文档时,将非常耗时。并且两个句子之间的关系很难用树形结构来表示。因此,递归不适合建模长句子或文档

循环神经网络Recurrent Neural Network(RecurrentNN)
优点:

  • 时间复杂度O(n)。
  • 该模型对一个文本进行逐字分析,并将之前所有文本的语义存储在一个固定大小的隐藏层中。
  • 能更好地捕捉上下文信息。这可能有利于捕获长文本的语义。

缺点:

  • RecurrentNN是一个有偏差的模型,表现为后面的词比前面的词更占优势。因此,当它用于捕获整个文档的语义时,可能会降低效率,因为关键组件可能出现在文档的任何位置,而不是在文档的末尾。

卷积神经网络Convolutional Neural Network (CNN)
优点:

  • 是一个无偏差模型。它可以通过最大池化层公平地确定文本中的有差别的的短语。
  • 与递归或循环神经网络相比,CNN可以更好地捕捉文本的语义。
  • CNN的时间复杂度也是O(n)。

缺点:

  • 以往对CNN的研究倾向于使用固定窗口等简单的卷积内核。在使用这样的内核时,很难确定窗口大小:较小的窗口大小可能会导致丢失一些关键信息,而较大的窗口会导致巨大的参数空间(可能很难训练)。

为解决上述模型的局限性,提出循环卷积神经网络Recurrent Convolutional Neural Network(RCNN),并将其应用到文本分类的任务中。

  • 应用双向循环结构,与传统的基于窗口的神经网络相比,它可以引入相当少的噪音,以便在学习单词表示时尽可能捕获上下文信息。此外,该模型在学习文本表征时可以保留更大范围的词序。
  • 使用一个最大池化层自动判断哪些特征在文本分类中起关键作用,以捕获文本中的关键成分。通过结合递循环结构和最大池化层,模型利用了循环神经模型和卷积神经模型的优点。模型的时间复杂度为O(n),它与文本长度的长度呈线性相关。

相关工作(Related Work)

文本分类(Text Classification)

传统的文本分类工作主要集中在特征工程、特征选择和使用不同类型的机器学习算法三方面。
特性工程使用最广泛的特性是单词包特性。此外,还设计了一些更复杂的特性,如词性标记、名词短语和树内核。特征选择的目的是消除噪声特征,提高分类性能。
最常见的特征选择方法是去除停用词(如“The”)。
高级方法使用信息增益、相互信息或L1正则化来选择有用的功能。
机器学习算法经常使用分类器,如logistic回归(LR), naive Bayes贝叶斯(NB)和支持向量机(SVM)。
但这些方法都存在数据稀疏性问题。

深度神经网络(Deep neural networks)

深度神经网络和representation learning表示学习提出了解决数据稀疏问题的新思路,并提出了许多学习单词表示的神经模型。
一个词的神经表示称为词嵌入,是一个重值向量。单词嵌入使我们能够通过简单地使用两个嵌入向量之间的距离来衡量单词的相关性。
通过预先训练的单词嵌入,神经网络在许多NLP任务中表现出色。

Socher等人使用semi-supervised recursive autoencoders半监督递归自动编码器预测句子的情绪。
Socher et al提出了一种用 recurrent neural network循环神经网络进行意译检测的方法。
Socher等引入recursive neural tensor network递归神经张量网络来分析短语和句子的情绪。
Mikolov使用 recurrent neural network循环神经网络构建语言模型。
Kalchbrenner和Blunsom提出了一种新的对话行为分类循环网络。
Collobert等引入卷积神经网络用于语义角色标记。

模型(Model)

提出一个深度神经模型来捕获文本的语义。图1显示了模型的网络结构。网络的输入是一个文档D,它是一个单词序列w1, w2,…wn。用p(k|D, θ)来表示文档是类k的概率,θ为网络中的参数。
在这里插入图片描述
图1. 循环卷积神经网络的结构。此图是句子: “A sunset stroll along the South Bank affords an array of stunning vantage points”的部分例子,下标表示对应词在原句中的位置。

  1. 经过1层双向LSTM,该词左边的词正向输入进去得到一词向量,该词右边的词反向输入进去得到一个词向量。与该词的词向量结合,生成一个 1 * 3k 的向量。
  2. 经过全连接层,tanh为非线性函数,得到y2。
  3. 经过最大池化层,得出最大化向量y3.
  4. 经过全连接层(输出层),sigmod为非线性函数,得到最终的多分类。

长短期记忆网络(LSTM,Long Short-Term Memory) 是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。在标准RNN中,这个重复的结构模块只有一个非常简单的结构,例如一个tanh层。

词表示学习(Word Representation Learning)

把一个词结合上下文来表示这个词。语境可以帮助获得更准确的词义。模型中使用一个双向循环神经网络,来捕捉上下文。
cl(wi)和cr(wi)都是具有|c|实值元素的稠密向量。
W(l)是一个矩阵,它将隐含层(上下文)转换为下一个隐含层。W(sl)是一个矩阵,用于将当前单词的语义与下一个单词的左上下文结合起来。f是一个非线性激活函数。
任何文档中第一个单词的左侧上下文使用相同的共享参数cl(w1),文档中最后一个单词的右侧上下文共享参数cr(wn)。
c l ( w i ) = f ( W ( l ) c l ( w i − 1 ) + W ( s l ) e ( w i − 1 ) ) c r ( w i ) = f ( W ( r ) c r ( w i + 1 ) + W ( s r ) e ( w i + 1 ) ) \begin{aligned} \boldsymbol{c}_{l}\left(w_{i}\right) &=f\left(W^{(l)} \boldsymbol{c}_{l}\left(w_{i-1}\right)+W^{(s l)} \boldsymbol{e}\left(w_{i-1}\right)\right) \\ \boldsymbol{c}_{r}\left(w_{i}\right) &=f\left(W^{(r)} \boldsymbol{c}_{r}\left(w_{i+1}\right)+W^{(s r)} \boldsymbol{e}\left(w_{i+1}\right)\right) \end{aligned} cl(wi)cr(wi)=f(W(l)cl(wi1)+W(sl)e(wi1))=f(W(r)cr(wi+1)+W

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值