查看原文
其他

【源头活水】用于文本分类的循环卷积神经网络



“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—红叶红不红

地址:https://zhuanlan.zhihu.com/p/347933674


01

Abstract
文本分类是许多NLP应用的基础任务,传统的文本分类经常需要许多人工的特征,比如字典,知识库和特殊的树核。对比传统方法,我们引入一种不需要手工特征的递归卷积神经网络用于文本分类,在模型中,我们应用递归神经网络去学习词向量表征的时候尽可能捕获上下文信息,这相比传统的窗口神经网络可以引入更少的噪声。我们也应用max-pooling层去自动判断哪些单词在文本分类中扮演重要的角色,进而捕获这些文本的重要部分。在四个常见数据集上进行实验,实验表明本文提出的方法效果超过其他方法,尤其在文档级别的数据集上。


02

Introduction
部分应用上文本分类是一个重要的组成部分,比如web检索,信息过滤和情感分类。这吸引了不少研究者。文本分类的一个重要问题是特征的表征,其中常见的方法有bag-of-words模型,有unigrams, bigrams, n-grams或者一些设计的特别方法抽取特征。此外,一些特征方法也用来挑选更具分辨性的特征,如 MI (Cover and Thomas 2012), pLSA (Cai and Hofmann 2003), LDA (Hingmire et al. 2013)。但传统特征表征方法经常忽略文本上下文信息和单词顺序,对于单词语义的捕获上也不令人满意。例如句子“A sunset stroll along the South Bank affords an array of stunning vantage points.”当我们分析单词“Bank” (unigram)的时候,不能确定其是金融机构还是河边的沙滩。考虑短语“South Bank” (bigram),即使是两个单词,可能也会导致不了解伦敦的人把它当做金融机构。在获取更多的上下文“stroll along the South Bank” (5-gram),我们能简单分辨其含义,即使高维度的n-gram和更复杂的特征(such as tree kernels (Post and Bergsma2013))被设计来捕获更多上下文信息和单词顺序,其仍然存在数据稀疏性的问题,这会极大影响分类的准确率。
近期,预训练词向量和深度神经网络的快速发展,在很多NLP任务上带来不错的振奋。词向量的分布式表征,极大缓解了数据稀疏性问题(Bengio et al. 2003)。Mikolov, Yih, and Zweig(2013)展示了预训练词向量能捕获句法含义和语法规则。有了词向量帮助,一些合成性方法被提出用来捕获文本的语义表征。Socher et al. (2011a; 2011b; 2013) proposed the Recursive Neural Network (RecursiveNN),被证明是一种有效构建句子表征的方法,但RecursiveNN通过树结构捕获句子的语义,它的表现极大依赖于文本树结构,并且构建该文本树需要O(n*2)的时间复杂度,其中n代表文本的长度。对于长句或者文档的时候,该模型的时间消耗会变得很大,并且两个句子之间的关系很难通过树结构进行表征,因此RecursiveNN模型在长句&文档建模上并不适用。另一个只需要时间复杂度n的模型是Recurrent Neural Network(RecurrentNN),模型逐词分析文本,并且之前文本的语义存在固定尺寸的隐层中(Elman 1990)。RecurrentNN模型的优势在于能捕获上下文信息,这在捕获长文本的语义上是有益的,RecurrentNN模型是存在偏见的,靠后的单词要比前面的单词更重要,当其用于捕获整个文档的语义时会降低有效性,因为关键部分可能出现任何地方而不只是最后。
为了克服该缺点,一个不带偏见的CNN模型被引入到NLP的任务中来,其能相对公平的区分文本中的重要短语通过max-pooling层,CNN对比recursive or recurrent neural networks能更好捕获文本的语义,CNN的时间复杂度是O(n)。但之前对于CNN的研究是固定卷积核尺寸的(Collobert et al. 2011; Kalchbrenner and Blunsom 2013)。使用这类卷积核难以确定窗口的尺寸,较小的尺寸将导致重要信息的丢失,较大的尺寸将导致参数空间太大难以训练,这带来了一个问题,与传统基于窗口神经网络相比我们是否可以更精确对上下文进行表征,进而用于文本分类。为解决上述模型的局限,我们提出了 Recurrent Convolutional Neural Network (RCNN),将其用于文本分类。首先,我们通过双向的recurrent结构,与传统基于窗口的神经网络相比,该结构在学习单词表征时能最大程度捕获上下文信息。且在学习文本表征时,模型能最大范围保留文本的单词顺序。其次通过max-pooling层自动化判定文本分类中哪部分特征扮演重要部分,进而捕获文本的重要部分。为了结合 recurrent structure and max-pooling layer,模型结合了recurrent neural models and convolutional neural models二者的优势,模型的时间复杂度是O(n),仅和文本长度线性相关。最后将模型和之前不同方法在中英文任务上进行对比,分类法包括主题分类,情感分类和写作类型分类。实验表明了本文模型在四个常见数据集上要优于之前的三种方法。

03

Related Work

1)Text Classification
Traditional text classification works mainly focus on three topics: feature engineering, feature selection and using different types of machine learning algorithms. For feature engineering, the most widely used feature is the bag-of-words feature. In addition, some more complex features have been designed, such as part-of-speech tags, noun phrases (Lewis 1992) and tree kernels (Post and Bergsma 2013). Feature selection aims at deleting noisy features and improving the classification performance. The most common feature selection method is removing the stop words (e.g., “the”). Advanced approaches use information gain, mutual information (Cover and Thomas 2012), or L1 regularization (Ng 2004) to select useful features. Machine learning algorithms often use classifiers such as logistic regression (LR), naive Bayes (NB), and support vector machine (SVM). However, these methods have the data sparsity problem.
2)Deep neural networks
Recently, deep neural networks (Hinton and Salakhutdinov 2006) and representation learning (Bengio, Courville, and Vincent 2013) have led to new ideas for solving the data sparsity problem, and many neural models for learning word representations have been proposed (Bengio et al. 2003; Mnih and Hinton 2007; Mikolov 2012; Collobert et al. 2011; Huang et al. 2012; Mikolov et al. 2013). The neural representation of a word is called word embedding and is a realvalued vector. The word embedding enables us to measure word relatedness by simply using the distance between two embedding vectors. With the pre-trained word embeddings, neural networks demonstrate their great performance in many NLP tasks. Socher et al. (2011b) use semi-supervised recursive auto encoders to predict the sentiment of a sentence. Socher et al. (2011a) proposed a method for paraphrase detection also with recurrent neural network. Socher et al. (2013) introduced recursive neural tensor network to analyse sentiment of phrases and sentences. Mikolov (2012) uses recurrent neural network to build language models. Kalchbrenner and Blunsom (2013) proposed a novel recurrent network for dialogue act classification. Collobert et al. (2011) introduce convolutional neural network for semantic role labeling.


04

Model
我们提出一种深度模型用于捕获文本语义,图1展示了模型结构。网络的输入是文档D,其中单词序列是w1,w2,...,wn。网络的输出是类别成分,使用    表示文本类别是k的概率,其中    代表了模型的参数。
1)Word Representation Learning
我们结合单词和其上下文对单词进行表征,上下文有助于获得更精确的单词表征,在模型中我们使用双向recurrent neural network去捕获上下文。定义    为单词wi的左侧文本,    为单词wi的右侧文本, 两侧都是有着c个值的紧密向量,左侧的向量  通过式1计算,其中    是单词wi-1的词向量,是有e个值的紧密向量。  是单词wi-1的左侧文本,对任意文本首个单词的左侧文本使用同样的共享参数    。其中    是隐藏层转化为下一个隐层的转移矩阵,  是用来结合当前单词的语义和下个单词左侧文本的矩阵,f是非线性激活函数。右侧向量  也是已类似的方式计算所得,见式2,文档中每个结尾单词的右侧文本通过参数  进行共享。
如上式所示,上下文向量捕获所有左右侧文本的语义。
如图1中,在句子左右前文中   对左侧文本 “stroll along the South”的语义进行编码,    对右侧文本内容 “affords an ...”的语义进行编码,并定义单词wi的表征为式3,该向量为左侧上下文向量  ,词向量  和右侧上下文向量    拼接而成。以类似的方式,使用这种上下文信息,本文模型对比传统固定窗口的卷积神经网络能更好的消除单词的歧义。
递归结构能前向传播获取所有cl,在后向传播获得所有cr,时间复杂度为O(n),在获得单词wi的表征xi后,可以对x通过激活和线性变化,并将结果发送给下一层。
其中    为隐藏的语义向量,其中每个语义因子都将确定文本表征中最有用的部分。
2)Text Representation Learning
模型中的卷积神经网络被设计来对文本进行表征,从卷积神经网络的视角,之前提到的递归结构是卷积层。当所有单词的表征计算好,可以用max-pooling层作用于他们
max function是逐元素的函数,y3的第k的元素是y2最大的第k个部分。pooling层将变长的文本转化为固定长度的向量,通过Pooling层能对全文信息进行捕获。这里也有其他类似的Pooling层,例如average pooling层 (Collobert et al. 2011)。这里不使用average pooling是因为只有少量单词和其集合有助于文本含义的表征,max-pooling层尝试发现文档语义因子中最重要的部分,且Pooling层使用recurrent结构的输出作为输入,pooling层的时间复杂度是O(n),整个模型是recurrent结构和max pooling层的级联,因此时间复杂度仍然是O(n)。之后是模型的输出层,类似传统神经网络,定义为:
最后将softmax函数作用在y4上,能得到输出结果的概率情况:
3)Training
Training Network parameters。定义需要训练的参数如下:
具体参数的词向量    ,偏置向量b,初始化上下文向量cl,cr,W为转移矩阵,V代表了词向量的尺寸,H是隐藏层的尺寸,O代表了文档的类型。网络的训练目标是最大化log-likelihood概率:
其中D是文档的训练数据集,classD代表了文档类别,使用随机梯度下降优化训练目标,每步随机挑选样本(D,classD)计算梯度:
通过随机梯度下降进行网络训练时,有一个常见技巧,通过均匀分布对所有参数初始化, 最大值和最小值等于"fan-in"的平方根,平方数为模型前一层网络节点的数量,该层的学习率被除以"fan-in"。
Pre-training Word Embedding。wording embedding是词的分布式表征,分布式作为神经网络的输入较合适,传统的表征,如one-hot编码将带来维度灾难。近期研究(Hinton and Salakhutdinov 2006; Erhan et al. 2010)表明,以一个合适的非监督预训处理,神经网络能收敛到一个较好的局部值。本文中我们使用Skip-gram model预训练词向量,该模型能通过最大化下概率对词向量进行训练:
其中V是无标签样本的尺寸,    是单词wi的另一个词向量,使用词向量e因为其中有些加速方法 (e.g., hierarchical softmax(Morin and Bengio 2005))。e'实际中不被计算。


05

Experiments
1)Datasets
To demonstrate the effectiveness of the proposed method, we perform the experiments using the following four datasets: 20Newsgroups, Fudan Set, ACL Anthology Network, and Sentiment Treebank. Table 1 provides detailed information about each dataset.
20Newsgroups 1 This dataset contains messages from twenty newsgroups. We use the bydate version and select four major categories (comp, politics, rec, and religion) followed by Hingmire et al. (2013).
Fudan set 2 The Fudan University document classification set is a Chinese document classification set that consists of 20 classes, including art, education, and energy.
ACL Anthology Network 3 This dataset contains scien- tific documents published by the ACL and by related organizations. It is annotated by Post and Bergsma (2013) with the five most common native languages of the authors: English, Japanese, German, Chinese, and French.
Stanford Sentiment Treebank 4 The dataset contains movie reviews parsed and labeled by Socher et al. (2013). The labels are Very Negative, Negative, Neutral, Positive, and Very Positive.
2)Experiment Settings
使用下参数进行试验设置,对每个英文文档通过Stanford Tokenizer 5获取token,对每个中文文档,通过 ICTCLAS 6 分词,不移除任何停用词或标记,所有四个数据集都先划分为训练集和测试集。ACL和SSL数据集有训练集,验证集和测试集,另两个数据集,通过训练数据划分出10%作为验证集数据。在20Newsgroups上评估指标使用Macro-F1,其他使用准确率评估。网络超参数设置取决于数据集,通过下研究进行设置(Collobert et al. 2011; Turian, Ratinov, and Bengio 2010)。设置随机梯度的学习率    为0.01,隐层尺寸H=100,词向量尺寸e为50,上下文词向量尺寸为50,通过Skip-gram对模型进行训练,使用wikipedia dumps训练词向量。
3)Comparison of Methods
Bag of Words/Bigrams + LR/SVM Wang and Manning (2012) proposed several strong baselines for text classification. These baselines mainly use machine learning algorithms with unigram and bigrams as features. We use logistic regression (LR) and SVM 8 , respectively. The weight of each feature is the term frequency.
Average Embedding + LR This baseline uses the weighted average of the word embeddings and subsequently applies a softmax layer. The weight for each word is its tf-idf value. Huang et al. (2012) also used this strategy as the global context in their task. Klementiev, Titov, and Bhattarai (2012) used this in crosslingual document classification.
LDA LDA-based approaches achieve good performance in terms of capturing the semantics of texts in several classification tasks. We select two methods as the methods for comparison: ClassifyLDA-EM (Hingmire et al. 2013) and Labeled-LDA (Li, Sun, and Zhang 2008).
Tree Kernels Post and Bergsma (2013) used various tree kernels as features. It is the state-of-the-art work in the ACL native language classification task. We list two major methods for comparison: the context-free grammar (CFG) produced by the Berkeley parser (Petrov et al. 2006) and the reranking feature set of Charniak and Johnson (2005) (C&J).
RecursiveNN We select two recursive-based methods for comparison with the proposed approach: the Recursive Neural Network (RecursiveNN) (Socher et al. 2011a) and its improved version, the Recursive Neural Tensor Networks (RNTNs) (Socher et al. 2013).
CNN We also select a convolutional neural network (Collobert et al. 2011) for comparison. Its convolution kernel simply concatenates the word embeddings in a pre-defined window. Formally,
4)Results and Discussion
实验结果见表2。
在四个数据集上对常用的方法进行对比。结果证明了本文方法在语义表征上的有效性,神经网络在基于Bow传统方法上能捕获更多上下文信息,但其也有着数据稀疏性的问题。
通过SST数据集对比CNNs,RCNNs和RecursiveNNs,可以发现基于convolution的方法能获得更好的结果,这意味着对比基于conv结构的方法对比之前的网络更适用于构建语义表征。我们相信CNN通过max-pooling层能挑选出更显著的特征,对比RecursiveNN仅能在语法解析树下捕获文本语义信息,这极大依赖于语法解析树的构造。其recursive-based模型的时间复杂度是O(n2),本文模型仅需要O(n),实际中RNTN训练时间接近3-5小时( Socher et al. (2013)),而RCNN单机上仅消耗几分钟。
除了ACL和SST,RCNN的表现最佳,在ACL中本文模型效果接近最佳。
在ACL中对比本文模型和良好的特征设计,结果表明RCNN对比CFG特征集也获得了类似的效果,相信RCNN能捕获长距离模式。且RCNN不需要手工特征集,这使其对不同语言能更好的应用。
同时将RCNN和CNN进行对比,RCNN全面超过CNN。因此可以相信RCNN相比CNN结构能更好捕获文本信息。
Contextual Information 这里对模型中recurrent结构做进一步探索。CNN和RCNN的不同之处在于,捕获文本信息的结构不同。CNN使用固定的窗口的单词作为文本信息,RCNN使用更长距离的RNN结构去获取文本信息,CNN的表现受到窗口尺寸的影响,小窗口可能导致长距离信息丢失,大窗口可能导致数据稀疏性问题,过大的参数导致训练困难。对窗口参数设置从1-19的奇数,当窗口尺寸为1仅通过[e(wi)]对单词表征,当窗口尺寸为3时,单词wi的表征为[e(wi-1),e(wi),e(wi+1)],测试集的分数表现见图2。因空间限制,仅展示数据集20Newsgroups的结果。图中可以发现RCNN的表现在所有尺寸上都超越了CNN,表明RCNN可以通过recurrent结构捕获文本信息,而不依赖于窗口尺寸,因为recurrent结构能保留长文本信息,引入更少的噪音。
Learned Keywords 为了探索模型如何构成文本表征,对测试集中所有主要单词进行罗列,见表3。最重要的单词,是经常被max-pooling层选中的词,因此模型单词的表征是单词和其上下文,上下文可能包含了整个文本。仅展示中心词和其trigram邻居,对比展示了RNTN正负类别最重要的短语。对比RNTN所展示的重要短语,本文模型不依赖语法解析树,因此展示的n-grams是非典型的短语,结果展示了正样本中的重要单词,如 "worth","sweetest",and “wonderful”,负样本的重要单词 "awfully",“bad", and "boring"。


06

Conclusion
本文引入一种recurrent卷积神经网络用于文本分类,模型通过recurrent结构捕获上下文信息,使用conv神经网络构造文本表征,实验表明了文本模型优于CNN和RecursiveNN等。

参考文献:

Lai S, Xu L, Liu K, et al. Recurrent convolutional neural networks for text classification[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2015, 29(1).

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存