Processing math: 100%
«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (5): 79-66, 73  DOI: 10.19678/j.issn.1000-3428.0061176
0

引用本文  

陈可嘉, 刘惠. 基于改进BiGRU-CNN的中文文本分类方法[J]. 计算机工程, 2022, 48(5), 59-66. DOI: 10.19678/j.issn.1000-3428.0061176.
CHEN Kejia, LIU Hui. Chinese Text Classification Method Based on Improved BiGRU-CNN[J]. Computer Engineering, 2022, 48(5), 59-66. DOI: 10.19678/j.issn.1000-3428.0061176.

基金项目

国家自然科学基金(71701019)

作者简介

陈可嘉(1978—),男,教授、博士,主研方向为数据挖掘;
刘惠,硕士研究生

文章历史

收稿日期:2021-03-17
修回日期:2021-05-21
基于改进BiGRU-CNN的中文文本分类方法
陈可嘉 , 刘惠     
福州大学 经济与管理学院, 福州 350116
摘要:传统的自注意力机制可以在保留原始特征的基础上突出文本的关键特征,得到更准确的文本特征向量表示,但忽视了输入序列中各位置的文本向量对输出结果的贡献度不同,导致在权重分配上存在偏离实际的情况,而双向门控循环单元(BiGRU)网络在对全局信息的捕捉上具有优势,但未考虑到文本间存在的局部依赖关系。针对上述问题,提出一种基于改进自注意力机制的BiGRU和多通道卷积神经网络(CNN)文本分类模型SAttBiGRU-MCNN。通过BiGRU对文本序列的全局信息进行捕捉,得到文本的上下文语义信息,利用优化的多通道CNN提取局部特征,弥补BiGRU忽视局部特征的不足,在此基础上对传统的自注意力机制进行改进,引入位置权重参数,根据文本向量训练的位置,对计算得到的自注意力权重概率值进行重新分配,并采用softmax得到样本标签的分类结果。在两个标准数据集上的实验结果表明,该模型准确率分别达到98.95%和88.1%,相比FastText、CNN、RCNN等分类模型,最高提升了8.99、7.31个百分点,同时精确率、召回率和F1值都有较好表现,取得了更好的文本分类效果。
关键词自注意力机制    双向门控循环单元    多通道卷积神经网络    文本分类    深度学习    
Chinese Text Classification Method Based on Improved BiGRU-CNN
CHEN Kejia , LIU Hui     
School of Economics and Management, Fuzhou University, Fuzhou 350116, China
Abstract: The conventional self-attention mechanism can highlight the key features of text while retaining the original features to obtain a more accurate representation of the text feature vector.However, it does not focus on the different contributions of the text vector at each position in the input sequence to the output result, resulting in deviation from the actual situation in weight allocation.The Bidirectional Gated Recurrent Unit(BiGRU) network can capture global information but disregards local features.Hence, a multi-channel Convolutional Neural Network(CNN) with improved self-attention mechanism(SAttBiGRU-MCNN) is proposed herein.The BiGRU is used to capture global information regarding the text sequence to obtain the context semantic information of the text.An optimized multi-channel CNN is used to extract the local features, thereby compensating for the deficiency of the BiGRU, which disregards the local features.Subsequently, the conventional self-attention mechanism is improved, the position weight parameter is introduced, and the calculated self-attention weight probability value is redistributed based on the position of text vector training; subsequently, the classification results of sample labels are obtained using softmax.Experimental results on two standard datasets show that the accuracy of the model reaches 98.95% and 88.1%, separately, which are up to 8.99 and 7.31 percentage points higher, respectively, than those of classification models such as FastText, CNN, and RCNN. Finally, the proposed model performs better in terms of accuracy, recall, and F1 value, as well asoffers better text classification.
Key words: self-attention mechanism    Bidirectional Gated Recurrent Unit(BiGRU)    multi-channel Convolutional Neural Network(CNN)    text classification    deep learning    

开放科学(资源服务)标志码(OSID):

0 概述

PC互联和移动互联的深入发展使得互联网文本数据呈现指数级增长的态势。文本分类作为高效的自然语言处理技术,在用户个性化新闻推荐[1]、文本内容检索[2]、在线评论情感分析[3]中发挥着重要作用,为进一步处理和挖掘文本信息奠定了基础。传统基于机器学习的文本分类算法,如K近邻、支持向量机、朴素贝叶斯、决策树等,不仅需要依靠人工对文本特征进行标注,而且容易出现维度过高或者局部最优等问题,同时参数的变化对分类结果的影响较大,算法鲁棒性较差,文本分类效果有待提升。随着深度学习技术在图像处理和语音识别领域的发展应用中取得显著效果,近年来以深度学习为基础的文本分类算法层出不穷[4]。基于深度学习的神经网络模型,如卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等,通过多层次网络的学习和训练,能够实现对文本深层次特征的自动提取,并提供了一种端到端的解决方案。深度学习模型如CNN在文本分类任务中不仅能够自动学习和提取文本的关键特征,而且在多层次网络的训练过程中涉及的参数相对较少,可以避免出现过拟合的现象。因此,基于深度学习的文本分类方法相较于基于机器学习的分类方法,在多种自然语言处理任务中取得较好表现,具有高效和准确的特点。CNN和双向门控循环单元(BiGRU)是目前在文本分类领域应用较为广泛的两种神经网络模型,但这两种模型在文本分类任务中都存在着缺陷,CNN对上下文语义信息关注较少,忽视句子间的长期依赖关系,而BiGRU在文本特征提取方面能力不足,不能考虑到文本间存在的局部依赖关系。

注意力机制是一种提高特定区域观测精度的机制,可以有选择性地聚焦于观察区域的某些部分,能够对稀疏数据的关键特征进行快速提取。自注意力机制是注意力机制的一种特殊变体,更擅长获取数据内部的相关性,在文本局部关键信息的提取上表现良好,能够弥补BiGRU在特征提取方面的不足,然而传统的自注意力机制在训练过程中不能有效对文本特征向量进行权重调整,存在权重分配局限的问题。

针对上述问题,本文结合CNN、BiGRU和自注意力机制三者的优点,提出一种基于改进自注意力机制的BiGRU和多通道CNN文本分类模型SAttBiGRU-MCNN。引入位置权重参数对自注意力机制进行改进,降低信息量较低的文本向量权重值,对权重值进行重新分配,以增强文本特征的表达能力,提升文本分类的准确性。

1 相关工作

近年来,针对CNN在文本分类任务中的应用和改进得到了广泛关注。文献[5]首先通过构建层次模型识别文本的主题句,再将主题句引入CNN中对文本的句子向量表示分配权重,进一步提高CNN在文本分类中的监督学习能力;文献[6]提出基于语句层面的CNN分类方法,通过结合改进的TF-IDF算法和Word2vec技术,采用CNN实现文本的分类;文献[7]采用奇异值分解方法对CNN的池化层进行特征降维,避免传统CNN池化过程中语义损失的问题,进而获取更多的特征信息;文献[8]通过采用多个CNN构建多通道CNN对中文微博进行情感分类,从多方面对文本特征进行提取,捕捉更多隐藏的文本信息;文献[9]提出基于CNN的文本分类模型,将CNN应用于微博文本的多标签分类任务中,取得较好效果;文献[10]通过评价输出特征的识别能力对卷积滤波器性能进行评估,以此进行特征修剪,提高CNN的文本分类效果;文献[11]提出一种基于范围的卷积神经网络模型(LSS-CNN)实现大规模文本的分类,与基于窗口的CNN相比,能够实现更深层的文本信息表示。基于CNN的文本分类模型虽然能够实现文本特征的自动抽取,但没有考虑到句子间存在的长距离依赖关系。

RNN是一种具有记忆性的神经网络,可以捕捉句子间的上下文语义信息,但容易出现梯度弥散的问题。GRU和LSTM虽然在RNN的基础上加入了门机制,弥补了RNN的缺陷,但未能识别文本的上下文语义关系。而BiGRU和BiLSTM模型则在GRU和LSTM的基础上充分利用了过去和未来的相关信息,不仅能够考虑到句子间的长距离依赖关系,而且能够避免梯度弥散现象发生,在文本分类任务中表现良好。文献[12]将BiGRU应用于文本情感分类任务中,采用BiGRU神经网络层捕捉文本特征依赖,提出基于BiGRU的文本分类模型完成文本的情感分析;文献[13]通过引入密集连接卷积网络对双向门控循环单元进行改进,提出DC-BiGRU-CNN模型对文本进行分类,提高文本分类效果;文献[14]采用长短时记忆网络(Long Short-Term Memory,LSTM)、门控循环单元(Gated Recurrent Unit,GRU)、BiGRU和双向长短时记忆(Bidirectional Long Short-Term Memory,BiLSTM)网络方法对用户在线评论进行特征提取分析,有效实现了文本的情感分类;文献[15]提出一种CNN和RNN相结合的分类模型,将其应用于文本特征的提取中,得到较好的效果;文献[16]将双向门控循环单元和CNN相结合,提出一种字符级的文本分类模型,实现对文本全局和局部语义的提取。由于BiGRU模型相比BiLSTM模型具有更简单的结构和更好的收敛效果,因此选取BiGRU模型应用于文本分类任务中。基于BiGRU的文本分类模型虽然能够识别句子的长距离依赖关系,但是在文本的局部特征提取方面却能力不足。

近年来,自注意力机制在文本分类任务中受到广泛关注。文献[17]将注意力机制应用于比较句识别中,提出端到端的层次多注意力网络模型进行文本的分类;文献[18]在文本分类任务中引入注意力机制,并结合CNN和BiGRU各自在文本信息提取上的优点,提出基于注意力机制的多通道CNN和BiGRU模型(MC-AttCNN-AttBiGRU)完成文本分类;文献[19]将注意力机制应用于文本的情感特征提取任务上,与多通道CNN以及BiGRU相结合,完成文本的情感分类任务;文献[20]将注意力机制应用于词语级别中,以此实现文本的多角度特征提取,并采用CNN和BiGRU对文本深层次语义进行挖掘,在此基础上实现文本分类;文献[21]提出一种基于词性的自注意力机制网络模型对文本进行分类,采用自注意力机制学习文本的特征表达并结合词性信息实现文本分类;文献[22]通过在双向RNN中引入自注意力机制,提出用于句子分类任务的基于自注意力机制的双向RNN模型架构,进一步提高文本分类效果;文献[23]结合BiLSTM和自注意力机制,提出基于自注意力机制的BiLSTM模型进行文本分类;文献[24]采用基于自注意力机制和多通道特征的BiLSTM模型用于文档级的文本分类任务中,通过自注意力机制增强文本特征的表达能力。

自注意力机制虽然在文本分类任务中表现优异,然而由于在传统自注意力机制训练过程中,输入的文本向量训练位置不同,导致位置靠前的文本向量在训练过程中存在初始观察窗口较小及信息量较低的问题。因此,直接顺序地对输入的文本向量进行注意力得分计算存在一定的局限性。

基于此,本文提出基于改进自注意力机制的双向门控循环单元(BiGRU)和多通道CNN的文本分类模型。引入位置权重参数对自注意力机制进行改进,对文本深层次序列重新分配权重,改善传统自注意力机制存在的权重分配局限问题,通过对多通道CNN进行优化,采用不同大小、个数的卷积核进行不同粒度的文本特征提取,得到更丰富、更准确的文本特征,同时引入批标准化处理对经过卷积运算的特征向量进行调节,提升模型的学习能力。最后将改进的自注意力机制、BiGRU和优化的多通道CNN相结合应用于文本分类任务,避免传统RNN梯度弥散或梯度爆炸的现象发生,同时捕捉文本的长期依赖关系,加强文本的局部特征提取能力,进一步提高分类模型的总体性能。

2 SAttBiGRU-MCNN文本分类模型 2.1 整体模型架构

SAttBiGRU-MCNN文本分类模型主要由两个部分组成,包括改进的自注意力机制和BiGRU构成的神经网络通道,以及由3个CNN拼接组成的并行通道。BiGRU通道主要用于获取文本信息中的长距离依赖关系,而CNN通道主要对文本的局部特征信息进行抽取。模型整体结构如图 1所示。

Download:
图 1 SAttBiGRU-MCNN模型整体结构 Fig. 1 Overall structure of SAttBiGRU-MCNN model
2.2 嵌入层

通过嵌入层可以实现文本的向量化转换,提取文本基础语义信息,将文本表示为向量形式进行存储。假设输入样本Ll个句子组成,其中l个句子由n个词构成,则输入样本表示为L={s1,s2,,sl},输入样本中的第i个句子表示为si={wi1,wi2,,win},对输入样本进行文本向量化转换,得到词向量wwL。这一过程中包括对输入样本的数据预处理、数据转换等操作,输入样本经过文本向量化后,生成相应的词向量矩阵。将样本中第i个句子中的第j个词向量表示为Wij,则第i个句子的词向量矩阵可以表示为:

Wi1:iN=Wi1Wi2WiN (1)

其中:Wi1:iN指第i个长度为N的句子对应的词向量矩阵,表示Wi1,Wi2,,WiN为级联操作符,表示词向量之间的连接关系。通过文本向量转化,每一条文本数据都被转化为长度相同的索引向量,以此生成对应的词向量矩阵。

2.3 BiGRU层

这一层的输入为经过嵌入层处理后输出的文本向量。BiGRU层的主要作用是对句子间的长距离依赖关系进行识别和提取,进一步提取文本的深层次特征。BiGRU模型由两个独立的GRU模型构成,GRU的模型结构如图 2所示。

Download:
图 2 GRU模型结构 Fig. 2 GRU model structure

GRU相比LSTM模型在结构上更为简单,模型参数更少,可以降低训练过程中的过拟合风险,同时模型训练需要的时间更短,其计算公式如式(2)~式(5)所示:

zt=σ(Wzxt+Uzht1) (2)
rt=σ(Wrxt+Urht1) (3)
˜ht=tanh(Wxt+U(rtht1)) (4)
ht=zt˜ht+(1zt)ht1 (5)

其中:WzWrWUzUrU为GRU的权值矩阵;ht为模型当前的隐藏状态;ht1为上一状态的输入;代表元素相乘;˜ht表示候选状态;ztrt分别表示更新门和重置门;xt为在t时刻模型的输入状态;σtanh分别表示sigmoid激活函数和tanh激活函数。

在BiGRU模型中,两个GRU使用同一个词向量列表,但两者的参数相互独立。可以将输入样本转换的文本向量理解为输入序列,输入序列以正向和反向的顺序分别通过前向GRU和后向GRU,每一时刻得到的文本特征信息都包括上文与下文之间的相关性。BiGRU的模型结构如图 3所示。

Download:
图 3 BiGRU模型结构 Fig. 3 BiGRU model structure

在某一时刻t,BiGRU的隐藏输出由两个相互独立的GRU共同决定,计算公式如式(6)~式(8)所示:

ht=GRU(ht1,xt) (6)
ht=GRU(ht1,xt) (7)
ht=Wtht+Vtht+bt (8)

其中:htht分别表示在t时刻正向GRU和反向GRU的输出状态;WtVt表示权值矩阵;bt表示偏置向量。经过BiGRU层特征提取后,可以得到更加丰富准确的上下文语义关系编码序列。

2.4 改进的自注意力机制层

在文本分类任务中,每个词对分类结果的影响程度是不同的,为了区别每个词的重要程度,引入自注意力机制层对经过BiGRU处理后的输出向量进行权重分配。自注意力机制是注意力机制的一种特殊变体,为了更好地理解自注意力机制的原理,首先对注意力机制的计算过程进行分析。注意力机制可以理解为由多个Query和Key-Value构成的映射函数,计算公式如式(9)~式(11)所示:

f(Q,K)=QKT (9)
ai=softmax(f(Q,K)) (10)
Attention(Q,K,V)=aiV (11)

其中:Q表示查询;V为对应的键值;KV为向量键值对;ai表示经过softmax函数归一化处理后得到的权重值。

自注意力机制的加入可以在保留原始特征的基础上突出文本的关键特征,得到更准确的文本特征向量表示。传统的注意力机制在训练过程中需要参考部分外部元素,而自注意力机制的计算只需依靠自身内部的元素。考虑输入序列中不同位置的文本向量对输出结果的贡献度有所不同,例如位置靠前训练的文本向量,由于观测窗口较小,在训练过程中获取的信息相对有限,因此训练得到的自注意力权重值总体上会偏大。为了避免这一现象,引入位置权重参数Weight对自注意力机制进行改进,根据文本向量训练的位置,对计算得到的自注意力权重概率值进行重新分配,降低训练位置靠前的文本向量权重,适当提高训练位置靠后的文本向量权重值,以此进一步优化文本特征向量的表示,增强文本特征的表达能力。Weight是一个parameter迭代器,其为Tensor的一个子类,初始值为1,在训练过程中会不断进行优化,从而实现训练时降低靠近开头特征的自注意力整体权重,靠后的特征获取更高的权重。具体计算公式如式(12)~式(14)所示:

SelfAttention=softmax(XXTdk)X (12)
SelfAttentionweight=softmax(XXTdk)XWWeight (13)
WWeight=[a11a12a1ma21a22a2mam1am2amm] (14)

其中:m为文本词长度;XRn为BiGRU层输出的n维向量;dk为函数的调节因子,通常表示输入向量的维度,调节因子可以对X·XT的内积进行调节,避免函数得到的值差距过大导致结果分布不均匀。

2.5 多通道CNN

CNN通道的输入是经过嵌入层映射得到的文本向量。模型采用3个并行的CNN通道分别进行文本的局部特征提取操作,3个CNN通道的参数相互独立。为了进一步提高多通道CNN的特征提取能力,获取文本的多元特征,分别在3个CNN通道中再加入一层卷积对CNN进行优化,增强文本的局部特征表达能力,同时引入批标准化层进一步加强模型的学习能力。

2.5.1 卷积层

卷积层使用卷积核对输入的文本向量进行卷积运算,通过固定尺寸的窗口完成向量的特征映射,得到文本的局部特征信息。在CNN中,通常采用h×n维大小的过滤器进行卷积运算,其中h表示设定的卷积核尺寸,n表示选取的词向量维度。本文设置h分别为3、4、5,同时在第一个卷积层中将过滤器个数设置为256,第二个卷积层的过滤器个数设置为128。将输入的文本向量表示为矩阵HRk×n,其中k表示句子的词向量个数,n为词向量维度,将卷积核定义为SRh×n,则卷积层的运算过程可以表示为:

ci=f(S·Hi:i+h1+b) (15)

其中:ci表示通过卷积运算输出的文本的第i个特征值;f为非线性激活函数,本文采用Relu函数;表示两个矩阵点乘;Hi:j表示从第i个词到第j个词的词向量矩阵;b为偏置项。对文档中各个窗口的特征矩阵进行卷积运算,能够得到相应的特征图c,将其表示为:

c=(c1,c2,,ckh+1) (16)
2.5.2 批标准化层

为了提高模型的自适应能力和表达能力,加入批标准化层对上层输出向量进行处理,标准化处理不仅可以提高神经网络的训练速度,加快收敛速度,同时能够对输出的特征分布进行调整使其更加稳定,有助于增强模型的学习能力,进一步提高分类效果。

2.5.3 池化层

池化层通过设置固定的步长stride对文本特征进行采样。池化操作主要包括最大池化层和平均池化层两种策略,本文采用最大池化策略进行池化处理。这一过程主要是将不重要的文本特征进行丢弃,保留最关键的文本特征信息,池化操作不仅能够实现特征向量的降维,同时能够避免训练过程中发生过拟合现象。经过池化操作,输出固定长度向量:

c'=max(ci) (17)
2.6 全连接层

全连接层的作用是把经过池化操作得到的多个特征向量进行重新组装拟合,并将其作为全连接层的输入,并通过激活函数实现文本的分类。这一过程可以有效降低文本特征信息的损失。

2.7 输出层

模型采用激活函数softmax实现文本的分类。使用softmax对上层输出的特征向量进行计算,以此得到文本分类结果,具体计算过程如式(18)所示:

P(y(i)=j|x(i);θ)=exp(θTjx(i))kn=1exp(θTnx(i)) (18)

其中:P指的是输入文本x被分到类别y的概率值;θ表示模型训练的参数。

3 实验 3.1 实验环境

实验平台为Windows10 20H2版本以及Ubuntu 18.04操作系统,硬件为Intel i7-10750、8×2.6 GHz处理器、16 GB内存、GTX1650Ti显卡,模型采用Python编程语言实现,Python版本为3.7,使用的深度学习库包括tensorflow2.3.0、keras2.4.3、gensim3.8.3、numpy1.18.5,编码工作通过Pycharm开发工具完成。

3.2 实验数据集

实验选取搜狗语料库和THUCNews两个数据集作为实验数据集。SogouCS是由搜狗实验室提供的新闻数据集,下载地址为:http://www.sogou.com/labs/resource/cs.php;THUCNews是由新浪新闻RSS订阅频道的历史数据整理生成,下载地址为:http://thuctc.thunlp.org/。分别将两个数据集划分为训练集和测试集,其中80%用于模型训练,20%用于模型测试,实验数据集统计信息如表 1所示。

下载CSV 表 1 实验数据集统计信息 Table 1 Statistics of experimental datasets
3.3 实验预处理与模型超参数设置

模型具体超参数设置如表 2所示。

下载CSV 表 2 超参数设置 Table 2 Hyperparameter settings

首先采用Jieba分词工具对输入的两个数据集分别进行中文分词操作,删除标点符号后,再进行停用词的过滤处理,这一过程采用哈尔滨工业大学停用词表,然后将输出文本中无实际含义的单个字进行去除,得到词向量的训练语料。实验中设置两个数据集文本句子的最大长度分别为300和40,当句子过长时采取截断操作,当句子过短时则进行补零操作。词向量的训练采用GloVe模型。

3.4 评价标准

本文采用准确率(A)、精确率(P)、召回率(R)以及F1值作为实验的评价标准。相关的混淆矩阵结构如表 3所示。

下载CSV 表 3 混淆矩阵 Table 3 Confusion matrix

表 3中,矩阵的行为样本的真实类别,矩阵的列为样本的预测结果。

准确率(A)是分类正确的样本占总样本的比重,计算公式为:

A=TTP+TTNTTP+TTN+FFP+FFN (19)

精确率(P)是被正确预测的样本占所有预测类别正确的样本的比重,计算公式为:

P=TTPTTP+FFP (20)

召回率(R)是被正确预测的样本占所有真实类别正确的样本的比重,计算公式为:

R=TTPTTP+FFN (21)

F1值是基于精确率和召回率的调和平均值,计算公式为:

F1=2×P×RP+R (22)
3.5 实验对比

为了验证提出的文本分类模型的合理性和有效性,分别在两个实验数据集下进行不同分类模型的对比测试。将提出的模型和以下11种文本分类模型进行对比评估:

1)CNN[25]。基于单层CNN的文本分类模型,将经过数据预处理得到的词向量作为CNN的输入,将卷积核时域窗长度设置为3,词向量维度设置为300,经过一层卷积后是池化操作,然后是全连接层和输出层。

2)FastText[26]。由Facebook在2016年发表的一种简单快速实现文本分类的模型。将词向量作为输入,经过一个平均池化层作为隐藏层,最后通过softmax输出分类结果。

3)MCNN(Multi-channel CNN)。即多通道CNN,将经过嵌入层处理得到的300维词向量分别输入到卷积核时域窗长度为3、4、5的卷积层中,然后将这3个CNN通道得到的词向量拼接在一起,经过全连接层后再通过激活函数输出分类结果。

4)RCNN[27]。由RNN和CNN相结合的文本分类模型。首先采用BiLSTM对文本的特征向量进行提取,再将其与嵌入层输出的词向量进行拼接,然后经过一层卷积后实现对文本的分类。

5)Self-Attention-CNN。使用自注意力机制和卷积神经网络结合的方法实现文本分类,将模型的嵌入层输出使用自注意力机制进行特征加权,然后使用单层CNN进行特征提取,再通过输出层输出文本分类结果。

6)BiGRU。采用BiGRU模型对文本进行分类。BiGRU模型中前后向GRU的隐藏层神经元个数均设置为128层,Dropout设置为0.2。

7)SAttBiGRU。通过BiGRU模型获取文本的全局特征向量,再利用自注意力机制对BiGRU输出的特征向量进行加权,增强文本特征的表达能力,在此基础上进行文本分类。

8)BiGRU-MCNN。分别使用BiGRU模型和多通道CNN模型对嵌入层的输出向量进行文本语义特征提取,得到对应的特征向量表达并将其进行拼接操作,经过全连接层后使用激活函数进行分类。

9)MC-AttCNN-AttBiGRU[18]。首先采用注意力机制分别对多通道CNN和BiGRU进行加权,再将得到的文本特征向量进行拼接后输入全连接层,最后采用softmax实现文本分类。

10)BiGRU-SAtt-MC-CNN。首先使用BiGRU训练得到文本的语义特征表示,然后引入自注意力机制对BiGRU的参数进行加权后,再与经过多通道CNN得到的文本特征向量进行拼接,作为全连接层的输入,最后实现文本分类。

11)BiGRU-SAtt-MCNN。这一模型和上述BiGRU-SAtt-MC-CNN模型流程一致,不同的是采用本文提出的优化的多通道CNN对文本局部特征进行提取。优化的多通道CNN由3个CNN通道构成,每个通道由两层卷积组成,卷积核的个数分别设置为256和128,并引入Batch Normalization函数进行批标准化处理。

3.6 结果分析

本文将提出的SAttBiGRU-MCNN文本分类模型与上述11种模型分别在SogouCS和THUCNews数据集进行对比实验,实验结果如表 4表 5所示。结合表 4表 5的对比实验结果,可以看出提出的基于改进自注意力机制的BiGRU和多通道CNN的文本分类模型相比其他11种分类模型,在两个实验数据集上都取得较好的分类效果,准确率分别达到98.95%和88.1%,相比其他分类模型分别最高提升了8.99和7.31个百分点,同时精确率、召回率和F1值都取得较好表现,表明所提出的文本分类模型的优越性。

下载CSV 表 4 SogouCS数据集对比实验 Table 4 Comparison experiment of SogouCS dataset  
下载CSV 表 5 THUCNews数据集对比实验 Table 5 Comparison experiment of THUCNews dataset  

对实验结果进行分析,可以发现在两个数据集的对比实验中,MC-CNN的分类准确率都比单层的CNN更高,表明MC-CNN能够有效提高文本分类效果,这是因为在多个CNN通道中可以进行不同粒度的文本特征信息提取,能够有效识别文本间的序列关系,在文本特征的提取上优于单层CNN。此外,对比CNN模型和RCNN模型的实验结果,发现在CNN中加入RNN同样可以提升分类准确率,这是因为RNN可以弥补单层CNN在文本特征提取任务中忽视上下文语义信息的缺陷,能够捕捉句子间的长期依赖关系,可以得到更为准确的语义表示。对Self-Attention-CNN模型的文本分类结果进行分析,发现其分类性能优于CNN、FastText、多通道CNN和RCNN模型,验证了自注意力机制在文本分类任务中的优良性能。对比BiGRU-SAtt-MC-CNN和MC-CNN、BiGRU、Self-Attention-CNN分类模型,可以发现三者相结合的文本分类方法总体评价上都优于单个模型,表明将多通道CNN、BiGRU和Self-Attention相结合应用于文本分类中能够有效发挥各自模型的优势,弥补模型的不足,验证了本文将3种方法相结合用于文本分类的准确性。

为了验证本文提出的改进的自注意力机制以及优化的多通道CNN能够有效提高文本分类的有效性和准确性,对BiGRU-SAtt-MC-CNN、BiGRU-SAtt-MCNN以及本文提出的SAttBiGRU-MCNN文本分类模型的实验结果进行对比分析。通过对BiGRU-SAtt-MC-CNN和BiGRU-SAtt-MCNN在SogouCS和THUCNews数据集上的实验结果进行分析可以看出,加入优化的多通道CNN的模型分类效果都优于采用普通的多通道CNN的分类模型,验证了优化的多通道CNN可以提高文本分类的准确率。这是因为优化的多通道CNN在原有的多通道CNN模型上,分别在各个通道中加入了一层不同卷积核数的卷积层,可以进一步提高模型的特征提取能力,得到文本的多元语义特征,增强CNN对文本局部特征信息的捕捉能力,同时引入的批标准化处理层可以对卷积层输出的特征分布进行调整,增强模型的学习能力。对BiGRU-SAtt-MCNN和SAttBiGRU-MCNN的实验结果进行分析,发现采用改进的自注意力机制的分类模型在准确率、精确率、召回率和F1值上都比采用传统自注意力机制的模型表现更好,因此说明本文提出的引入位置权重参数的自注意力机制可以有效提高文本分类性能,这主要是因为改进后的自注意力机制能对特征向量的权重值进行重新分配,有效降低信息量较少的向量权重值,以此提高文本特征的表达能力,进一步提升文本分类的准确性。

4 结束语

本文结合改进的自注意力机制、BiGRU以及多通道CNN,提出一种SAttBiGRU-MCNN文本分类模型。该模型通过BiGRU对文本序列信息进行捕捉学习,给出文本的上下文语义信息,利用改进的自注意力机制对文本深层次序列权重进行重新分配,可获得更加准确的文本关键语义信息,同时采用多通道CNN可以获取多特征的文本局部语义信息,得到更丰富的文本语义表示。将本文提出的文本分类模型应用于两个公开数据集上,并与其他11种文本分类模型进行对比分析,实验结果验证了该模型的准确性和有效性,表明了该模型能够得到更准确的文本分类结果。考虑文本分类任务中词语的语义扩展对文本的特征表示存在重要影响,下一步将结合语义扩展和深度学习网络对文本分类模型进行优化,并在此基础上开展文本的细粒度分类研究。

参考文献
[1]
BOURAS C, TSOGKAS V. Improving news articles recommendations via user clustering[J]. International Journal of Machine Learning and Cybernetics, 2017, 8(1): 223-237. DOI:10.1007/s13042-014-0316-3
[2]
熊回香, 杨梦婷, 李玉媛. 基于深度学习的信息组织与检索研究综述[J]. 情报科学, 2020, 38(3): 3-10.
XIONG H X, YANG M T, LI Y Y. A survey of information organization and retrieval based on deep learning[J]. Information Science, 2020, 38(3): 3-10. (in Chinese)
[3]
LIU Y, LAPATA M. Learning structured text representations[J]. Transactions of the Association for Computational Linguistics, 2018, 6: 63-75. DOI:10.1162/tacl_a_00005
[4]
王芝辉, 王晓东. 基于神经网络的文本分类方法研究[J]. 计算机工程, 2020, 46(3): 11-17.
WANG Z H, WANG X D. Research on text classification methods based on neural network[J]. Computer Engineering, 2020, 46(3): 11-17. (in Chinese)
[5]
韩栋, 王春华, 肖敏. 基于句子级学习改进CNN的短文本分类方法[J]. 计算机工程与设计, 2019, 40(1): 256-260, 284.
HAN D, WANG C H, XIAO M. Improved CNN based on sentence-level supervised learning for short text classification[J]. Computer Engineering and Design, 2019, 40(1): 256-260, 284. (in Chinese)
[6]
曾凡锋, 李玉珂, 肖珂. 基于卷积神经网络的语句级新闻分类算法[J]. 计算机工程与设计, 2020, 41(4): 978-982.
ZENG F F, LI Y K, XIAO K. Sentence-level fine-grained news classification based on convolutional neural network[J]. Computer Engineering and Design, 2020, 41(4): 978-982. (in Chinese)
[7]
邱宁佳, 丛琳, 周思丞, 等. 结合改进主动学习的SVD-CNN弹幕文本分类算法[J]. 计算机应用, 2019, 39(3): 644-650.
QIU N J, CONG L, ZHOU S C, et al. SVD-CNN barrage text classification algorithm combined with improved active learning[J]. Journal of Computer Applications, 2019, 39(3): 644-650. (in Chinese)
[8]
陈珂, 梁斌, 柯文德, 等. 基于多通道卷积神经网络的中文微博情感分析[J]. 计算机研究与发展, 2018, 55(5): 945-957.
CHEN K, LIANG B, KE W D, et al. Chinese micro-blog sentiment analysis based on multi-channels convolutional neural networks[J]. Journal of Computer Research and Development, 2018, 55(5): 945-957. (in Chinese)
[9]
PARWEZ M A, JAHIRUDDIN A M. Multi-label classification of microblogging texts using convolution neural network[J]. IEEE Access, 2019, 7: 68678-68691. DOI:10.1109/ACCESS.2019.2919494
[10]
LI Q, LI P F, MAO K Z, et al. Improving convolutional neural network for text classification by recursive data pruning[J]. Neurocomputing, 2020, 414: 143-152. DOI:10.1016/j.neucom.2020.07.049
[11]
WANG J Y, LI Y X, SHAN J, et al. Large-scale text classification using scope-based convolutional neural network: a deep learning approach[J]. IEEE Access, 2019, 7: 171548-171558. DOI:10.1109/ACCESS.2019.2955924
[12]
王伟, 孙玉霞, 齐庆杰, 等. 基于BiGRU-attention神经网络的文本情感分类模型[J]. 计算机应用研究, 2019, 36(12): 3558-3564.
WANG W, SUN Y X, QI Q J, et al. Text sentiment classification model based on BiGRU-attention neural network[J]. Application Research of Computers, 2019, 36(12): 3558-3564. (in Chinese)
[13]
郑诚, 薛满意, 洪彤彤, 等. 用于短文本分类的DC-BiGRUCNN模型[J]. 计算机科学, 2019, 46(11): 186-192.
ZHENG C, XUE M Y, HONG T T, et al. DC-BiGRUCNN model for short-text classification[J]. Computer Science, 2019, 46(11): 186-192. (in Chinese)
[14]
SACHIN S, TRIPATHI A, MAHAJAN N, et al. Sentiment analysis using gated recurrent neural networks[J]. SN Computer Science, 2020, 1(2): 1-13.
[15]
HASSAN A, MAHMOOD A. Convolutional recurrent deep learning model for sentence classification[J]. IEEE Access, 2018, 6: 13949-13957. DOI:10.1109/ACCESS.2018.2814818
[16]
LIU B, ZHOU Y, SUN W. Character-level text classification via convolutional neural network and gated recurrent unit[J]. International Journal of Machine Learning and Cybernetics, 2020, 11(8): 1939-1949. DOI:10.1007/s13042-020-01084-9
[17]
朱茂然, 王奕磊, 高松, 等. 中文比较关系的识别: 基于注意力机制的深度学习模型[J]. 情报学报, 2019, 38(6): 612-621.
ZHU M R, WANG Y L, GAO S, et al. A deep-learning model based on attention mechanism for Chinese comparative relation detection[J]. Journal of the China Society for Scientific and Technical Information, 2019, 38(6): 612-621. (in Chinese)
[18]
程艳, 尧磊波, 张光河, 等. 基于注意力机制的多通道CNN和BiGRU的文本情感倾向性分析[J]. 计算机研究与发展, 2020, 57(12): 2583-2595.
CHENG Y, YAO L B, ZHANG G H, et al. Text sentiment orientation analysis of multi-channels CNN and BiGRU based on attention mechanism[J]. Journal of Computer Research and Development, 2020, 57(12): 2583-2595. (in Chinese)
[19]
袁和金, 张旭, 牛为华, 等. 融合注意力机制的多通道卷积与双向GRU模型的文本情感分析研究[J]. 中文信息学报, 2019, 33(10): 109-118.
YUAN H J, ZHANG X, NIU W H, et al. Sentiment analysis based on multi-channel convolution and bi-directional GRU with attention mechanism[J]. Journal of Chinese Information Processing, 2019, 33(10): 109-118. (in Chinese)
[20]
余本功, 朱梦迪. 基于层级注意力多通道卷积双向GRU的问题分类研究[J]. 数据分析与知识发现, 2020, 4(8): 50-62.
YU B G, ZHU M D. Question classification based on bidirectional GRU with hierarchical attention and multi-channel convolution[J]. Data Analysis and Knowledge Discovery, 2020, 4(8): 50-62. (in Chinese)
[21]
CHENG K F, YUE Y N, SONG Z W. Sentiment classification based on part-of-speech and self-attention mechanism[J]. IEEE Access, 2020, 8: 16387-16396. DOI:10.1109/ACCESS.2020.2967103
[22]
KUMAR A, RASTOGI NEE KHEMCHANDANI R. Self-attention enhanced recurrent neural networks for sentence classification[C]//Proceedings of 2018 IEEE Symposium Series on Computational Intelligence. Washington D. C., USA: IEEE Press, 2018: 905-911.
[23]
XIE J, CHEN B, GU X L, et al. Self-attention-based BiLSTM model for short text fine-grained sentiment classification[J]. IEEE Access, 2019, 7: 180558-180570. DOI:10.1109/ACCESS.2019.2957510
[24]
LI W J, QI F, TANG M, et al. Bidirectional LSTM with self-attention mechanism and multi-channel features for sentiment classification[J]. Neurocomputing, 2020, 387: 63-77. DOI:10.1016/j.neucom.2020.01.006
[25]
KIM Y. Convolutional neural networks for sentence classification[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: Association for Computational Linguistics, 2014: 1746-1751.
[26]
JOULIN A, GRAVE E, BOJANOWSKI P, et al. Bag of tricks for efficient text classification[C]//Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers. Stroudsburg, USA: Association for Computational Linguistics, 2017: 427-431.
[27]
LAI S W, XU L H, LIU K, et al. Recurrent convolutional neural networks for text classification[C]//Proceedings of the 29th AAAI Conference on Artificial Intelligence. [S. 1. ]: AAAI Press, 2015: 2267-2273.
Download:
图 1 SAttBiGRU-MCNN模型整体结构 Fig. 1 Overall structure of SAttBiGRU-MCNN model
Download:
图 2 GRU模型结构 Fig. 2 GRU model structure
Download:
图 3 BiGRU模型结构 Fig. 3 BiGRU model structure
下载CSV 表 1 实验数据集统计信息 Table 1 Statistics of experimental datasets
下载CSV 表 2 超参数设置 Table 2 Hyperparameter settings
下载CSV 表 3 混淆矩阵 Table 3 Confusion matrix
下载CSV 表 4 SogouCS数据集对比实验 Table 4 Comparison experiment of SogouCS dataset  
下载CSV 表 5 THUCNews数据集对比实验 Table 5 Comparison experiment of THUCNews dataset  
基于改进BiGRU-CNN的中文文本分类方法
陈可嘉 , 刘惠