时间:2024-05-04
刘腾飞,于双元,张洪涛,尹鸿峰
(1. 北京交通大学 计算机与信息技术学院,北京 100044;2. 北京交通大学海滨学院 计算机科学系,河北 黄骅 061199)
文本分类问题是自然语言处理领域中的一个经典问题,目的是标记出文本所属的类别。文本分类具有广泛的应用,如主题标记[1]、情感分类[2,3]等。然而,好的文本表示方法对文本分类等自然语言处理任务的性能起着决定性作用。传统的文本表示采用词袋模型(BOW, Bag of Word)或向量空间模型(VSM, Vector Space Model)。词袋模型不仅失去了文本的上下文信息,还面临着高纬度、高稀疏性的问题;向量空间模型是在词袋模型的基础上,通过特征项提取(如采用文档频率、互信息等作为评价标准)进行降低维度,通过特征权重计算(如TF-IDF)来增加稠密性。
近来,基于神经网络模型的分布表示越来越受欢迎[4,5]。基于神经网络模型的分布表示称为词向量、词嵌入或分布表示。神经网络词向量表示技术通过神经网络技术对上下文,以及上下文与目标词之间的关系进行建模[6],这种方法可以将文本映射到低维向量空间中,解决了词袋模型的高纬度、高稀疏性,避免了维数灾难,同时还保留了词语之间的相关性。用词向量作为输入,再用循环网路[6]或卷积网络[7]对文本进行分类,有很大的性能提升。
本文描述了一个结合了循环网络和卷积网络的文本表示和分类网络模型。在该模型中,我们同样使用词向量作为输入,用循环网络对文档进行进一步的表示,然后采用卷积网络对文档进行有效的特征提取,再采用 maxSoft 回归进行分类。循环网络能够捕捉到文档中词序信息,而卷积网络能够很好的提取出有用的特征。我们在六个文本分类任务中测试本文所描述的网络模型,都取得了比先前的方法更出色的性能。
近年来,随着硬件性能的提升,深度学习在计算机视觉、自然语言处理等领域中的应用越来越广泛。在自然语言处理领域中,用神经网络模型做词嵌入,用循环网络、卷积网络做文本分类任务等都有了很好的发展。
Bengio 等人在[4]中详细的介绍了一个用三层神经网络国建语言模型的方法。[8]提出层级的思想替换 Bengio 方法的隐藏层到输出层矩阵乘法,在效果和 maxSoft 方法持平的情况下,使得计算量减小。[5]介绍了他们的词向量计算方法,而他们在2011年发表在 JMLR上的论文[9]系统的介绍了他们工作。Huang 等在[10]中对[9]的模型进行改进,使用全文信息辅助已有的局部信息,他的另一个创新点是使用多个词向量来表示多义词。Mikolov在2013年的[11]提出了 CBOW 和 Skip-gram两种模型, 在[12]中提出用负采样和分级 maxSoft 来提升模型的计算速度。Jeffrey等在 GloVe模型[13]提出用全局“词-词”共现矩阵分解得到词向量的表示方法。
相比于传统的神经网络,循环神经网络允许信息持久化,这使得循环网络在语音识别,语言模型,机器翻译等任务上取得了一定的成功。而循环网络也有有不足:长期依赖问题、梯度消失或梯度爆炸问题。
LSTM(Long-Short Term Memory)是由Hochreiter等人在1997提出[14],在很多领域都得到了广泛的应用。LSTM 通过刻意的设计来避免长期依赖问题。LSTM也有一些变体,如Cho等人提出的GRU[15],Yao等人提出的Depth Gated RNN[16]等。
卷积神经网络的概念最早来自科学家提出的感受野。20世纪 80年代科学家提出的神经认知机感念,算是卷积神经网络的最初的实现。卷积神经网络在计算机视觉领域的应用取得了巨大的成功。2012年 AlexNet获得了 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)比赛分类项目的冠军,使得深度学习成为了热门的研究方向。而后的几年里,VGGNet,GoogleNet,ResNet等卷积网络在图像处理任务中都取得了巨大的成功。
统的文本分类主要工作有:特征表示、特征提取和分类器的选择[6]。特征表示主要采用词袋模型,特征提取采用文档频率、互信息等。分类器有Logistic回归,朴素贝叶斯和支持向量机等。
近年来,随着深度学习在自然语言处理领域的应用,基于深度学习的文本分类模型得到发展,Yook提出的基于卷积网络的分类方法[7],Liu等的基于 RNN的文本分类方法[17],Yang等的基于 rnn和attention模型的分类方法[18]和Lai的基于rcnn的文本分类方法[6]等。这些方法在文本分类任务中都取得了很好的性能。
本文描述了一个基于循环和卷积网络的文本表示和分类模型,模型结构如图1所示,输入Cn×k是n×k的矩阵,其中n是文本的最大长度,也是循环网络的步长,k是词向量的维度。在做下式(1)变换后,再使用Relu激活函数得到 h r1(式(2)),为了防止过拟合,在此之后加入dropout得到 h rd1(式(3))。最后,用 h rd1作为循环网络的输入。
在式(1)中,inW 是输入层到循环层输入的转换矩阵,维度为×ku,其中u是循环层的隐藏单元数,inb 是偏置项。
循环网络做自然语言处理任务,能够提取到词与词之间的关系。在循环层,本文使用双向循环网络,把前向循环输出和后向循环的输出级联作为循环层的输出。本文使用前向循环和后向循环的输出级联作为输出,而在循环网络内部,试验中分别使用的是RNN、LSTM和GRU和细胞单元。其中,前向循环输出如式(4),后向循环输出如式(5),循环层最终输出如式(6)。
在式(4)和式(5)中, Wf和 Wb分别对应的是前向循环和后向循环的当前输入到输出的转移矩阵 Wfc和Wbc分别对应的是前向循环和后向循环的上文或下文到当前输出的转移矩阵,c(i- 1)和 c(i +1)分别对应的是前向循环和后向循环的上文或下文信息。
在循环层之后,使用卷积网络提取特征,使用不同大小的卷积核,每种卷积核选择100个,最后对每个卷积核卷积的结果再使用最大池化,得到的结果即视为卷积所得到的特征。对于每一个卷积核,每一步卷积操作如式(7),然后对该卷积核的每一步卷积结果做纵向级联,如式(8),再使用Relu激活函数得到 h r3。
在式(7)中,cW 是对应的卷积核。
在卷积过后,使用最大池化层提取重要特征。池化层如式(10)。
同样的,为防止过拟合,在池化层之后,加入dropout得到3hrpd (式(11))。
在此之后,是全连接层,如式(12),其中fcW和fcb 分别对应的是转移矩阵和偏置项。然后使用Relu激活函数得到4hr(式(13)),再后是dropout得到4hrd (式(14))。
输出层也是一个全连接层,如式(15),其中oW和ob分别对应隐藏层到输出层的转移矩阵和偏置项。
最后,使用 maxSoft 函数计算模型输出的预测所属的类别的概率, maxSoft 函数如式(16),最后的ip即是模型预测的文本是属于类别i的概率。
本节主要介绍试验使用的数据集、实验设置和对实验结果进行对比分析。
我们使用六个文本分类任务数据集来测试本文描述的模型,这些数据集的概要如表1。
表1 据集概要Tab.1 A summary of the datasets
MR①http://www.cs.cornell.edu/people/pabo/movie-review-data/:MR(Movie reviews)是Pang等人标注的用于情感分类的电影评论数据集[3],每个一句话是一个评论。该数据集分为正/负两类评论,是二分类任务数据集,共有 10662个评论,正/负评论各5331个。
Subj②http://www.cs.cornell.edu/people/pabo/movie-review-data/:Sub(Subjectivity)是一个包含 5000个主观和5000个客观句子的情感分析数据集,最早有Pang 使用[3]。
SST③https://nlp.stanford.edu/sentiment/:SST(Stanfod Sentiment Treebank)是由Socher 等人标注并发布[19],是MR的扩展。该数据集一共包括11855条电影评论,被标注为五类(非常正面、正面、中立、负面和非常负面)。该数据集提供已经被分割好的训练集(8544)、验正集(1101)和测试集(2210)。
SST2:在SST2中,去除SST中的中立评论,并且把非常正面和正面合并为正面,把非常负面和负面合并为负面。
诗意美是《雨巷》最为突出的特点之一。“艺术作品的形式美,归根结底,也正是这样一种生命感应的产物”。诗歌作为一种充满艺术性的作品形式,与其他体裁相比,简洁而又含蓄,却能将作者的心绪、感受完美地诠释;精练的语言,短小的篇幅,却能引人遐想。
IMDB④http://ai.stanford.edu/~amaas/data/sentiment/:IMDB数据集是一个二分类的情感分析数据集,包括50000个样例,训练集和测试集各25000个样例,是由Maas等人标注发布[2]。
TREC⑤http://cogcomp.cs.illinois.edu/Data/QA/QC/:TREC是由Li等人完成标注的问题分类任务数据集[20],该数据集分为训练集和测试集,其中训练集又随机分为1000、2000、3000、4000和5500个样例的训练集,本文使用的是包含 5500个训练样例的训练集。
1. 词向量:本文所用的词向量是[12]在有1000亿的英文单词的GoogleNews上训练得到的词向量。该词向量是使用CBOW(continuous bag-of-words)模型结构训练得到的,词向量的维度是 300。对用在上述词向量中没有出现的词,随机初始化生成得到300的向量作为该词对应的词向量。
2. 权重初始化:训练中的所有权重随机初始化为标准差为0.1的正态分布随机数。偏置项初始化为0.1。
3. 训练参数:在实验中,我们采用Adam优化方法来训练我们的模型,学习率设置为0.001。对于全连接层,使用 2L正则化方法来防止过拟合,系数设置为0.0001。Dropout的系数设置为0.5。输入批次为64,循环层隐藏单元为128,对于卷积层,使用卷积核大小分别为3、4和5的卷积核,每个大小的卷积核为100个。
4. 模型变体:在我们的试验中,循环网络使用了不同的细胞,得到如下四种模型:
· BRCNN(RNN cell):循环层的循环体使用的是基本的RNN循环细胞。
· BRCNN(LSTM cell):循环层的循环体使用的是基本的LSTM细胞。
如表2,我们分别和12种先前先进的方法进行对比:
· CNN-static、CNN-non-static 和 CNN-multichannel[7]:Kim等采用CNN卷积网络对文本分类。其中,CNN-static即在训练过程中输入词向量不做改变,CNN-non-static是在训练过程中对词向量进行修改,而CNN- multichannel是采用多通道进行卷积。
· RCNN[6]:Lai等提出的使用双向循环网络对文本分类。对循环网络的前向输出、词向量和循环网络后向输出进行级联作为循环网络的输出,取最大池化后的输出再使用 Softmax回归对文本进行分类。
· RNTN[19]: Socher等人提出的基于张量特征函数和解析树的递归神经张量网络。
· DCNN[20]:Kalchbrenner等人使用 k最大池化的动态卷积网络。
· Paragraph-Vec[21]:Le等人使用段落向量的逻辑回归分类方法。
· MNB、NBSVM[1]:Wang使用的方法,其中MNB是多项式朴素贝叶斯分类方法,NBSVM是结合了朴素贝叶斯和支持向量机的分类方法。
· G-Dropout、F-Dropout[1]:Wang 使用的方法,其中 G-Dropout是高斯 Droupou分类方法,F-Dropout是快速Dropout分类方法。
· SVM[22]:是 Silva等人提出的基于支持向量机的分类方法。
本文分别在 4.1所述的六文本分类任务数据集上测试本文提出的文本分类模型,并和先前的先进方法进行比较分析,如表2。
1. 对比表2中的实验结果,基于RNN cell的模型在六个文本分类任务中只取得了和先前先进的方法相当的性能,而基于LSTM cell和GRU cell的模型在六个文本分类任务中都取得了不错的性能,其中在MR、Subj、SST和TREC任务中比先前的分类模型取得了更高的精确度,而在SST2和IMDB分类任务中也取得了和先前的门类模型相当的性能。
2. 对比基于RNN cell、LSTM cell和GRU cell的模型。基于 RNN cell的模型的性能低于基于LSTM cell和GRU cell的模型。而基于LSTM cell和GRU cell的模型取得相当的性能。这可能是由于循环网络的长期依赖等问题影响了RNN的性能,而LSTM模型解决了RNN的长期依赖问题,所以取得了更好的性能,GRU是LSTM的一个变体,所以也能取得和LSTM相当的性能。
表2实验结果对比。其中,对比方法的结果直接取自对应的论文中的结果。
本文介绍了基于循环和卷积网络的文本表示和分类模型,通过实验分析,表明我们的模型能够很好的完成文本分类任务。卷积层能够得到文本的上下文信息,卷积层能够很好的提取特征,在分类任务上能够得到不错的性能。
表2 实验结果对比Tab.2 Results for the datasets
然而,在我们的试验中,我们只是做了简单的参数调整,在未来的工作中,可以参考[23]采用参数随机搜索,或参考[24]使用贝叶斯优化方法得到更好的参数来提高我们的模型的性能。
同样的,我们还可以使用GloVe等其他词向量模型训练的词向量来测式我们的模型。
[1] Wang S, Manning C D. Baselines and bigrams: Simple, good sentiment and topic classification[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2. Association for Computational Linguistics, 2012: 90-94.
[2] Maas A L, Daly R E, Pham P T, et al. Learning word vectors for sentiment analysis[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics:Human Language Technologies-Volume 1. Association for Computational Linguistics, 2011: 142-150.
[3] Pang B, Lee L. Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales[C]//Proceedings of the 43rd annual meeting on asso-ciation for computational linguistics. Association for Computational Linguistics, 2005: 115-124.
[4] Bengio Y, Ducharme R, Vincent P, et al. A neural probabilistic language model[J]. Journal of machine learning research,2003, 3(Feb): 1137-1155.
[5] Collobert R, Weston J. A unified architecture for natural language processing: Deep neural networks with multitask learning[C]//Proceedings of the 25th international conference on Machine learning. ACM, 2008: 160-167.
[6] Lai S, Xu L, Liu K, et al. Recurrent Convolutional Neural Networks for Text Classification[C]//AAAI. 2015, 333:2267-2273.
[7] Kim Y. Convolutional Neural Networks for Sentence Classification[J]. Eprint Arxiv, 2014.
[8] Mnih A, Hinton G E. A scalable hierarchical distributed language model[C]//Advances in neural information processing systems. 2009: 1081-1088.
[9] Collobert R, Weston J, Bottou L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12(Aug): 2493-2537.
[10] Huang E H, Socher R, Manning C D, et al. Improving word representations via global context and multiple word prototypes[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Long Papers-Volume 1. Association for Computational Linguistics, 2012:873-882.
[11] Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space[J]. arXiv preprint arXiv:1301.3781, 2013a.
[12] Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Advances in neural information processing systems. 2013b: 3111-3119.[13] Pennington J, Socher R, Manning C D. Glove: Global Vectors for Word Representation[C]//EMNLP. 2014, 14: 1532-1543.
[14] Hochreiter S, Schmidhuber J. Long short-term memory[J].Neural computation, 1997, 9(8): 1735-1780.
[15] Cho K, Van Merriënboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv: 1406.1078, 2014.
[16] Yao K, Cohn T, Vylomova K, et al. Depth-Gated Recurrent Neural Networks[J]. arXiv preprint arXiv:1508.03790, 2015.
[17] Liu P, Qiu X, Huang X. Recurrent neural network for text classification with multi-task learning[J]. arXiv preprint arXiv:1605.05101, 2016.
[18] Yang Z, Yang D, Dyer C, et al. Hierarchical attention networks for document classification[C]//Proceedings of NAACL-HLT. 2016: 1480-1489.
[19] Socher R, Perelygin A, Wu J Y, et al. Recursive deep models for semantic compositionality over a sentiment treebank[C]//Proceedings of the conference on empirical methods in natural language processing (EMNLP). 2013, 1631: 1642.
[20] Kalchbrenner N, Grefenstette E, Blunsom P. A convolutional neural network for modelling sentences[J]. arXiv preprint arXiv:1404.2188, 2014.
[21] Le Q, Mikolov T. Distributed representations of sentences and documents[C]//Proceedings of the 31st International Conference on Machine Learning (ICML-14). 2014: 1188-1196.
[22] Silva J, Coheur L, Mendes A C, et al. From symbolic to sub-symbolic information in question classification[J]. Artificial Intelligence Review, 2011, 35(2): 137-154.
[23] Bergstra J, Bengio Y. Random search for hyper-parameter optimization[J]. Journal of Machine Learning Research, 2012,13(Feb): 281-305.
[24] Snoek J, Larochelle H, Adams R P. Practical bayesian optimization of machine learning algorithms[C]//Advances in neural information processing systems. 2012: 2951-2959.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!