技术领域
[0001] 本发明涉及文本分类方法领域,具体为融合移动翻转瓶颈卷积网络与自适应特征通道的胶囊网络的文本分类方法。
相关背景技术
[0002] 互联网的迅猛发展产生了大量文本形式的数据,包括网页,新闻,论文,电子图书,聊天内容,邮件,用户评论等。面对如此海量的文本数据,如何对其进行分门别类的整理从而快速准确的获取所需要的信息是一个重要的研究问题。在文本分类任务中,我们通常遇到三种主要类型:二分类、多分类和多标签分类。二分类任务旨在将文本分为两个互斥的类别,比如正面和负面情感、积极和消极观点等。多分类任务则将文本分为多个互斥的类别,每个文本只能归属于一个类别,例如新闻主题分类、问题分类等。而多标签分类任务则允许一个文本同时归属于多个类别,例如一篇新闻文档可能涉及多个主题或多个情感方面。这些不同类型的文本分类任务各有其独特的应用场景和挑战,理解它们的区别对于构建准确且适用的文本分类模型至关重要。
[0003] 过去很多主流文本分类模型一般是基于卷积神经网络(CNN)、循环神经网络(RNN)实现。基于CNN的模型主要是通过利用不同尺度的卷积窗口提取到多元文本特征,这些文本特征中包含了丰富的上下文信息,能够帮助模型对文本语义进行更好的理解,所以如何准确且全面地捕捉语法特征是模型性能提升的一个关键点。基于RNN的模型主要是沿着序列方向进行递归计算,并以链式方式传播特征,从而能够有效捕获序列信息。LSTM模型是循环神经网络的扩展,它结合了门控机制,可以更有效地捕获顺序信息并缓解梯度消失的问题。基于CNN和RNN为代表的模型虽然能够捕获语义和句法信息,与其同时其池化操作也带来了语义丢失的问题,使得文本分类的效果受到了限制。在近年来,胶囊网络(Capsule Network)作为一种新兴的深度学习模型,其核心思想是使用胶囊来代替卷积神经网络中的神经元,使网络可以保留对象之间详细的姿态信息和空间层级关系,有望解决上述传统文本分类方法中造成信息缺失和分类局限性的问题。然而,现有的胶囊网络在文本分类领域的应用仍然面临着诸多挑战。首先,胶囊网络在文本分类中难以充分考虑文本中的远距离依赖和位置依赖关系,这在文本分类任务中尤为重要;其次,它缺乏对文本中的特征通道重要性的考虑,不能着重捕捉文本中的关键信息;另外,动态路由算法在进行高级胶囊和低级胶囊之间全连接时会产生很多噪声胶囊,这对胶囊网络的训练效率会产生影响。针对现有文本分类模型存在的局限性,本发明提出了融合移动翻转瓶颈卷积网络与自适应特征通道的胶囊网络的文本分类方法。
具体实施方式
[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施条例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039] 实施例
[0040] 请参阅图1,图为本发明的网络模型结构图,融合移动翻转瓶颈卷积网络与自适应特征通道的胶囊网络的文本分类方法,所述文本分类方法通过MBConv‑CapsNet模型实现,所述MBConv‑CapsNet模型包括:
[0041] 移动翻转瓶颈卷积模块,用于文本矩阵的预处理,包括标准卷积层、逐通道卷积层、SE网络层以及逐点卷积层;改进的胶囊网络模块,用于文本分类过程,包括N‑gram卷积层、选择性核网络层、主胶囊层、卷积胶囊层和全连接胶囊层。
[0042] 在文本分类任务中,文本数据通常以高维、稀疏的形式存在,这使得特征提取和表示变得复杂,传统的文本分类方法在处理复杂文本时,往往难以有效捕捉文本中的上下文信息和语义关系,此外,文本数据的稀疏性和高维性也给特征提取带来了挑战,为了克服上述问题,本发明提出使用移动翻转瓶颈卷积(MBConv)作为文本矩阵的预处理步骤,通过考虑文本的序列信息、词向量关系或上下文依赖等,可以有效地捕获文本的局部和全局信息,并减少噪声和冗余信息的影响,将原始文本矩阵转换为更紧凑、更具代表性的特征表示。
[0043] MBConv,全称为MobileNetV2 Convolutional Bloc,在本发明中采用了Google在2019年提出的EfficientNet轻量级网络中的优化版MBConv,MBConv的设计遵循了“轻量级且高效”的原则,构建了一个能够高效提取输入特征的网络结构,具体来说,MBConv主要由四个部分组成:标准卷积层、逐通道卷积层(DCM)、SE网络层以及逐点卷积层(PCM),本发明的深度可分离卷积k设置为3,其网络结构图如图2所示。
[0044] 标准卷积层集成了1×1的卷积核、BN层(Batch Normalization)以及Swish[20]激活函数,输入采用句子矩阵:
[0045] X=[x1,x2,K,xn‑1,xn]∈RL×d (1)[0046] 其中,xi∈RC是句子中第i个单词的词向量,n是句子长度,C是词向量维度,首先,通过1×1的卷积核对输入特征进行升维,灵活调整特征的通道数,随后,BN层对卷积后的特征实施归一化处理,有效消除内部协变量偏移,从而大大加速网络的训练进程,最后,引入Swish激活函数为网络带来非线性特性,显著地提升其拟合能力,使得低维句子矩阵在保持分辨率的同时,能够顺利完成特征的升维操作。
[0047] 逐通道卷积层集成了3×3的深度可分离卷积核、BN层以及Swish激活函数,其核心理念将升维后的特征图分为group=C组,利用3×3的卷积核对每一组实施逐通道深度卷积,即对每个通道执行单个滤波器卷积,旨在收集每个通道的空间特征,这一结构保留了空间信息,有助于提升模型性能,还能有效减少可训练参数的数量。
[0048] SE网络层还在通道维度上运用了SENet注意力机制,通过为不同通道赋予相应的权重,并与特征图相乘,使模型能更加聚焦于信息量最为丰富的通道特征,而对那些不重要的通道特征则予以忽略,主要包含三个操作:首先是Squeeze操作,顺着空间维度来进行特征压缩,将每个二维的特征通道变成一个实数,这个实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配,它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可以获得全局的感受野,其次是Excitation操作,它是一个类似于循环神经网络中门的机制,通过参数w来为每个特征通道生成权重,其中参数w被学习用来显式地建模特征通道间的相关性,最后是Scale操作,将Excitation的输出的权重看做是特征选择后的每个特征通道的重要性,然后通过乘法逐通道加权到先前的特征上,完成在通道维度上的对原始特征的重标定。
[0049] 逐点卷积层集成了1×1卷积核、BN层以及Dropout层,其中,1×1卷积核负责降维操作,BN层负责实现批标准化,Dropout的引入旨在通过随机舍弃部分参数,防止过拟合,并加速网络的收敛过程。
[0050] 模型使用MBConv模块作为模型的初始层,对输入的文本数据进行特征提取,MBConv模块通过其高效的深度可分离卷积和倒残差结构,能够有效地提取文本中的局部和全局特征,并减少冗余信息,生成更为紧凑且富有表现力的特征表示,这种预处理方式不仅提高了后续胶囊网络处理文本数据的能力,还有助于模型更好地捕捉文本中的上下文信息和语义关系。
[0051] 本发明提出的MBConv‑CapsNet模型中胶囊网络是由N‑gram卷积层、选择性核网络层、主胶囊层、卷积胶囊层、全连接胶囊层五部分组成,在MBConv‑CapsNet模型中,在进入主胶囊层之前引入了选择性核网络层(SKNet),使模型能够自适应地调整不同特征通道的重要性,从而更有效地捕捉文本中的关键信息,此外,在动态路由算法中采用sparsemax函数替代softmax函数,使得路由权重分布更加稀疏,增强了模型对关键信息的捕捉能力,提出的胶囊网络结构如图3所示。
[0052] 第一层是N‑gram卷积层,它类似于传统CNN中的卷积层,但专注于捕捉文本中的N元组信息,生成一系列局部特征映射,这些映射不仅考虑了词汇间的直接相邻关系,还包含了更广泛的局部统计特性,为后续的胶囊层提供了丰富的局部信息,该层采用B个相同N‑gram大小的卷积滤波器对句子矩阵X进行卷积运算,得到N‑gram特征矩阵M:
[0053]
[0054] 其中,L是句子的长度,K1是为了检测不同位置的特征而在句子上滑动时的N‑gram大小。
[0055] 第二层是选择性核网络层,负责对特征进行筛选和增强,它通过动态选择不同的卷积核来适应不同的输入数据,从而实现自适应的特征提取,该层采用两个核大小分别为K1和K2的卷积核进行卷积,通过分割,融合和选择三个步骤特征矩阵V:
[0056]
[0057] 第三层是主胶囊层,负责将N‑gram卷积层输出的特征转化为胶囊表示,与传统CNN中的神经元不同,胶囊能够编码更丰富的信息,包括特征的存在性、方向、大小等,主胶囊层通过一系列变换矩阵将低层次的特征转换为高层次的胶囊表示,为后续层提供更具表达力的特征。该层采用C个转换矩阵将N‑gram特征矩阵M转换为初级胶囊矩阵P:
[0058]
[0059] 其中,d是胶囊的维度,(L‑K1+1)×C×d是初级胶囊矩阵P的维度。
[0060] 第四层是卷积胶囊层,这一层通过动态路由算法更新耦合系数,根据胶囊之间的预测一致性来更新连接权重,它允许网络自动学习哪些低层次胶囊对于预测高层次胶囊更有价值,并相应地调整连接权重,该层采用D个转换矩阵对P进行胶囊卷积运算得到胶囊矩阵U:
[0061]
[0062] 其中,这层中的每个胶囊对应上一层空间区域的K2×C,(L‑K1‑K2+2)×D×d是胶囊矩阵U的维度。
[0063] 第五层是全连接胶囊层,负责将卷积胶囊层的输出转换为最终的胶囊向量表示,通过全连接操作将胶囊向量映射到分类标签空间,并输出最终的分类结果,这一层每个胶囊代表一个可能的类别,通过计算每个胶囊的激活程度可以判断输入文本属于哪个类别的d概率,yE∈R表示第E个类的胶囊,用来形成表示类别的胶囊Y:
[0064] Y=[y1,y2,…,yE]∈RE×d (6)。
[0065] 尽管胶囊网络在处理图像等结构化数据时表现出色,但在文本分类任务中,传统的胶囊网络可能无法充分适应文本数据的动态性和复杂性,文本数据中的关键信息可能分布在不同的词汇或短语中,需要模型具备自适应地调整关注焦点的能力,本文通过在胶囊网络中增加选择性核网络层,模型能够自适应地调整不同特征通道的重要性,SKNet层根据输入文本的特征表示,计算不同特征通道的权重,并通过加权求和的方式生成新的特征表示,这种机制使得模型能够根据文本数据的实际情况,自适应地调整特征通道的重要性,从而提升分类性能。
[0066] SKNet,全称Selective Kernel Net,其核心思想是通过动态地选择不同尺度的特征信息来增强模型的表示能力,在进入主胶囊层之前加入SKNet,通过对不同尺度的特征图进行加权融合,模型可以更好地捕捉文本中的关键信息,提高分类的准确性,SKNet模块主要包括Split、Fuse和Select三个步骤实现,模型结构如图4所示。
[0067] Split:将输入的文本特征图X∈RH×W×C通过动态地选择核大小分别为K1和K2的卷积核得到两个不同尺度的特征图 和
[0068] Fuse:使神经元能够根据刺激内容自适应地调整其感受野大小,其基本思想是使用门来控制从多个分支到下一层神经元的信息流,这些分支携带不同规模的信息,为了实现这一目标,需要整合所有分支的信息,首先通过元素求和融合两个分支的结果:
[0069] F=F1+F2 (7)
[0070] 然后,通过简单地使用全局平均池化来嵌入全局信息,以生成通道相关的统计信C息s∈R,具体而言,s的第c个元素是通过空间尺寸H×W收缩F来计算的:
[0071]
[0072] 此外,还有一个紧凑的功能部件z∈Rd×1,是为了实现精确和自适应选择的引导,这是通过一个简单的完全连接(fc)层实现的,通过降低维数来提高效率:
[0073] z=Ffc(s)=δ(β(Ws)) (9)
[0074] 其中δ是ReLU函数,β表示批次标准化,W∈Rd×C,为了研究d对模型效率的影响,使用缩减率r来控制其值:
[0075] d=max(C/r,L) (10)
[0076] 其中,L表示d的最小值(L=32是我们实验中的典型设置)。
[0077] Select:跨通道的软注意用于自适应地选择信息的不同空间尺度,空间尺度由紧凑特征描述符z引导,具体而言,在通道方向的数字上应用softmax操作符:
[0078]
[0079] 其中A,B∈RC×d,a,b分别表示F1和F2的软注意力向量,Ac∈R1×d是A的第c行,ac是a的第c个元素,Bc和bc也是如此,在两个分支的情况下,矩阵B是冗余的,因为ac+bc=1,最终的特征图Y是通过不同核上的注意权重获得的,融合了多个感受野的信息,具有了多尺度的信息:
[0080] Yc=ac×F1c+bc×F2c,ac+bc=1 (12)
[0081] 其中Y=[Y1,Y2,...,Yc],Yc∈RH×W。
[0082] 在胶囊网络中,动态路由的基本思想是以迭代的方式构造一个非线性映射,负责将低层胶囊的信息传递到高层胶囊并确定胶囊的激活状态,原始的动态路由算法使用softmax函数来确保路由权重的非负性和归一化,这有助于模型在训练过程中学习各个胶囊之间的相对重要性,其公式定义为:
[0083]
[0084] 从公式可以发现经softmax函数计算出元素权重都不等于0,也就是说即使是和查询无关的元素也会被分配一个很小的权重,致使所有元素对预测都有或多或少的影响,这可能导致某些不重要的信息也被赋予了较高的权重,无法有效地突出关键胶囊的贡献,在本发明中提出用sparsemax函数替代softmax函数来改进动态路由算法,sparsemax函数能够产生稀疏的权重向量,使得路由权重更加集中地分布在少数关键胶囊上,从而更好地突出它们对分类任务的贡献,其公式定义为:
[0085]
[0086] 线性时间算法可用于得到输入向量z在单纯形上的欧几里得投影,在这里使用式子[K]={1,K,K}和[t]+=max{0,t}来定义,公式(9)的具体实现方法是:
[0087] sparsemaxi(z)=[zi‑τ(z)]+ (15)
[0088]
[0089] 其中,对于每一个满足式子∑j[zi‑τ(z)]+=1的z都有τ:RK→R,算法过程如上所示。
[0090] 提出的sparsemax函数在这里返回输入向量z在K‑1维概率单纯形上的欧几里得投影,这些投影大概率会触及单纯形的边界,从而导致部分概率值会降为0,进而得到稀疏的概率分布,softmax函数和sparsemax函数对比图像如图5和图6所示。
[0091] 可以发现sparsemax是分段线性的,但渐近曲线类似于softmax,这种稀疏性有助于胶囊网络在路由过程中更加关注那些对最终输出贡献较大的胶囊,而忽略那些贡献较小的胶囊,同时,sparsemax函数的使用还可以提高模型的计算效率,减少冗余计算,这有助于减少模型对噪声信息的依赖,提高模型的鲁棒性,提升胶囊网络在文本分类等任务上的表现,并推动胶囊网络在深度学习领域的发展,改进后的动态路由算法过程如下所示:
[0092]
[0093] 实施例
[0094] 本发明采用了四个知名的公共文本分类数据集通过在单标签和多标签数据集上的文本分类任务实验上对所提出的MBConv‑CapsNet模型进行了评估,验证了该模型的有效性,实验模型输入使用300维Word2Vec预训练词向量,训练过程使用学习率为1e‑3的Adam优化器来使目标函数最小化,胶囊维度设置为16,训练批次epoch为50,动态路由算法迭代次数为3,因为它可以更快地优化损失并最终收敛到较低的损失。
[0095] 本发明采用的数据集包括:movie reviews(MR)、Subjectivity dataset(Subj)、TREC question dataset(TREC)、Reuters‑21578。
[0096] 在英国路透社金融新闻文本Reuters‑21578数据集中选取与经济和金融主题相关的8个类别标签下的10788份新闻文档用于多标签文本分类任务,并将其划分为Reuters‑Single、Reuters‑Full和Reuters‑Multi三个子数据集,在Reuters‑Single数据集中只有单标签文本作为测试集保留,在Reuters‑Full中所有文本都作为测试集保存,在Reuters‑Multi中只有多标签文本作为测试集保留,MR和Subj是由电影情感评论组成的二分类数据集,用于单标签二分类任务,TREC数据集来自Text Retrieval Conference的语料库,主要用于问答系统和信息检索的任务,TREC和Reuters‑Single用于单标签多分类任务。Reuters‑Full和Reuters‑Multi则用于多标签文本分类任务,实验数据具体描述如表1所示。
[0097] 表1实验数据描述表
[0098]
[0099] 为了更准确的评价分类结果,本发明采用的评价指标包括:准确率(Acc)、精确率Exact Match Rate(ER)、微平均精度Micro‑Precision(Pre)、微平均召回率Micro‑Recall(Recall)、微平均F1值Micro‑F1(F1)和边缘损失Margin Loss(ML),各个指标的具体解释如下:
[0100] 准确率(在多标签分类中与精确率ER计算方法相同)是指模型正确预测的样本数量与总样本数量之比,在单标签文本分类中采用准确率作为评价指标,而在多标签文本分类中采用精确率作为评价指标。:
[0101] 微平均精度是指所有类别的真正例占所有模型预测为正类的样本数的比例:
[0102]
[0103] 微平均召回率是指所有类别的真正例占所有真实正例的比例:
[0104]
[0105] 微平均F1值是精确率和召回率的调和平均值,用于综合评估模型的性能:
[0106]
[0107] 其中,n代表类别标签数量,TP表示真正例,即模型正确预测为正类的样本数;TN表示真负例,即模型正确预测为负类的样本数;FP表示假正例,即模型错误地将负类样本预测为正类的样本数;FN表示假负例,即模型错误地将正类样本预测为负类的样本;TPi表示第i个类别的真正例数量;TNi表示模型正确地将不属于第i个类别的样本预测为其他类别的数量;FPi表示第i个类别的假正例数量;FNi表示第i个类别的假负例数量。
[0108] 边缘损失旨在通过调整模型参数,使得正确分类的胶囊具有比其他胶囊更大的激活值,从而提高模型对不同类别的区分能力:
[0109] ML=y·max(0,m‑preds)2+0.25·(1‑y)·max(0,preds‑m)2 (20)[0110] 其中,y是真实标签,preds是模型的预测值,m是一个预先设定的边缘值,在公式中对于正确分类的样本,利用了一个正数边缘值,希望预测值能够尽可能大于该边缘,以减小损失;而对于错误分类的样本,则使用了一个负数边缘值,希望预测值能够尽可能小于该边缘,以增加损失。一般来说,边缘损失越小,表示模型对数据的表征能力和分类准确性越好。
[0111] 为了进一步验证MBConv‑CapsNet模型的性能,本发明采用基于KimCNN、C‑LSTM和Capsule‑A的文本分类模型作为基准模型进行对比试验,KimCNN是基于CNN的经典文本分类模型;C‑LSTM是先使用CNN提取短语级别的语义特征,然后送到LSTM以确定单词之间的上下文依赖性;Capsule‑A是基于胶囊网络的文本分类模型,Acc、Pre、Recall和F1中的“+”代表该值越高模型的效果越好;ML这一列中的“–”代表该值越小模型的效果越好,实验的最佳结果由加粗字体表示,在保证配置环境及初始训练参数一致的情况下进行性能比较,从实验结果我们可以看出,本发明提出的MBConv‑CapsNet模型在二分类、多分类和多标签文本分类的多个评价指标上都有着明显的性能提升,实验结果分别如表2、表3、表4所示。
[0112] 表2二分类数据集文本分类性能比较
[0113]
[0114] 表3多分类数据集文本分类性能比较
[0115]
[0116] 表4多标签数据集文本分类性能比较
[0117]
[0118] 实验结果表明,本发明提出的MBConv‑CapsNet模型相较于其他基准文本分类模型的性能指标,在二分类、多分类和多标签分类上均取得了显著的性能提升,并绘制了折线图来醒目地观察各个模型的分类效果,如图7‑图11所示。
[0119] 为验证移动翻转瓶颈卷积模块、改进后的胶囊网络、以及优化后的动态路由算法对于二分类、多分类和多标签文本分类的有效性,在相同实验条件下进行消融实验以评估不同模块对性能的影响,实验结果分别如表5、表6、表7所示。
[0120] 表5二分类数据集消融实验
[0121]
[0122]
[0123] 表6多分类数据集消融实验
[0124]
[0125] 表7多标签数据集消融实验
[0126]
[0127] 通过消融实验可以看出,在单标签文本分类中,通过融合移动翻转瓶颈卷积网络和胶囊网络的优势,模型能够更全面地捕捉文本信息,同时使用sparsemax函数进行动态路由使本发明的模型面对噪声信息时具有较强的抵抗能力,在多分类任务中,提出的自适应调整特征通道重要性的胶囊网络效果尤为优异,模型能够更好地捕捉文本中的关键信息,从而提高了多分类任务的准确性,实验结果表明,该模型在处理各种类型的文本数据时都具有强大的稳健性和通用性。
[0128] 胶囊网络通过动态路由算法迭代更新产生文本胶囊,为验证动态路由迭代次数对实验结果的影响,在Retuers‑Full数据集上进行实验并绘制了学习曲线以显示不同路由迭代的性质指标,如表8所示,当路由次数较小时,胶囊网络不能充分学习序列模型的输入表示,随着迭代次数的增加,当路由次数到达3次时算法趋于收敛,但随着迭代次数的不断增加,其训练过程过拟合使得分类效果下降,因此在本发明选取路由迭代次数为3。
[0129] 表8不同路由迭代次数性能比较
[0130]
[0131] 以上内容是结合具体实施方式对本发明作进一步详细说明,不能认定本发明具体实施只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明的构思的前提下,还可以作出若干简单的推演或替换,都应当视为属于本发明所提交的权利要求书确定的保护范围。