文本分类是NLP的一项重要的基础任务。传统的文本分类需要特征工程,需要人类参与。而深度学习能够自动提取特征不需要人的参与。本文采用周期循环神经网络比卷积神经网络能够更加减少噪声,利用最大池化层选取一句话中最重要的特征。
首先在学习词的表达的时候,采用双向循环结构获取文本信息,比传统的基于窗口的神经网络更能减少噪声,而且在学习文本表达时可以大范围的保留词序。其次使用最大池化层获取文本主要成分,自动判断哪个特征在文本分类过程中起更重要的作用。文本分类在很多应用中是非常重要的一部分。such as web searching, information filtering, and sentiment analysis。
feature representation:
双向循环结构:比传统的基于窗口的神经网络噪声要小,能够最大化地提取上下文信息。
We apply a bi-directional recurrent structure, which may introduce considerably less noise compared to a traditional window- based neural network, to capture the contextual information to the greatest extent possible when learning word repre- sentations. Moreover, the model can reserve a larger range of the word ordering when learning representations of texts.
We employ a max-pooling layer that automatically judges which features play key roles in text classification, to capture the key component in the texts.
文本分类
特征工程:广泛使用的特征工程是bag-of-words
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 selec- tion method is removing the stop words (e.g., “the”). Ad- vanced approaches use information gain, mutual informa- tion (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.
词向量的研究使我们测量两个词向量的相似度来表征两个词之间的相似度。
With the pre-trained word embeddings, neural networks demonstrate their great performance in many NLP tasks. Socher et al. (2011b) use semi-supervised recursive autoen coders 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 di- alogue act classification. Collobert et al. (2011) introduce convolutional neural network for semantic role labeling.
使用双向RNN分别学习当前词 w i w_i wi的左上下文表示 c l ( w i ) c_l(w_i) cl(wi)和右上下文表示 c r ( w i ) c_r(w_i) cr(wi),再与当前词自身的表示 e ( w i ) e(w_i) e(wi)连接,构成卷积层的输入 x i x_i xi。具体如下:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ c_l(w_i) = f(…
e ( w i − 1 ) e(w_{i-1}) e(wi−1)is the word embedding of word w i − 1 w_{i-1} wi−1,which is a dense vector with ∣ e ∣ |e| ∣e∣ real value elements.
任何文档中第一个单词的左侧上下文使用相同的共享参数 c l ( w 1 ) c_{l}(w_{1}) cl(w1),最后一个单词的右侧上下文共享参数 c r ( w n ) c_{r}(w_{n}) cr(wn).
使用此模型时间复杂度仅为O(n),与文本长度呈线性相关,大大地消除了歧义。
然后将 x i x_i xi作为 w i w_i wi的表示,输入到激活函数为tanh,kernel size为1的卷积层,得到 w i w_i wi的潜在语义向量(latent semantic vector) y i ( 2 ) y^{(2)}_i yi(2),具体如下:
y i ( 2 ) = t a n h ( W ( 2 ) x i + b ( 2 ) ) y^{(2)}_i=tanh(W^{(2)}x_i+b^{(2)}) yi(2)=tanh(W(2)xi+b(2))
将kernel size设置为1是因为 x i x_i xi中已经包含 w i w_i wi左右上下文的信息,无需再使用窗口大于1的filter进行特征提取。但是需要说明的是,在实践中仍然可以同时使用多种kernel size的filter,如[1, 2, 3],可能取得更好的效果,一种可能的解释是窗口大于1的filter强化了 w i w_i wi的左右最近的上下文信息。此外,实践中可以使用更复杂的RNN来捕获 w i w_i wi的上下文信息如LSTM和GRU等。
经过卷积层后,获得了所有词的表示,然后在经过最大池化层和全连接层得到文本的表示,最后通过softmax层进行分类。具体如下:
(1) Max-pooling layer
y ( 3 ) = max i = 1 n y i ( 2 ) y^{(3)}=\max \limits_{i=1}^{n} y^{(2)}_i y(3)=i=1maxnyi(2)
(2) Fully connected layer
y ( 4 ) = W ( 4 ) y ( 3 ) + b ( 4 ) y^{(4)}=W^{(4)}y^{(3)}+b^{(4)} y(4)=W(4)y(3)+b(4)
(3) Softmax layer
p i = exp ( y i ( 4 ) ) ∑ k = 1 n exp ( y k ( 4 ) ) p_i=\frac{\exp(y^{(4)}_i)}{\sum_{k=1}^n \exp(y^{(4)}_k)} pi=∑k=1nexp(yk(4))exp(yi(4))
下图为上述过程的一个图解:
如图所示,先经过1层双向LSTM,该词的左侧的词正向输入进去得到一个词向量,该词的右侧反向输入进去得到一个词向量。再结合该词的词向量,生成一个 1 * 3k 的向量。
再经过全连接层,tanh为非线性函数,得到y2。
再经过最大池化层,得出最大化向量y3.
再经过全连接层,sigmod为非线性函数,得到最终的多分类。
训练网络参数 θ = { E , b ( 2 ) , ( 4 ) , c l ( w 1 ) , c r ( w n ) , W ( 2 ) , W ( 4 ) , W ( l ) , W ( r ) , W ( s l ) , W ( s r ) } θ = \left\{E,b^{(2)},^{(4)},c_{l}(w_{1}),c_{r}(w_{n}), W^{(2)},W^{(4)},W^{(l)},W^{(r)},W^{(sl)},W^{(sr)}\right\} θ={E,b(2),(4),cl(w1),cr(wn),W(2),W(4),W(l),W(r),W(sl),W(sr)}
最大化关于 θ θ θ 的对数似然函数,使用随机梯度下降法来优化训练目标。
此处使用了一个常用技巧,即神经网络中的所有参数由均匀分布初始化而成。最大值或最小值的量级等于“fan-in”的平方根,“fan-in”是模型中上一层的网络节点数。
Recent research shows that neural networks can converge to a better local minima with a suitable unsupervised pre-training procedure。
本文中使用的是Skip-gram模型。
数据预处理:
ACL和SST有预定义的training、development和testing separation,其他数据集10%development和90%training。
评价指标20Newsgroups用Macro-F1,其他用accuracy。
超参数设置:
NN vs. traditional methods: 在该论文的所有实验数据集上,神经网络比传统方法的效果都要好
Convolution-based vs. RecursiveNN: 基于卷积的方法比基于递归神经网络的方法要好
除了ACL和SST,在别的数据集上都是RCNN最好
RCNN vs. CFG and C&J: The RCNN可以捕获更长的模式(patterns)
RCNN vs. CNN: 在该论文的所有实验数据集上,RCNN比CNN更好
如何能够更有效捕获上下文信息?通过CNNs与RCNNs对比,如下图,可以知道RCNN更好。
关键词在文本分类任务中非常重要的决策。因此论文列出了RCNN学习到的一些重要关键词(选择max-pooling层中最频繁被选中的词作为中心的trigram),并与RNTN学习到的关键词作为对比,如Table 3。观察到了如下现象:
无新内容,略。