APP下载

基于深度学习的中文文本分类方法

2021-04-22王景中王宝成

计算机工程与设计 2021年4期
关键词:网络结构残差卷积

肖 禹,王景中,王宝成

(北方工业大学 信息学院,北京 100144)

0 引 言

近年来,通过深度学习技术进行文本分类[1],并获取特征,在建模过程中融入特征学习,利用复杂的多层处理结构对数据高度抽象,有效取代了手工获取文本特征的方法[2]。文本分类的主要工作流程包括文本预处理、文本表示、特征提取和分类器的训练[3]。对于一篇文章而言,首先进行分词、去停用词等预处理操作[4]。接下来,通过词嵌入[5]的文本表示将文本表示为计算机可读的形式。下一步是构建文本分类模型,选择适宜的模型提取文本特征。最后采用合理的分类器进行训练,对文本进行分类,最终得到文本的类别。利用深度学习强大的学习与泛化能力[6]提取出的抽象特征要比人为设定的特征具有更强的泛化性,能够胜任多领域的分类任务。裴志利等[7]介绍了多种卷积神经网络(CNN)文本分类方法,然而,多层网络的叠加可能导致梯度消失的问题。李梅等[8]提出基于具有注意力机制的卷积模型,将CNN与注意力机制并行组合后,由长短期记忆(LSTM)网络隐层输出,能够提取短文本的显著细粒度特征,然而对于长文本的特征提取效果并不显著。本文提出深度学习混合模型ResCNN-LSTMA,旨在利用深度学习网络结构对中文文本进行分类,使用jieba进行分词预处理,使用CBOW模型进行文本表示,避免维度爆炸;通过含有残差结构的卷积网络,在降维的同时避免梯度消失的问题;通过具有注意力机制的LSTM结构,对长文本进行上下文的特征提取,保留句子中的重要特征。ResCNN-LSTMA能够提升分类结果的准确性。

1 相关理论

1.1 长短期记忆网络

循环神经网络(RNN)作为常用的自然语言处理技术,它将上一时刻的隐层状态传递至下一时刻,并通过计算得到最新的状态信息。LSTM由循环神经网络衍生而来,其结构如图1所示。

图1 长短期记忆网络

LSTM是一种门控算法,其主要思路是利用门函数来挖掘时间序列中相对较长间隔的时序变化规律。其核心部件为细胞单元,通过遗忘门、输入门和输出门控制数据的迭代更新,实现信息的传递,并采用门控存储结构替换RNN的隐层状态,改善了梯度不稳定和长距离依赖情况。

1.2 残差网络

为了提升文本分类结果的准确率,我们能够使用深度学习的算法模型进行分类。然而,随着网络层级的增加,训练难度也增强了,训练所需时间更长,分类的准确性却随之降低,这被称为“退化问题”[9]。残差网络(ResNet)作为当前应用最为广泛的CNN特征提取网络,可以改善网络的退化情况。

残差网络利用多个含参网络层来学习输入、输出之间的残差,对于多层网络模型,当使用学习到的特征作为输入时,我们希望通过学习得到残差值,即理想情况与现实情况下得到的特征的差距。理想状态下设残差为0,多层网络模型相当于做了恒等映射,不会影响网络的性能。而实际上,残差一定存在,使用残差网络会使多层网络模型拥有更好的性能。

1.3 注意力机制

注意力机制(attention mechanism)通过对资源进行适当分配,进而从大量信息中提取出语义特征更强的信息。通过注意力机制可以获取文本中的更具概括性的语句,并且对抑制无关的信息进行抑制。然而,由于此框架需要根据序列的全部信息生成一个固定长度的语义向量,因此需要对序列信息进行更高比率的压缩,将会降低语义向量包含序列信息的完整性,且后一时刻的输入会覆盖前一时刻的输出,结果的准确性也无法得到保障。

Bahdanau等将注意力机制引入Encoder-Decoder框架中[10],这种改进后的框架会依据时刻产生语言编码向量,因此这些编码向量是不相同的,根据这些编码向量,可以获取后续输出对输入序列的关注区域,框架会根据这些关注区域获取下一时刻的输出。

1.4 SENet块结构

SENet(Squeeze-and-Excitation networks)是一种图像识别网络结构,在文本分类领域中也可以应用这种思想。SENet模型通过对特征通道间的相关性进行建模,针对一些重要的特征进行强化从而提升模型的准确率。

在SENet网络结构中,核心的思想就是挤压(Squeeze)与激活(Excitation),这也是该网络结构的命名由来。通过Squeeze与Excitation操作,能够显式构建特征通道之间的关联模型,另外不同于引入一个新的空间维度来进行特征通道融合的方式,SENet采用“特征重标定策略”。具体而言就是通过学习的方式来获取每个特征通道的重要程度,再依据特征通道的重要程度提升有意义的特征,抑制参考意义较小的特征。

1.5 STM-ResNet残差网络

与传统的残差网络相比,STM-ResNet更符合神经网络的标准范式,将原网络按通道拆分成多条路径,再将每条路径得到的结果进行聚合获取特征提取的结果。

STM-ResNet残差网络如图2所示,这种网络结构的设计,将传统残差网络的残差块替换成用一种平行堆叠相同拓扑结构的残差块,具有较强的可扩展性。

图2 STM-ResNet网络结构

2 ResCNN-LSTMA模型

ResCNN-LSTMA模型将CNN、残差结构、LSTM、注意力机制相结合,组合为一个多层网络的深度学习文本分类模型——ResCNN-LSTMA,其整体工作流程如图3所示。

图3 ResCNN-LSTMA流程

ResCNN-LSTMA模型由数据预处理、文本表示、基于残差结构的卷积单元、融合注意力机制的LSTM 单元和softmax分类单元五部分构成。

2.1 数据预处理

由于中文文本的特殊性,本系统使用jieba进行数据集分词处理。其优势在于jieba基于树结构,查找速度较快。过多的形容词和副词对计算概率与句子切分的影响,也得到了较好的解决。其具备汉字成词能力,能够降低未登录词对分词产生的影响。

2.2 文本表示

词嵌入(word embedding)[12]技术是目前最常用的文本表示方法,其原理是将每个词映射为一个地位空间上的稠密向量,将每一维视为一个主题,若一篇文章有n个词,每个词都映射成m维向量,则此篇文章将转化为一个n×m维的矩阵。当我们将一篇文章以矩阵形式作为特征表示,在其输入至机器学习模型中之前,还需要进一步对特征进行提取。词嵌入是一类将词向量化的模型的统称,与传统的文本表示方法相比,它将词转换为向量,并把词与词之间的相似度用词向量空间的距离来代替,以获取文本之间的联系和上下文语义信息。在分词操作后的文本作为输入,进行神经网络的训练,之后输出每个词的概率分布。

词向量的表示方法很多,文中使用词嵌入技术中比较常用的CBOW模型,它根据上下文来预测某个词,并得到低维、连续的词向量,以便于提升词语之间相似度计算的效率与准确率。将预处理后的词语转化为词向量,设文本由n个单词组成,令词向量维度为m,则文本向量矩阵X可表示为

X={x1,x2,…,xn}

(1)

2.3 基于残差结构的卷积神经网络

标准的CNN由卷积层、池化层、全连接层组成,其通过局部感知和权值共享的方法减少了训练过程中的参数数量,使训练的效率和准确率得到提升。本文的激活函数使用可改善梯度消失的Leaky Relu函数。在文本分类过程中,通常应用多层网络处理词向量,将前一层网络的输出作为后一层网络的输入。然而,随着网络深度的增加,由于前一层网络的输出可能出现偏差,并且后一层网络的输入依赖于前一层网络的输出,训练过程中可能会发生梯度消失和性能退化的问题,导致分类结果受到影响。因此,本文将CNN加入残差网络结构,组成了ResCNN网络层,使得后一层网络的输入依赖于前一层网络的输出与原始输入的加和结果,在增加网络深度的同时,降低了训练难度,进而提升结果的准确性。

在CNN中加入的残差结构由STM-ResNet与SENet进行组合得到。通过类似于残差模块与CNN的结合方式,将输入数据通过一系列的池化、卷积操作与激活函数运算,最后将其结果进行伸展并与原始数据进行组合,生成新的输出数据。ResCNN网络结构如图4所示。

图4 ResCNN网络结构

这种组合方法属于Squeeze操作,将输入的数据压缩,再通过卷积与激活函数运算,最后通过权重运算与原先的输入数据进行组合。该网络结构相较于传统的残差网络,拥有更强的可扩展性,并尽最大可能地发挥硬件的并行计算能力;该网络结合SENet与STM-ResNet的特点,对特征进行提取,从而获得更准确的特征。由于网络本质上还是一种残差网络模块,因此其与CNN的组合形式与传统残差网络的组合形式完全相同。

首先将向量序列X输入基于卷积模型,设权重矩阵为W,偏移量为b,激活函数使用Leaky Relu设为f,则卷积核在词序列中第i位置上的输出为

Ti=f(WT⊗xi+bT)

(2)

本文通过最大池化层提取重要特征,并进行降维操作,防止过拟合

(3)

池化后的结果为

(4)

由于多个卷积层的叠加,网络训练难度也随之增加,本文将残差结构加入CNN,降低了模型训练难度,起到提升分类结果准确性的作用。加入残差结构的卷积输出结果Y为

(5)

2.4 融合注意力机制的LSTM网络

LSTM在RNN的基础上引入的门结构,能够筛选有效信息并控制信息的传递。在理想情况下,使用更长的步长意味着更多的信息量。而实际上,步长过长会导致对有效信息筛选的准确性下降,距离较远,且相互依赖的特征需要通过较长的时间步长才能建立彼此的联系,然而更远的距离会降低特征间关系的捕获率。本文通过优化LSTM网络,将注意力机制融入其中,在获取上下文词语义关系的同时,计算每个词在句子中的重要程度,对有效信息加以更多的关注,保障重要特征提取的准确性,能够在一定程度上高文本分类的准确率。

本文将ResCNN提取的局部特征信息输入到LSTM网络结构,进行全局特征提取。通过LSTM门结构保留有效信息,筛除无用信息,利用注意力机制的优势,根据每一时刻不同重要程度的信息进行自动加权,筛选出重要程度更高的特征信息。LSTMA整体的网络结构如图5所示。

图5 LSTMA网络结构

LSTM通过“门”结构来控制输入对特征序列的影响,分别为:输入门(input gate layer)、输出门(output gate layer)、遗忘门(forget gate layer)。设由基于残差结构的卷积单元输出的结果、由 LSTM单元输出的特征序列分别为

Y={y1,y2,…,yn}

(6)

L={l1,l2,…,ln}

(7)

将Y分别输入至LSTM模型中,则Y与当前输入的特征向量通过激活函数σ进行线性组合,可以得到t时刻的门结构状态。It为保留单元的状态,Ot为输出单元的状态,Ft为丢弃单元的状态

It=σ(Wi[It-1,yt]+bI)

(8)

Ot=σ(Wi[Ot-1,yt]+bO)

(9)

Ft=σ(Wi[Ft-1,yt]+bF)

(10)

保留单元的控制参数表示为

(11)

通过门结构的处理,一个LSTM单元将得到由遗忘门过滤、由输入门保留的控制参数,其在训练的过程中是变化的

(12)

利用新的控制参数产生输出,第t时刻输出门传递给下一个LSTM单元的特征信息为

ht=Ot×tanh(Ct)

(13)

LSTM模块最终的输出特征序列可表示为

H={h1,h2,…,hn}

(14)

(15)

(16)

最后,根据以下公式计算文本的语义编码

(17)

融合注意力机制的LSTM模型在处理上下文信息时,体现每一时刻输出序列信息的权值,从而提升了算法对长文本信息特征提取的准确率。

2.5 分类单元

使用softmax分类器输出预测文本在每一类别上的概率p,其中W为权值矩阵,b为偏移量。选择具有最高概率的结果作为文本的类别,公式如下

p=softmax(Wp+bp)

(18)

3 实验与结果分析

3.1 实验准备

(1)实验设计

通过相关理论研究,本文分别对CNN、LSTM和ResCNN、LSTMA、ResCNN-LSTMA混合模型进行实验的设计,并对其结果进行对比。通过分类结果的准确率、精确率、召回率与训练时长对分类模型进行评估。

(2)环境配置

在Linux系统下,使用Python3.6作为开发语言进行实验,CPU Intel四核3.4 GHz,GPU是NVIDIA GTX1060 6 G,内存16 G,硬盘500 G。

(3)数据集的选取

实验使用了2012年6月-7期间的SogouCS作为数据集,本文选取10个类别的文档(每类3000篇)对模型进行评估。

(4)参数设置

通过分词、去停用词等操作处理文本,获取词集合,使用CBOW对词进行向量化,将每个词汇转化为300维词向量。ResCNN利用卷积得到局部特征信息,选择3种滤波器[2,3,4],使用Leaky Relu作为激活函数,迭代20 000次,学习率0.0001;利用最大池化层压缩数据和参数量来减少过拟合,窗口大小与卷积之后的矩阵向量大小一致。LSTMA通过隐层状态的更新,得到整体特征信息,使用tanh作为激活函数,学习率0.0007。

3.2 评价标准

本文实验使用准确率、精确率、召回率和训练时长作为评测指标[11],使用字母表示下文中的分类结果,评价标准见表1。

表1 判别结果分类

(1)准确率

准确率表示被正确分类的文档数量与文档总数之比,其计算公式如下

(19)

(2)精确率

精确率为被正确判别属于该类的文档数量与判别属于该类的文档总数之比,其计算公式如下

(20)

(3)召回率

召回率为被正确判别属于该类的文档数量与数据集中属于该类的文档数量之比,其计算公式如下

(21)

(4)训练时长

分别使用不同的模型对同一数据集进行训练,记录每个模型的训练时长作为评价分类效率的指标。

3.3 实验结果及分析

使用SogouCS数据集对CNN、RCNN、LSTM、LSTMA与本文模型分别进行训练,首先对比上述5个模型在体育、健康、娱乐、科教、时政、经济、社会、军事、国际、旅游,这10个新闻类别分类结果的准确率、精确率与召回率;再对比上述5个模型的训练、测试时间以及平均准确率。

5种模型在10种新闻类别的分类效果见表2。本文提出的网络模型对表中几种新闻类别的分类效果在准确率、精确率及召回率上(单位:百分比)均优于其它模型,最高的准确率达到了93.7%;最低准确率也能保持在88.5%以上;最高精确率达到90.4%;最低精确率为84.5%;最高召回率达到92.4%;最低召回率达到86.3%。本文模型使用残差网络的CNN网络与注意力机制的LSTM混合模型,网络拥有更深的网络层数、更准确的时序信息、将更多的注意力分配到文本分类关键词上,因此得到更好的分类效果。

表2 数据集分类结果评测

5种模型在训练时间(单位:秒)、测试时间(单位:秒)与平均准确率(单位:百分比)的实验数据见表3。

表3 数据集训练时长

从表3中可以看出,本文提出的ResCNN-LSTMA模型由于提高了网络深度,导致训练时间与测试时间相对于除了RCNN外的其它模型略长。

对分类效果而言,ResCNN-LSTMA由于拥有深层网络,并通过更准确的时序特征信息、避免了梯度消失以及引入基于注意力机制,在分类的平均准确率上有更好的分类效果。

4 结束语

针对中文文本的特性,本文提出了一种CNN、残差结构、LSTM与注意力机制相结合的分类模型ResCNN-LSTMA对文本进行自动分类。首先利用分词、去停用词等预处理操作将文本转化为词集合,然后进行分布式表示,将词向量化。接下来在CNN中引入残差结构,建立具有注意力机制的LSTM网络结构,并融合上述两种网络结构,再利用softmax分类器获取最终分类结果。经实验,本文提出的ResCNN-LSTMA模型在分类结果上要优于实验中的其它模型,在分类效率上的差距不大,因此提升分类效率是接下来的研究重点。

猜你喜欢

网络结构残差卷积
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析
复杂网络结构比对算法研究进展