APP下载

一种基于嵌入式注意力机制的文本分类方法

2020-08-13熊宽

软件 2020年6期
关键词:文本分类注意力机制神经网络

摘  要: 大數据时代海量的文本数据蕴含着极大的科研价值,文本分类技术得到广泛的关注。文本分类在信息检索、自动问答等应用领域占据重要地位,是自然语言处理研究的关键技术之一。本文针对神经网络分类方法训练时间长性能仍可提高,提出一种嵌入式注意力机制模块(Eam),用来增强已有的文本分类神经网络模型。该模块将重点关注数据中什么是最有意义及哪里含有的信息量更为丰富,从而高效提取文本中有价值的信息区域加速模型收敛。本文以增强TextCNN、ImdbCNN为例,在公开数据集IMDB上证明Eam的有效性,同等参数配置情况下能够提升模型的准确率、召回率及F1值,较原模型能够更快收敛减少训练时间。

关键词: 文本分类;神经网络;注意力机制;TextCNN

中图分类号: TP391.1    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.06.036

本文著录格式:熊宽. 一种基于嵌入式注意力机制的文本分类方法[J]. 软件,2020,41(06):171176

【Abstract】: The huge amount of text data in the era of big data contains great scientific research value, and the text classification technology has received widespread attention. Text classification occupies an important position in the fields of information retrieval, automatic question answering and other applications, and is one of the key technologies in natural language processing research. Aiming at the long training time performance of neural network classification method, this paper proposes an embedded attention mechanism module (Eam) to enhance the existing neural network model of text classification. This module will focus on what is most meaningful in the data and where the amount of information is more abundant, so as to efficiently extract valuable information areas in the text and accelerate model convergence. This paper takes Enhanced TextCNN and ImdbCNN as examples, and proves the validity of Eam on the public dataset IMDB. It can improve the accuracy, recall and F1 value of the model under the same parameter configuration, which can converge faster and reduce the training time than the original model.

【Key words】: Text classification; Neural Networks; Attention mechanism; TextCNN

0  引言

文本分类(Text Categorization)是指依据文本的内容,由计算机根据某种自动分类算法,把文本判分为预先定义好的类别[1]。文本分类是自然语言处理(NLP)领域中一项具有挑战性的任务,它在情感分类、自动问答、舆情分析等领域具有广泛的应用[2]。

传统的文本分类方法主要根据文本与类别标签的相关性来对文本进行标签,该标签根据统计指标估算。例如,词袋模型[3]计算共现词的出现频率,n元语法模型[4]计算单词对的频率,而TF-IDF模型[5]计算不同文档中每个单词的权重得分。

上述基于统计的方法不仅丢失了词序信息,而且存在数据稀疏和维数灾难问题。随着分布假说理论和文本的分布表示方法的提出,这一问题得到有效解决[6,7]。其主要有基于矩阵的分布表示方法,该方法通过构建“词-上下文”矩阵获取文本表示;基于聚类的分布表示运用聚类构建词与上下文的表示;基于神经网络的分布表示方法通过词向量(Word Embdding)构建目标词与上下文的关系。与传统的文本分类算法相比,基于分布表示的分类算法在保留词序信息的前提下,有效解决数据稀疏和维数灾难问题,准确度及性能方面有了提升。但仍存在模型参数多、时间复杂度高等问题,导致模型的训练时间长、所需计算资源大。

为解决上述问题,本文提出一种适用于文本分类的嵌入式注意力机制,该嵌入式注意力机制能够有效挖掘文本中最有意义的信息和信息含义最丰富的区域。本文以增强TextCNN、ImdbCNN为例,在IMDB数据集上进行验证,实验表明该种嵌入式注意力机制能够有效提升原模型的正确率、召回率及F1值,同时降低loss损失。

1  相关工作

文本分类相关任务的核心在于如何获取文本表示。通常将文本表示方法分类两类,一类是传统的离散表示,另一类是基于分布假说理论的分布表示方法。

1.1  离散表示

离散形式的表示方法有词袋模型(Bag-of- Words)和n元短语模型(N-grams)模型,该类模型将文本中的每个单词或者单词对视为一个离散的实体,采用独热编码(One-hot Encoding)的形式来表示其在文档中出现的频率。词袋模型忽略文档中单词的顺序、语法句法等重要因素,仅仅将文档看作是若干单词的集合,而n元短语模型虽然解决前N–1个单词语义信息丢失的问题,但当N过大时,模型参数空间也会随着增大,导致数据稀疏维数过高。将独热编码转化为word2vec的表示形式能更好地反映单词间语义的联系[4],为突出单词对文档的重要性,TF-IDF(词频逆文档频率)方法用于提高文档分类的性能[5]。离散表示形式丢失了词序信息,而且存在数据稀疏和维数灾难问题。

1.2  分布表示

基于分布假说理论的分类表示方法利用分布表示,能有效保留词序信息降低数据稀疏性[6,7],分布表示方法分三类。基于矩阵的分布表示通过构建“词-上下文”矩阵,此类模型矩阵中的每个元素为词和上下文共现次数,利用TF-IDF、取对数等技巧进行加权和平滑,使用SVD、NMF等手段对矩阵进行分解降维[8,9]。基于聚类的分布表示又被称之为分布聚类[10],此类方法通过聚类来构建词与其上下文之间的关系,代表方法有布朗聚类[11]。基于神经网络的分类表示通过词向量技术对上下文及目标词间的关系进行建模。

2003年神经网络语言模型(Neural Network Language Model,NNLM)被Bengio等提出并应用,且证实NNLM可以对更长的依赖关系进行建模[8]。此后一系列基于此的模型被提出,但都无法摆脱高复杂度的束缚[12,13,14,15]。2013年Mikolov提出CBOW(Continuous Bag of-Words)和Skip-gram模型,该模型在之前模型的基础上进行简化保留核心部分,使得神经网络模型在自然语言处理中获取词向量变得更加高效[16]。

Kim直接将卷积神经网络(Convolutional Neural Networks,CNN)体系结构用于文本分类[17]。在字符级别使用CNN体系结构来表示文本[4],将多任务学习框架与递归神经网络(RNN)结构结合起来共同跨多个相关任务学习[18],采用递归结构掌握上下文信息,并通过使用最大池化层来识别文本中的关键组成部分[19]。分布表示方法虽然能从大规模数据集中自动学习特征,但存在可解释性差、训练时间长、训练参数多等不足。

1.3  注意力机制

注意力在人类感知中起着重要的作用,人类视觉系统的一个重要特性是不会立即处理整个场景[20]。取而代之的是,人类利用一连串的部分瞥见,并有选择地专注于突出部分,以便更好地捕获视觉结构。

注意力机制由Bahdanau等人[21]在机器翻译领域提出,为结合注意力来提高大规模分类任务中CNN的性能,一种使用编码器-解码器风格的注意力模块的残余注意力网络被提出[22]。通过细化特征图,该网络不仅性能良好,而且对嘈杂的输入也具有较强的鲁棒性。

注意力机制的好处是它们允许处理可变大小的输入,着眼于输入中最相关的部分以做出决策。当注意力机制用于计算单个序列的表示时,通常称为自我注意力或内部注意力。自注意力机制通常与递归神经网络(RNN)或卷积神经网络(CNN)一起使用,事实证明,自注意力对机器阅读和学习句子表示等任务很有用。自注意力不仅可以改进基于RNN或卷积的方法,而且可用于构建强大的模型来提高机器翻译任务的性能[23]。本文所提出的嵌入式注意力机制是自注意力的一种。

2  Eam模型

如图1所示在模块Eam中,输入的数据将先经过Eam-channel处理,处理完成后输入Eam-spatial,最后产生最终输出。在文本数据中,对于任意给定的中间态特征图 作为嵌入的注意力模块(Embeddable attention module)模型的輸入数据。根据卷积神经网络的特性,本文将该卷积块设置为通道维度(Eam-channel)和空间维度(Eam-spatial)的组合模型。而通道维度的产物通常是一维的 ,空间维度的产物通常是二维的 。

3  实验

3.1  数据集及训练环境

IMDB:IMDB数据集为2分类数据集,共89527个单词5万条来自网络电影数据库的评论。其中训练集与测试集分别为2.5万条,每部分正负评论各占50%,数据集由Keras官网提供。

实验采用Keras+Tensorflow相结合的形式,Keras作为上层语言,tensorflow作为keras的后端支持。Pyhon版本为3.6.10,keras版本为2.2.4,tensorflow版本为tensorflow-gpu1.8.0。

3.2  评价指标

本文采用正确率(Accuracy)、精准率(Precision)、召回率(Recall)、F1值来评价模型性能。表1评价的混淆矩阵覆盖每次的预测情况,TP是被正确地划分为正例的个数,FP是被错误地划分为正例的个数,FN是被错误地划分为负例的个数,TN是被正确地划分为负例的个数。P表示实际正例个数,N表示实际负例个数,表示方式如式(5)~(6)所示。

在进行性能评价时,查准率用作评价分类器的正确率,召回率用作评价分类器的覆盖率,F1值是查准率与召回率的调和平均值,以其评价分类器的综合性能。它们的表示方式如式(7)~(10)所示。

3.3  超参数设置

模型预训练的词向量维度为400并进行随机初始化,权重随机初始化为标准差为0.1的正态分布随机数,同时所有词向量在训练时进行微调。丢弃率(dropout)设为0.5,卷积核大小(kernel-size)设为3,滤波器个数设为250,隐藏层的维度设为250,L2正则化权重为0.0001,学习率为0.01,学习率的下降率为0.05,每个batch中32个样本,训练轮次(epoch)为5,并在每个epoch过程中采用EarlyStopping防止过拟合,使用Adam加快模型训练速度。

3.4  结果分析

本文选取TextCNN及ImdbCNN作为基础模型,在二者中分别嵌入Eam模块,使用IMDB数据集进行实验论证。

如表2所示,经测试集验证,模型准确率(accuracy)提高,loss损失下降。查准率(precision)低于原模型,召回率在经Eam模块加强后有5%的提升效果,远高于原模型。由于查准率低于原模型但召回率高于原模型,无法直观衡量其增强效果,为进一步证明Eam模块的有效性,本文引入二者的调和平均数F1值来评价增强模型的性能,数据表明在引入Eam模块后F1值稳定提升。

由于采用EarlyStopping防范过拟合策略,模型TextCNN-eam和模型ImdbCNN-eam分别在训练轮次(epoch)为3和2时停止训练。表3表明Eam增强模型整体用时普遍小于原模型,但单次训练时长要大于原模型。结合表4可知,总训练的超参数个数对训练时长有较大的影响,虽然嵌入式注意力机制模块可提升原有模型性能,但由于叠加多层网络结构导致超参数过多单次训练时长较长,在超大规模的文本分类任务中性能与训练时长可能无法  平衡。

本文在确定超参数卷积核大小、丢弃率时,分别设置不同对比组以确定最佳的参数设定值。在数据集IMDB上进行验证时,不同的参数对于模型正确率的影响是不一致的。从图5可以看到卷积核对单个模型自身的影响是有限的,对准确度的影响稍小。图6表明当丢弃率大于0.7时,即每次训练随机丢弃的连接层大于70%时,模型性能急速下降处于欠拟合状态;当丢弃率设置为0.5时,模型正确率达到最高;当丢弃率小于0.5时,除ImdbCNN外正确率都在下降,训练集的正确率仍在上升,这表明模型出现过拟合。综合考虑模型正确率及训练时长,最终确定卷积核大小為3丢弃率为0.5作为最佳参数配置。

4  结论与展望

为提升文本分类的正确率加快模型训练速度,本文提出一种嵌入式的自注意力机制模块Eam,并将Eam分别嵌入TextCNN、ImdbCNN模型进行对比论证。由于自注意力机制能够有效获取文本中的关键信息,最终实验结果表明经Eam增强的后模型较原有模型性能、准确度、召回率、F1值都有所提升。目前Eam模块仍存在一些不足,如单次训练时间长、训练参数多,在大规模语料库上性能可能存在问题,长文本分类结果不理想。后续工作将围绕两方面展开:选择不同规模的语料库及多种模型验证Eam模块的有效性;在Eam中使用Top-k池化替代最大池化,获取到更为丰富的语义信息从而进一步增强其特征表示能力。

参考文献

[1] 陶永才, 杨朝阳, 石磊, 卫琳. 池化和注意力相结合的新闻文本分类方法[J]. 小型微型计算机系统, 2019, 40(11): 2393-2397.

[2] Tang D, Qin B, Liu T. Document modeling with gated recurrent neural network for sentiment classification[C]//  Proceedings of the 2015 conference on empirical methods in natural language processing. 2015: 1422-1432.

[3] Joachims T. Text categorization with support vector machines: Learning with many relevant features[C]//European conference on machine learning. Springer, Berlin, Heidelberg, 1998: 137-142.

[4] Zhang X, Zhao J, LeCun Y. Character-level convolutional networks for text classification[C]//Advances in neural information processing systems. 2015: 649-657.

[5] Robertson S. Understanding inverse document frequency: on theoretical arguments for IDF[J]. Journal of documentation, 2004.

[6] Harris Z S. Distributional structure[J]. Word, 1954, 10(2-3): 146-162.

[7] Firth J R. A synopsis of linguistic theory, 1930-1955[J]. Studies in linguistic analysis, 1957.

[8] Pennington J, Socher R, Manning C D. Glove: Global vectors for word representation[C]//Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). 2014: 1532-1543.

[9] Lebret R, Collobert R. Word emdeddings through hellinger PCA[J]. arXiv preprint arXiv: 1312. 5542, 2013.

[10] Pereira F, Tishby N, Lee L. Distributional clustering of English words[C]//Proceedings of the 31st annual meeting on Association for Computational Linguistics. Association for Computational Linguistics, 1993: 183-190.

[11] Brown P F, Desouza P V, Mercer R L, et al. Class-based n-gram models of natural language[J]. Computational linguistics, 1992, 18(4): 467-479.

[12] Mnih A, Hinton G. Three new graphical models for statistical language modelling[C]//Proceedings of the 24th international conference on Machine learning. ACM, 2007: 641-648.

[13] Mnih A, Hinton G E. A scalable hierarchical distributed language model[C]//Advances in neural information processing systems. 2009: 1081-1088.

[14] Mnih A, Kavukcuoglu K. Learning word embeddings efficiently with noise-contrastive estimation[C]//Advances in neural information processing systems. 2013: 2265-2273.

[15] Mikolov T, Karafiát M, Burget L, et al. Recurrent neural network based language model[C]//Eleventh annual conference of the international speech communication association. 2010.

[16] Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Advances in neural information processing systems. 2013: 3111-3119.

[17] Kim Y. Convolutional neural networks for sentence classification[J]. arXiv preprint arXiv: 1408. 5882, 2014.

[18] Liu P, Qiu X, Huang X. Recurrent neural network for text classification with multi-task learning[J]. arXiv preprint arXiv: 1605. 05101, 2016.

[19] Lai S, Xu L, Liu K, et al. Recurrent convolutional neural networks for text classification[C]//Twenty-ninth AAAI conference on artificial intelligence. 2015.

[20] Itti L, Koch C, Niebur E. A model of saliency-based visual attention for rapid scene analysis[J]. IEEE Transactions on pattern analysis and machine intelligence, 1998, 20(11): 1254-1259.

[21] Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv: 1409. 0473, 2014.

[22] Wang F, Jiang M, Qian C, et al. Residual attention network for image classification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 3156-3164.

[23] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.

[24] 陳海红. 多核SVM 文本分类研究[J]. 软件, 2015, 36(5): 7-10.

[25] 刘腾飞, 于双元, 张洪涛, 等. 基于循环和卷积神经网络的文本分类研究[J]. 软件, 2018, 39(01): 64-69.

[26] 张晓明, 尹鸿峰. 基于卷积神经网络和语义信息的场景分类[J]. 软件, 2018, 39(01): 29-34.

[27] 吴亚熙, 岑峰. 基于卷积神经网络的多层级目标检测方法[J]. 软件, 2018, 39(4): 164-169.

[28] 陈海红. 多核SVM 文本分类研究[J]. 软件, 2015, 36(5): 7-10.

猜你喜欢

文本分类注意力机制神经网络
神经网络抑制无线通信干扰探究
基于LSTM?Attention神经网络的文本特征提取方法
InsunKBQA:一个基于知识库的问答系统
基于组合分类算法的源代码注释质量评估方法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定