f(x)=max(0,x)(1)
当x大于0时,ReLU函数的导数恒等于1,所以在卷积神经网络中不会导致梯度消失和爆炸问题。若负数值过多,由式(1)看来,这部分的值就都为0,这导致了相应的神经元无法激活,但是可以通过设置学习率来解决。胶囊网络使用的是压缩激活函数Squash,Squash函数的公式如式(2)所示:
式(2)简写为vj=A·B,Squash函数还有功能是使得向量的长度不超过1,而且保持vj和Sj同方向。其中A项可以看出Sj的模长越长,则A项的值越大,则Sj代表的特征就越强,输出值也就越大。B项是将Sj模长压缩为1。由式(7)看来,vj的模长在01,方向同Sj同一个方向。式(2)简写为vj=A·B,Squash函数还有功能是使得向量的长度不超过1,而且保持vj和Sj同方向。其中A项可以看出Sj的模长越长,则A项的值越大,则Sj代表的特征就越强,输出值也就越大。B项是将Sj模长压缩为1。由式(7)看来,vj的模长在01,方向同Sj同一个方向。
卷积神经网络的池化层又称为下采样或欠采样,用于特征降维,减少参数,还起着加快计算速度和防止过拟合的作用。主要有最大池化和平均池化两种方式。本文采用的是最大池化,原理图如图2所示。
采用最大池化操作,通过调整池化窗口参数,提取出每张特征图中最具有说服力的局部最优特征,从而生成每一行是每一篇文本进行一次最大池化抽样的结果的矩阵。这样也起到约减参数的作用,提高了模型的适应性。
胶囊网络通过采用动态路由可代替卷积神经网络中的池化层,对输入的特征进行聚类,即相似特征越多,这类特征就越强,由此进行了一次特征选择过程,达到池化层特征选择的目的。动态路由伪代码如下所示。
胶囊网络最先开始用在图像上,Zhao等[12]第一次将胶囊网络用在文本分类上,在多分类标签上的效果明显优于卷积神经网络和循环神经网络。
该模型主要分为4个部分:第1部分是一个标准的卷积层,通过多个不同的卷积核在句子的不同位置提取特征;第2部分为主胶囊层,该层是将卷积操作中的标量输出替换为矢量输出,从而保留了文本的单词顺序和语义信息;第3部分为卷积胶囊层,在这一层中,胶囊通过与变换矩阵相乘来计算子胶囊与父胶囊的关系,然后根据路由协议更新上层胶囊层的权重;第4部分是全连接胶囊层,胶囊乘上变换矩阵,然后按照路由协议生成最终的胶囊及其对每个类的概率。4个部分中包括1层卷积层和3次胶囊层。
本文在Zhao等[12]的模型基础上又增加了1层卷积层,用来再次提取不同位置上的特征,使得特征提取更加地细致。基于改进胶囊网络的文本分类模型如图3所示。
模型主要分成了5层,分别是N-gram卷积层、主胶囊层、卷积层、卷积胶囊层和全连接胶囊层。
设胶囊的维度为d,pi为N-gram产生的实例化参数,Mi为每个滑动窗口的向量,其维度为B,Wb表示为不同的滑动窗口的共享滤波器,其维度为B×d。生成胶囊P的维度为(L-K1+1)×d,则pi的表示如式(4)所示:
其中:g()表示非线性压缩函数;b1为胶囊的偏置项。对于所有的滤波器C来说,胶囊特征P可以表示为式(5)所示结构:
其中P的维度为(L-K1+1)×d×C。
卷积胶囊层的被压扁成一个胶囊列表,并送入到全连接胶囊层。全连接层可以学习到局部和全局的特征,因为其输入部分为卷积层和动态路由的输出,卷积层提取的是局部特征,动态路由得到的是全局特征。全连接层的输出如式(6)所示:
其中:x为神经元的输入;hW,b(x)为输出;T为W的转置,将输出节点送入softmax分类器进行概率预测,完成文本分类任务。
实验采用了两组数据集:一组做多标签分类;另一组做二分类问题。多标签分类实验采用了搜狗实验室的中文新闻数据集,该数据集包括了429819条新闻,能够被标出类别的有320045条新闻,共有13类,剔除掉2类因样本数不足的数据,最后保留了其中的11类作为分类数据文本。每类新闻选择2000条文本,训练集、验证集和测试集的划分比例为16∶4∶5。数据集分布如表1所示。
实验的预处理部分先将下载好的数据进行转码,然后给文本加上标签,分词选用的是中文文本采用的jieba分词工具,由于有些新闻字数太多,为了减少维度的损失,固定文本长度为100个字符。
二分类实验选用了IMDB数据集包含来自互联网电影数据库12500个正面电影评论和12500个负面电影评论,每个句子的长度都固定为150个字符,如果长度大于150个字符,则将超过的部分截掉;如果小于150字符,则在最前面用数字“0”填充。
在进行神经网络对比实验前,先对比了朴素贝叶斯、支持向量机、K-近邻这三种传统的机器学习方法,在多标签的数据集下,朴素贝叶斯的准确率为84.38%,支持向量机的分类准确率为84.41%,而K-近邻在K值为14时的分类准确率仅为31.47%。实验证明:K-近邻明显地不适合应用于文本分类。其他两种传统机器学习的方法,朴素贝叶斯和支持向量机在分类结果上占取了很大的优势,不仅分类效果好,而且分类的时间较深度学习来说缩短了很多,但是需要人工进行特征构造,可扩展性差;而神经网络能够自动地学习构造特征,具有较强的适应能力。
CNN在搭建模型时,首先将文本处理成矩阵的形式,作为输入层的输入,本文将每个文本处理成100×200的矩阵形式。因为文本长度不一致,所以选取100作为统一的文本长度,超过100的文本截取前100个词语,不足的长度的加零补齐。在进行词语独热编码时,形成了维度为200的词向量,这就形成100×200的矩阵。再通过1层卷积层与池化层来缩小向量长度,再加一层压平层将2维向量压缩到1维,最后通过两层全连接层将向量长度收缩到12上,对应新闻分类的12个类(其中标签0没有用到)。CNN模型结构如表2所示。
由于RNN只考虑到最近状态,无法作用于前期状态,使得分类效果不佳,后来进行了变形,能够不仅能够考虑到之前状态,还能决定哪些状态该保留,哪些状态该遗弃,这就是长短期记忆(LongShort-TermMemory,LSTM)网络。LSTM模型结构如表3所示。CapsNet同CNN一样的是,都需要进行一层卷积层,不同的是经过胶囊层后,输出的结构仍然是二维矩阵,不需要池化层进行池化操作,capsule层里已经使用了动态路由操作,可代替池化操作进行特征选取,最后一层,同CNN一样,将全连接层输出结构变成一维矩阵,不同的是使用的激活函数为Squash函数,该函数在应用中可自行构造。CapsNet模型结构如表4所示。
实验从训练集、验证集和测试集三个方面比较分类效果,实验结果如表5所示。
-
三种方法都是经过了3次迭代过程,在训练集上的分类精度都达到了90%以上,其中胶囊网络分类精度最高,达到了98.62%。在验证集上的分类精度都达到了85%以上,其中还是胶囊网络的精度最高,达到了89.03%。最后比较测试集,在测试集上的分类精度明显低于训练集和验证集,但是,胶囊网络的分类精度还是最高,达到了84.06%。由此可见,在文本分类中,胶囊网络的分类效果要优于卷积神经网络和循环神经网络。胶囊网络是在卷积神经网络的基础上提出来,用来解决池化操作带来的特征信息丢失问题的。考虑到卷积神经网络缺失的相对位置、角度等其他信息的问题,胶囊网络变标量信息为矢量信息,增加了对位置和角度等信息的提取,从而使得识别效果有所提升。卷积神经网络能够注意到各部分的局部特征,但是却忽略了位置和角度等主要信息。以图像人脸为例,卷积神经网络能够识别图像中的各个局部特征,如鼻子、眼睛和嘴巴等,但是对其位置和角度却不做考虑。若嘴巴在额头上,眼睛在下巴上,只要鼻子眼睛嘴巴这些局部特征都在,卷积神经网络会认为该图片就是一张人脸。所以在进行文本分类的过程中卷积神经网络只能联系各个局部特征是否存在,并不会联系其内部结构问题,这就使得了分类效果不如胶囊网络。
从训练集、验证集、测试集和时间4个方面比较CapNet文献[12]模型和本文提出的CapNet的分类精度,实验结果如表6所示。
从表6的实验结果中可以看出,改进后的胶囊网络比单纯的胶囊网络的分类精度提高了2.14个百分点,相较于Zhao等[12]提出的胶囊网络的分类精度提高了1.17个百分点。卷积操作的增加虽然增加了少量的训练时间,但是特征的提取也更加地细致,使得分类精度有所增加。随着卷积操作的一层一层加入特征提取得越来越细致。以图片为例进行卷积操作,结果如图5所示。
图5下方的3张图分别代表了第1次卷积操作、第2次卷积操作和第3次卷积操作后提取的特征。由图5可以看出:第1次卷积可以提取出低层次的特征;第2次卷积可以提取出中层次的特征;第3次卷积可以提取出高层次的特征。特征是不断进行提取和压缩的,最终能得到比较高层次特征。本文进行了两次卷积操作,并没有进行更加多次的卷积操作,是因为考虑到过多地卷积操作会造成训练的过拟合现象,不仅增加了训练时间还降低了分类精度。在本文提出的网络模型中若再增加一层卷积操作会出现过拟合现象导致分类精度的降低,其在测试集上的分类精度仅达到了80.82%,相较于本文的改进模型分类精度降低了5.38个百分点。
多标签分类问题是文本分类的主要部分,本文实验采用的是搜狗实验室的中文新闻数据集,该数据集具有一定的代表性。其实验结果总结如图6所示。
实验对比了长短记忆网络、卷积神经网络、胶囊网络、Zhao等[14]提出的胶囊网络和本文提出的改进胶囊网络(ImprovedCapsNet)[12]的分类效果。实验结果显示,本文的改进胶囊网络模型比多标签实验中的其他4种模型来说效果更好。
由于多分类实验的结果显示,LSTM并不适用于文本的分类问题,所以,二分类实验并没有考虑再次使用其方法进行实验。二分类实验进行了卷积神经网络、胶囊网络、Zhao等[12]提出的胶囊网络和本文改进的胶囊网络分类实验,其结果如图7所示。
从图7可以发现在二分类的电影评论数据集上,改进过后的胶囊网络在测试集上的分类精度达到了87.03%,单纯的卷积神经网络和胶囊网络分别是86%和85.94%,而Zhao等[12]提出的胶囊网络的分类精度为86.50%。从测试集上来看,改进过后的胶囊网络的分类效果还是优于其他三类网络模型的分类效果。虽然测试集上的优势不是很大,但是在验证集上,本文改进过后的胶囊网络明显地优于其他网络模型,比单纯的卷积神经网络和胶囊网络提高了7.28个百分点和5.6个百分点,比Zhao等[12]提出的胶囊网络提高了3.84个百分点。
[1]王艺颖.朴素贝叶斯方法在中文文本分类中的应用[J].中国高新科技,2019(7):57-60.(WANGYY.ApplicationofnaiveBayesmethodinChinesetextclassification[J].ChinaHigh-Tech,2019(7):57-60.)
[2]钟磊.基于贝叶斯分类器的中文文本分类[J].电子技术与软件工程,2016(22):156-156.(ZHONGL.ChinesetextclassificationbasedonBayesianclassifier[J].ElectronicTechnologyandSoftwareEngineering,2016(22):156-156.)
[3]殷亚博,杨文忠,杨慧婷,等.基于搜索改进的KNN文本分类算法[J].计算机工程与设计,2018,39(9):2923-2928.(YINYB,YANGWZ,YANGHT,etal.KNNtextclassificationalgorithmbasedonsearchimprovement[J].ComputerEngineeringandDesign,2018,39(9):2923-2928.)
[4]LIUJ,JINT,PANK,etal.AnimprovedKNNtextclassificationalgorithmbasedonSimhash[C]//ProceedingsoftheIEEE16thInternationalConferenceonCognitiveInformaticsandCognitiveComputing.Piscataway:IEEE,2017:92-95.
[5]郭超磊,陈军华.基于SA-SVM的中文文本分类研究[J].计算机应用与软件,2019,36(3):277-281.(GUOCL,CHENJH.ChinesetextclassificationbasedonSA-SVM[J].ComputerApplicationsandSoftware,2019,36(3):277-281.)
[6]姚立,张曦煌.基于主题模型的改进随机森林算法在文本分类中的应用[J].计算机应用与软件,2017,34(8):173-178,212.(YAOL,ZHANGXH.Improvedrandomforestsalgorithmbasedontopicmodelanditsapplicationintextclassification[J].ComputerApplicationandSoftware,2017,34(8):173-178,212.)
[7]WEIF,QINH,YES,etal.Empiricalstudyofdeeplearningfortextclassificationinlegaldocumentreview[C]//Proceedingsofthe2018IEEEInternationalConferenceonBigData.Piscataway:IEEE,2018:3317-3320.
[8]HUF,LIL,ZHANGZ,etal.Emphasizingessentialwordsforsentimentclassificationbasedonrecurrentneuralnetworks[J].JournalofComputerScienceandTechnology,2017,32(4):785-795.
[9]冯国明,张晓冬,刘素辉.基于CapsNet的中文文本分类研究[J].数据分析与知识发现,2019,2(12):68-76.(FENGGM,ZHANGXD,LIUSH.ClassifyingChinesetextswithCapsNet[J].DataAnalysisandKnowledgeDiscovery,2019,2(12):68-76.)
[10]CHURCHKW.Word2Vec[J].NaturalLanguageEngineering,2017,23(1):155-162.
[11]薛炜明,侯霞,李宁.一种基于word2vec的文本分类方法[J].北京信息科技大学学报(自然科学版),2018,33(1):71-75.(XUEWM,HOUX,LIN.Atextcategorizationmethodbasedonword2vec[J].JournalofBeijingInformationScienceandTechnologyUniversity,2018,33(1):71-75.)
[12]ZHAOW,YEJ,YANGM,etal.Investigatingcapsulenetworkswithdynamicroutingfortextclassification[C]//Proceedingsofthe2018ConferenceonEmpiricalMethodsinNaturalLanguageProcessing.Stroudsburg,PA:AssociationforComputationalLinguistics,2018:3110-3119.
[13]HINTONGE,KRIZHEVSKYA,WANGSD.Transformingautoencoders[C]//Proceedingsofthe21stInternationalConferenceonArtificialNeuralNetworks,LNCS6791.Berlin:Springer,2011:44-51.
[14]SABOURS,FROSSTN,HINTONGE.Dynamicroutingbetweencapsules[C]//Proceedingsofthe31stInternationalConferenceonNeuralInformationProcessingSystems.RedHook,NY:CurranAssociatesInc.,2017:3856-3866.
[15]朱娟,陈晓.改进胶囊网络的有序重叠手写数字识别方法[J].激光杂志,2019,40(7):43-46.(ZHUJ,CHENX.Improvedcapsulenetworkforrecognitionoforderlyoverlappedhandwrittennumerals[J].LaserJournal,2019,40(7):43-46.)
[16]张天柱,邹承明.使用模糊聚类的胶囊网络在图像分类上的研究[J].计算机科学,2019,46(12):279-285.(ZHANGTZ,ZOUCM.Studyonimageclassificationofcapsulenetworkusingfuzzyclustering[J].ComputerScience,2019,46(12):279-285.)
[17]NOWAKJ,TASPRINARA,SCHERERR.LSTMrecurrentneuralnetworksforshorttextandsentimentclassification[C]//Proceedingsofthe16thInternationalConferenceonArtificialIntelligenceandSoftComputing,LNCS10246.Cham:Springer,2017:553-562.ThisworkispartiallysupportedbytheNationalNaturalScienceFoundationofChina(61772282).YINChunyong,bornin1977,Ph.D.,professor.Hisresearchinterestsincludecyberspacesecurity,bigdatamining,privacyprotection,artificialintelligence,newcomputing.HEMiao,bornin1995,M.S.candidate.Herresearch