基于短语注意机制的文本分类
2018-04-16江伟,金忠
江 伟,金 忠
(1.南京理工大学 计算机科学与工程学院,江苏 南京 210094;2.南京理工大学 高维信息智能感知与系统教育部重点实验室, 江苏 南京 210094)
0 引言
文本分类技术在大数据时代有着广泛应用,如垃圾邮件检测、舆情分析和新闻分类推送等。作为自然语言处理中的基础研究,文本分类包括主题分类、问题分类和情感分类等内容,其中情感分类的研究最具挑战性。
近年来,深度学习技术逐渐取代传统的基于机器学习的方法,成为文本分类领域的主流[1]。深度学习在自然语言处理领域的突破始于以Mikolov、Bengiv等人[2-3]为代表提出的神经语言模型,如CBOW和Skip-gram等。神经语言模型提供的词向量为使用各种神经网络结构合成分布式文本表示奠定了基础。此外,从大规模无标签数据集学到的词向量能引入外部先验知识,明显提高深度网络模型在文本分类中的表现。
基于词注意机制的双向循环神经网络[4-5]在解决文本(包括句子和文档)分类问题时,先将词向量序列输入双向循环神经网络来融入上下文信息,再通过注意机制(attention mechanism)学习融入上下文信息的词的权重来加权平均生成文本表示。此模型的不足之处在于:直接从词加权生成文本表示会损失大量信息,从而难以在小规模数据集上训练网络。因为词通常需要结合上下文构成短语才能表示明确的语义,所以通过注意机制学习短语的权重来合成的文本语义表示要比从词学习得到的更准确。基于上述分析,本文提出了一种基于短语注意机制的神经网络框架NN-PA。该框架先使用一层卷积沿着词向量序列提取N-gram短语表示,再使用双向循环神经网络获取融入上下文信息的短语表示,最后使用注意机制学习短语的权重来合成文本的语义表示。此外,本文还尝试了5种注意机制,包括使用全局信息指导学习局部短语的权重。
1 相关工作
基于机器学习的文本分类技术[6]在表示文本时主要使用词袋特征,这会丢弃词序信息且产生稀疏、高维文本表示。此外,词袋表示无法很好地对词的语义和语法关系建模。Mikolov等人提出的词嵌入[2],即词的低维、稠密实向量表示,很好地解决了上述问题。引入词向量后,文本就可以表示成词向量序列(即矩阵),这为使用各种先进的神经网络架构,如卷积神经网络[7](convolutional neural network,CNN)、循环神经网络(recurrent neural network,RNN)等提供了基础。特别是在数据集规模较小的情况下,使用Word2Vec和GloVe[8]等预训练词向量初始化词嵌入层能明显提高分类精度。
Kim[9]提出的多尺度并行的单层卷积神经网络结合预训练词向量在多个句子分类任务上的表现明显优于传统的机器学习方法(如朴素贝叶斯NB和支持向量机SVM等)及早先的神经网络方法[8]。得益于循环结构,RNN适合处理变长文本(即词序列),因而在自然语言处理领域中应用广泛。为了解决vanilla RNN在训练时存在的严重的梯度弥散问题,其变体长短时记忆网络[10](long short-term memory network,LSTM)引入门限机制,通过输入门、遗忘门和输出门来控制记忆的长短。在文本分类方面,双向长短时记忆网络[11](bidirectional LSTM,BLSTM)后接平均池化层(average pooling)是最常用的一个基准模型,其性能与Kim使用的简单CNN基本相当。
近两年来,注意机制作为深度学习的重要研究方向,先在神经机器翻译领域取得突破,随后扩展到其他领域。Zhou等人[4]提出基于注意机制的BLSTM并用于关系分类。Yang等人[5]提出分层注意机制的神经网络模型(hierarchical attention network,HAN)并应用于文档分类。HAN先由词序列经双向门限循环单元(简称为BGRU)后通过词级注意机制加权平均生成句子序列,再经BGRU通过句子级注意机制加权平均生成文档表示。但HAN存在如下问题:在句子分类中,不能使用句子级注意机制;在文档分类中,使用词级别注意机制合成句子表示会导致网络中间损失大量信息,使得网络在小规模数据集下很难训练。
本文提出的基于短语注意机制的神经网络框架NN-PA,使用注意机制学习短语的权重来合成文本表示。事实上,短语比词和句子更能有效地反映文本语义,因为文本的语义通常是由其中几个关键短语决定。同时,这也避免了中间合成句子表示时所造成的信息损失。除现有的文本分类领域的注意机制外,本文还尝试将机器翻译领域的一些注意机制改到文本分类中。共尝试了五种注意机制,并在多个文本分类任务上对它们进行对比分析。实验结果表明:NN-PA系列模型不仅在大、小规模数据集上的分类效果都明显优于基于词注意机制的双向循环神经网络,而且收敛更快。此外,基于前两种注意机制的NN-PA系列模型(即NN-PA1和NN-PA2)都优于主流的深度学习模型,且NN-PA2在斯坦福情感树库数据集的五分类任务上达到53.35%的正确率,这是目前最好的结果。
2 基于短语注意机制的神经网络框架
基于短语注意机制的神经网络框架(neural network based on phrase attention,NN-PA)由词嵌入层、卷积层、BLSTM层、注意机制(attention)层以及最后的Softmax层组成,如图1所示。下面将详细描述该网络框架的各层及正则化方法。
图1 基于短语注意机制的神经网络框架
2.1 嵌入层
文本(包括句子和文档)S可视为词的one-hot表示序列,如式(1)所示。
(1)
其中l表示句子长度,|V|是词汇表V的大小,wordi∈|V|是文本中第i个词基于词汇表的one-hot表示。设词嵌入矩阵M∈d×|V|,其中d是词嵌入空间的维度,则第i个词的词嵌入如式(2)所示。
xi=Mwordi∈d
(2)
2.2 卷积层
经过嵌入层,文本转化为如下词向量序列(也可视为文本矩阵),如式(3)所示。
X=(x1,x2,…,xl)∈d×l
(3)
接下来,使用尺度为d×w的卷积核Wj∈d×w(其中下标j索引第j个通道)沿词序列滑动能容纳w个词的窗口进行卷积,生成w-gram短语的特征,如式(4)所示。
Fji=f(Wj*xi:(i+w-1)+b)
(4)
其中xi:(i+w-1)=(xi,…,xi+w-1)∈d×w是位置i处窗口所含w个词构成的子序列,下标i取值范围为{1,…,l-w+1},下标j取值范围为{1,…,m},f是非线性激活函数,该文选择ReLU函数,b是偏置项。经过卷积层,可得到w-gram短语特征表示序列,如式(5)所示。
(5)
其中Fi表示在位置i使用m个卷积核提取到的m个特征构成的向量,因为使用的卷积核的大小等于文档表示的维度,故用一个卷积核提取的特征图的尺度为1×(l-w+1),即l-w+1维行向量,所以总的特征图(即F)尺度应为m×(l-w+1)。
2.3 BLSTM层
LSTMs是在基本的vanilla RNN中加入门限机制后的扩展,但不是所有的LSTMs都一样。事实上,涉及到LSTMs的每篇论文几乎都有些许改动。该文使用Zaremba[12]等人描述的LSTM来构建BLSTM,再用该BLSTM在卷积层提取的w-gram短语表示中融入上下文信息。此LSTM的输入为短语表示序列F=(F1,…,Fl-w+1),其机制可用如下映射描述。
其中时序t取值{1,…,l-w+1},ht,ct∈n分别为时序t时的隐状态和记忆状态,n为隐状态的维度(即LSTM中所含单元数),h0、c0皆初始化为零向量;sigm和tanh分别是sigmoid和双曲正切激活函数;it,ft,ot,gt分别为时序t时的输入门限、遗忘门限、输出门限和新的候选记忆状态,其维度等于隐状态维度;⊙表示逐个元素相乘,Tm+n,4n:m+n→4n表示仿射变换。
(12)
2.4 注意机制
带注意机制的网络最近在机器翻译和图像标注(image caption)等一系列任务中取得突破。在文本分类中,注意机制可以学习短语表示序列中各短语的权重[4-5],而最终合成的分布式文本表示v则为各短语表示的加权平均,如式(13)所示。
(13)
其中αi为短语hi对文本语义表示贡献的权值,如式(14)所示。
(14)
其中score(hi)度量位置i处的短语对整个文本表示的重要程度。
对于打分函数score,本文提供了以下五种方法[4-5,13]:
2.5 输出层
给定训练集{(S(i),y(i))|i=1,…,N},其中类别标签y(i)∈{1,…,K}(K是可能的类别数目)。对于文本分类,把从文本S(i)生成的分布式表示v(i)输入Softmax层便得到离散类别标签的预测概率分布如式(20)所示。
(20)
该文用来训练整个网络的代价函数为平均交叉熵误差加上Softmax层权值矩阵的Frobenius范数约束,如式(21)所示。
(21)
其中θ表示网络中所有参数,p(i)y(i)为p(i)的第y(i)个分量;λ是惩罚系数,衡量两项的重要性,下标F表示Frobenius范数。
2.6 网络正则化
除了对Softmax层权值矩阵的约束外,该文还使用了Dropout[14]技术防止过拟合,提高网络的泛化能力。具体在两处使用了Dropout:一是词嵌入矩阵M,相当于给现有的词向量添加适量噪声,以学到对文本分类任务更鲁棒的词向量;二是融合上下文信息的短语表示序列H,以防止其中各单元相互适应。
3 实验设置
3.1 数据集
该文使用5个英文文本分类数据集,对提出的改进方法和基于不同短语注意机制的一系列神经网络模型进行了测试,数据集的相关信息见下列说明和表1:
• MR[15]:电影评论数据集,每条评论就是一个句子,任务是将每条评论分为正/负极性两类。
• SST-1:斯坦福情感树库数据集[8],由Socher整理发布,并进行了训练/验证/测试集的划分,类别标签分为强正、正极性、中性、负、强负极性五类。
• SST-2:基本与SST-1一样,但去掉了中性评论,且将强正/正极性评论合并为正极性,将负/强负极性评论合并为负极性,所以这是一个二分类问题。近年来,部分文献将额外的带标签的短语数据放入训练集以提升分类效果。该文使用的额外短语数据来自Lei[16]。
• TREC[17]:问题分类数据集,其任务是将一个问题分为六类。
• 20NG:分为20个新闻组的邮件数据集,全称为20 Newsgroups。因硬件所限,故选用词频最高的15 000个词并对长度超过500的文档进行截断,不足补零,其他处理与Wang[18]相同。
表1 各数据集信息统计(|Vpre|表示有预训练词向量的词汇个数)
3.2 词嵌入设置
使用在大规模无标签语料库上训练的词向量来初始化词嵌入层可以明显提升网络的泛化能力,尤其是在训练集规模过小的情况下。本文在含1 000亿个词的Google新闻语料库上利用开源的Word2Vec工具预训练的词向量,其维度是300维。对于不存在预训练词向量的词,通过对[-0.25,0.25]上的均匀分布进行随机采样来初始化。
3.3 超参数设置及训练细节
卷积层的卷积核总数m取150,宽度w取3。BLSTM层的隐状态维度n取150。至于正则化,词嵌入和BLSTM输出使用的Dropout比率均为0.5,惩罚系数λ取1×10-6。
若数据集没有训练集/测试集划分,则做10叠交叉验证。若数据集没有指定验证集,则随机选取训练集的10%。该文使用Mini-batch梯度下降算法并采用Adadelta[19]规则更新参数,每次使用50个样本,初始学习速率设为0.09。该文中所有实验都是基于Tensorflow框架完成的,而上述超参数设置是通过在SST-2的验证集上进行微调得到。
4 结果与分析
4.1 NN-PA1模型与其他文本分类方法比较
本实验中实现了词级BLSTM模型,分别只添加卷积层的Conv-BLSTM模型和只添加第一种注意机制的BLSTM-A1模型,以及NN-PA1模型。NN-PA1的参数设置和训练细节见3.2和3.3节,BLSTM和BLSTM-A1的隐状态维度为300维,Conv-BLSTM除没有注意机制外一切与NN-PA1一样,四个模型的训练方法都一样。至于其他几种注意机制,会在4.4节单独比较分析。实验中采用的对照方法描述如下:
• 基于机器学习的方法:该文选用Socher[8]执行的SVM[8]和NB[8]方法作为参考,它们都使用Unigram词袋特征表示。NBSVM[6]使用带情感极性的二值化Unigram词袋特征,而使用的分类器相当于NB和SVM之间的插值,分类性能胜过SVM和NB。NBSVM-bi[6]在构建词袋特征时,除了Unigram,还用了Bigram。
• 基于深度学习的方法:CNN-non-static[9]使用简单的CNN架构和Word2Vec词向量且词嵌入层参与学习。CNN-multichannel[9]使用了随机初始化和Word2Vec词向量的双通道词嵌入层。Tai等人提出的Tree-LSTM[20]在LSTM融入了句法树结构来提升文档的语义表示。Liu等人提出的Multi-Task[21]结合了RNN和多任务学习来增强文本分类。Zhang等人提出的DSCNN[22]则融合CNN和依存句法树对句子和文档建模。Lei等人提出的Molding-CNN[15]对卷积层做非线性化改动。
四个模型和对照方法在五个数据集上的分类结果见表2。NN-PA1模型明显胜过基于传统机器学习的方法和主流深度网络模型。此外,经过比较发现:BLSTM-A1在数据集MR、TREC和20NG上的正确率均比BLSTM低,而在数据集SST-1和SST-2上却相反; Conv-BLSTM在所有数据集上稍微优于BLSTM;此外,结合两个改进的NN-PA1,则在所有数据集上都明显胜过其他方法。事实上,虽然MR、TREC、SST-1和SST-2都只有1万多个样本,且20NG也就接近两万个样本,但SST-1加入了约16万的额外短语样本,SST-2则加入8万个。因此,这些结果与我们的分析一致:即基于词注意机制的BLSTM-A1在学习词的权重方面存在困难,只有在大规模数据集上才能发挥效果。而基于短语注意机制的NN-PA1能弥补上述不足,在不同规模数据集上都胜过BLSTM-A1、BLSTM和主流深度网络模型。
表2 各种文本分类方法在四个数据集上的正确率(%)
4.2 数据规模的影响
在不使用额外短语数据的SST-1和SST-2(分别称为SST-1-non和SST-2-non)数据集上,对模型BLSTM、Conv-BLSTM、BLSTM-A1和NN-PA1的分类性能进行了测试,结果见表3。
表3 4个模型的分类正确率(%)
通过对比分析网络架构和实验结果,我们认为:学习短语的权重来合成的文本语义表示要比学习词的权重来合成的语义表示更准确,不需要大规模的数据集就能见效。
4.3 注意机制对收敛性的影响
模型BLSTM、BLSTM-A1和NN-PA1随着训练epoch数增加在SST-1-non的测试集上的表现如图2所示。由图2可知:模型BLSTM-A1在35 epoch左右就已经收敛,而BLSTM至少在100 epoch后才开始收敛。这表明注意机制能加速收敛。
图2 三个模型在SST-1-non测试集上随epoch数变化曲线
此外,基于短语注意机制的NN-PA1虽然收敛速度慢于BLSTM-A1,但还是明显快于BLSTM,且其分类效果要胜过上述两个模型。这进一步验证了我们的分析:即基于短语注意机制的模型能合成更准确的文本语义表示,泛化能力更好。
4.4 五种注意机制的比较
本文在不同规模的数据集上对式(15)~(19)给出的模型NN-PA1、NN-PA2、NN-PA3、NN-PA4和NN-PA5在文本分类中的作用进行了测试,结果见表4。式(16)和式(19)对应的注意机制均先使用一层全连接网络将短语表示变换到隐空间,再计算score。在实验中,上述隐空间维度均简单地设置为和短语表示维度相同,而没对此进行调节。
表4 五种注意机制对应模型的分类正确率(%)
图3 五种注意机制对应的NN-PA系列模型在SST-1测试集上随epuch数变化曲线
4.5 短语长度的影响
使用卷积核宽度w分别为1,…,7时所对应的模型NN-PA2在SST-1数据集上进行分类,实验结果见表5。结果表明短语长度为2或3时,能达到最好的分类结果,这与文本中绝大部分的关键短语的长度都为2或3的常识吻合。而使用宽度不小于4的卷积核提取短语表示时,分类结果要差很多。这是因为宽度过大的卷积核不仅增加参数量,而且可能会在短语表示中融入噪声词的信息。
表5 不同长度短语对应的NN-PA2模型在SST-1上的分类正确率
5 结束语
基于词注意机制的BLSTM在解决文本分类问题时没有考虑短语结构。由于词必须结合上下文构成短语才能表示明确语义,因此通过注意机制学习短语权重来合成的文本语义表示要比从词学习得到的更准确。所以该文提出了基于短语注意机制的神经网络框架NN-PA,主要有两处改进:一是在词嵌入层后加入卷积层提取短语表示,二是尝试并分析了五种注意机制。实验结果表明:注意机制能使网络收敛更快,但会受数据集规模影响,而融入卷积操作的短语注意机制能克服上述缺陷,不仅在大、小规模数据集上性能都有明显提升,且优于主流的基于深度学习的方法。最后,五种注意机制的比较分析表明第二种注意机制在大规模数据集上明显优于后三种。接下来的研究工作除了完成详细的数据集规模影响分析实验,还包括改进后三种注意机制,研究如何更好地使用文档的全局信息指导局部短语加权。
[1]Tang D,Qin B,Liu T.Deep learning for sentiment analysis:Successful approaches and future challenges [J].Wiley Interdisciplinary Reviews:Data Mining and Knowledge Discovery,2015,5(6):292-303.
[2]Tomas Mikolov,Ilya Sutskever,Kai Chen,et al.Distributed representations of words and phrases and their compositionality [C]//Proceedings of NIPS,2013:3111-3119.
[3]Yoshua Bengio,Aaron Courville,Pascal Vincent.A neural probabilistic language model [C]//Proceedings of NIPS,2001:932-938.
[4]Peng Zhou,Wei Shi,Jun Tian,et al.Attention-based bidirectional long short-term memory networks for relation classification [C]// Proceedings of the Meeting of the Association for Computational Linguistics.Cambridge,MA:MIT Press,2016:207-212.
[5]Zichao Y,Diyi Y,Chris D,et al.Hierarchical attention networks for document classification [C]// Proceedings of NAACL-HLT.Cambridge,MA:MIT Press,2016:1480-1489.
[6]Wang S,Manning C D.Baselines and bigrams:Simple,good sentiment and topic classification[C]// Proceedings of the Meeting of the Association for Computational Linguistics.Cambridge,MA:MIT Press,2012:90-94.
[7]Collobert R,Weston J,Bottou L,et al.Natural language processing(almost)from scratch [J].Journal of Computer Research,2011(12):2493-2537。
[8]Socher R,Perelygin A,Wu J Y,et al.Recursive deep models for semantic compositionality over a sentiment tree bank [C]// Proceedings of the Conference on Empirical Methods in Natural Language Processing.Cambridge,MA:MIT Press,2013:1631-1642.
[9]Yoon Kim.Convolutional neural networks for sentence classification[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing.Cambridge,MA:MIT Press,2014:1746-1751.
[10]Sepp Hochreiter,Jurgen Schmidhuber.Long short-term memory [J].Neural Computing,1997,9(8):1735-1780
[11]Mike Schuster,Kuldip K Paliwal.Bidirectional recurrent neural networks [J].IEEE Transactions on Signal Processing,1997,45(11):2673-2681.
[12]Wojciech Zaremba,Ilya Sutskever,Oriol Vinyals.Recurrent neural network regularization [arXiv].arXiv preprint arXiv,2014:1409.2329
[13]Minh-Thang Luong,Hieu Pham,Christopher D.Manning.Effective approaches to Attention-based neural machine translation [C]// Proceedings of the Conference on Empirical Methods in Natural Language Processing.Cambridge,MA:MIT Press,2015:1412-1421.
[14]Srivastava N,Hinton G,Krizhevsky A,et al.Dropout:A simple way to prevent neural networks from Overfitting [J].Journal of Machine Learning Research,2014,15(1):1929-1958.
[15]BoPang,Lillian Lee.See stars:Exploiting class relationships for sentiment categorization with respect to rating scales [C]// Proceedings of the Meeting of the Association for Computational Linguistics.Cambridge,MA:MIT Press,2005:115-124.
[16]Tao Lei,Regina Barzilay,Tommi Jaakkola.Molding CNNs for text:Non-linear,non-consecutive convolutions [C]// Proceedings of the Conference on Empirical Methods in Natural Language Processing.Cambridge,MA:MIT Press,2015:1565-1575.
[17]Xin Li,Dan Roth.Learning question classifiers [C]// Proceedings of the Meeting of the Association for Computational Linguistics.Cambridge,MA:MIT Press,2002:1-7.
[18]Yiren Wang,Fei Tian.Recurrent residual learning for sequence classification [C]// Proceedings of the Conference on Empirical Methods in Natural Language Processing.Cambridge,MA:MIT Press,2016:938-943.
[19]Matthew DZeiler.Adadelta:An adaptive learning rate method [C].arXiv preprint arXiv:1212.5701,2012.
[20]Kai Sheng Tai,RichardSocher,Christopher D Manning.Improved semantic representations from tree-structured long short-term memory networks [C]// Proceedings of the Meeting of the Association for Computational Linguistics.Cambridge,MA:MIT Press,2015:1556-1566.
[21]Pengfei Liu,Xipeng Qiu,Xuanjing Huang.Recurrent neural network for text classification for text classification with multi-task learning [C]// Proceedings of International Joint Conference on Artificial Intelligence.New York,USA:AAAI Press,2016:2873-2879.
[22]Rui Zhang,Honglak Lee,Dragomir Radev.Dependency sensitive convolutional neural networks for modeling sentences and documents [C]// Proceedings of NAACL-HLT.Cambridge,MA:MIT Press,2016:1512-1521.
江伟(1992—),硕士研究生,主要研究领域为机器学习、深度学习和自然语言处理。E-mail:jiangwei_nlp@163.com
金忠(1961—),教授,博士生导师,主要研究领域为机器学习、多媒体信息处理、数据挖掘和社会媒体计算。E-mail:zhongjin@njust.edu.cn