基于Att-CN-BiLSTM模型的中文新闻文本分类

2022-12-20 06:02阮进军
通化师范学院学报 2022年12期
关键词:注意力卷积向量

阮进军,杨 萍

近年来随着互联网技术的飞速发展,网络数据信息量呈现爆发式增长,预计2025年全球数据总量将会达到175 ZB[1].截至2020年12月,中国的互联网普及率达到了70.4%,其中网络新闻用户有7.43 亿人[2].为了让用户能从海量新闻数据中高效获取对自己有价值的信息,最常用的做法是采用文本分类技术,根据实际需求将相应类别的新闻推荐给用户.但是网络新闻涉及的内容繁多,中文文本的构词方式比英文复杂,导致中文新闻文本的词语特征维度非常大,传统文本分类方法已经不能很好地解决中文新闻文本分类问题.

1 相关工作

传统机器学习算法由于需要人工经验标注原始数据样本特征,在小型数据集上的文本分类效果较好,但在面对海量的互联网新闻文本信息时数据处理性能不佳.近年来,很多学者将深度学习算法应用于文本信息处理,获得了较好的效果.2013年,MIKOLOV 等[3]开发的Word2Vec 模型,采用CBOW 和Skip-gram框架将高维数据嵌入到一个低维空间,优化了文本词向量提取流程.2014年,KIM[4]提出的TextCNN 模型通过设置不同权重的卷积核提取文本原始特征,并使用最大池化获得了短语局部特征.SCHUSTER 等[5]设计了双向长短期记忆神经网络(BiLSTM),优化了模型提取文本前后时序特征的性能.近年来由于注意力(Attention)机制[6]可以从众多文本信息中挑选出与当前任务最相关的语义特征,在文本分类任务中得到较广泛的应用.胡甜甜等[7]利用注意力机制改造BiLSTM 模型,提高了模型对文本重要特征的提取能力.杨秀璋等[8]提出一种基于BiLSTM-CNN 的短文本分类方法,通过CNN 卷积层和池化层提取词向量局部特征,再利用BiLSTM 和注意力机制提取语义时序特征,提升了短文本分类效果.滕金保等[9]提出一种基于混合LSTM-Attention与CNN 的文本分类方法,将LSTM-Attention 与CNN 相结合,提高了文本语义特征提取效率.

为了进一步提升文本分类效果,本文在上述研究基础上提出基于注意力机制的Att-CN-BiLSTM 中文新闻分类模型.模型首先将中文新闻文本训练成连续词向量(本文采用Word2Vec 模型的Skip-gram 框架),然后分别利用CNN 和BiLSTM 获取文本语义特征,再将CNN 层和BiLSTM 层输出作为Attention 层的输入,通过计算注意力分值,有效融合了CNN 层和BiLSTM 层提取的新闻文本局部特征和前后时序特征,提升了模型中文新闻文本的分类准确率.

2 Att-CN-BiLSTM 模型

本文提出的基于注意力机制的Att-CNBiLSTM 模型主要包含词向量输入层、三个Block 块和全连接层,其中每个Block 块均由CNN 卷积层、BiLSTM 层、Attention 层构成,模型结构如图1所示.

图1 Att-CN-BiLSTM 模型

2.1 词向量输入层

词向量输入层的主要任务包含数据预处理和文本向量化.数据预处理阶段首先是去除文本中不规范数据,再对中文文本进行分词操作,最后去除没有实际意义但又频繁出现的停用词.文本向量化阶段使用Word2Vec的Skip-Gram 模型训练连续词向量,计算公式为:

2.2 CNN 卷积层

CNN 通常由若干个卷积层、池化层和全连接层组成,池化层不仅可以压缩提取主要特征还减少了网络计算参数,但同时也会破坏卷积特征图中隐含的其他信息.因此本文设计的CNN 层只设置了卷积操作,具体过程如下:

首先卷积层接收来自词向量输入层的一个k维的词向量Rk,假设Wi是其中第i个词向量,则一个长度为n的文本T可以表示为所有词向量的连接,即T=(x1⊕x2⊕…⊕xn),其中⊕是连接运算符.

随后卷积层利用256 个h×k的卷积核(表示为t∈Rhk)进行卷积运算.其中h是卷积核的高度(本文设为7),k是卷积核的宽度(需要和词向量维度保持一致,本文设为128).卷积过程中如果用xi:i+h-1表示输入的第i个到第i+h-1 个窗口词向量矩阵,那么由xi:i+h-1提取的一个特征yi可以表示为:

式中:W表示卷积操作权值矩阵(h×k维),b表示偏置项,f是非线性的激活函数,本文采用ReLU 函数.最终卷积得到的文本短语特征表示为:

2.3 BiLSTM 层

卷积操作可以提取相邻词向量之间的局部特征关系,但是难以处理文本前后时序关系,单独使用CNN 卷积模型进行文本分类效果不佳,因此本文设计的Att-CN-BiLSTM 模型将CNN 和BiLSTM 相结合,充分发挥两种模型优点,提升文本特征提取效果.BiLSTM 由正向LSTM 和逆向LSTM 组成,每个LSTM 的神经元都有三个输入信息,LSTM 单元结构如图2所示.

图2 LSTM 单元结构

图2中LSTM 单元主要包括输入门it、遗忘门ft和输出门Ot,若当前时刻为t,LSTM 计算公式如下所示:

式中:xt表示t时刻的输入,σ代表Sigmod 函数,tanh 代表双曲正切函数,ht是t时刻的输出向量.LSTM 每个神经元都通过“逐元素运算”和“激活运算”,选择和传递状态中有用的信息.由于LSTM 只能提取从前往后的文本前后时序特征,因此缺失了文本从后往前的时序特征.在文本分类任务中每时刻词语特征与该时刻的输入,以及上下文语境都相关,必须考虑当前词语前后两个方面的状态关系.因此本文选择BiLSTM 替代LSTM 模型,在每一个t时刻都要对文本序列进行从前往后的正向处理hL和从后往前的逆向处理hR,t时刻的BiLSTM 输出为:

2.4 Attention 层

利用注意力机制可以从众多特征中挑选出最重要的语义特征.本文通过计算CNN 层和BiLSTM 层输出的注意力分值,有效融合了CNN 层和BiLSTM 层提取的新闻文本语义特征.具体方法是首先根据式(6)计算CNN 卷积结果yi和BiLSTM 输出特征ht的余弦相似度Si,再根据式(7)利用Si计算注意力机制对应的权重值αi,最后根据式(8)利用αi计算得到融合后的文本特征向量v.

2.5 全连接层

模型通过堆叠3 层Block 完成文本语义特征提取后,将Block3 的输出特征向量v传递到全连接层,最后由Softmax 层输出类别标签的概率分布,其中概率值最大的类别标签就是模型预测结果,定义如下:

式中:W是参数矩阵,b是偏置值.

3 实验结果及分析

3.1 实验环境和数据

本文实验环境采用64 位Windows10 操作系统,Core(TM)i7-7700K 4.20 GHz,NVIDIA GeForce RTX 2080Ti,16 GB 内存,11 GB 显存,编程语言选择Python3.8,深度学习框架为TensorFlow2.6.

本文实验数据集采用清华大学自然语言处理实验室推出的新浪中文新闻THUCnews数据集子集,数据集中有10 个新闻类别,共计65 000 条新闻数据,实验随机选择其中50 000条作为训练集,10 000 条作为验证集、剩余的5 000 条作为测试集.

3.2 参数设置

本文提出的Att-CN-BiLSTM 模型训练采用mini-batch 梯度下降法,每个批次为128.参数设置如表1所示.

表1 参数设置

3.3 实验结果

实验评判标准采用分类任务中常用的准确率、精确率、召回率和F1 值.为了测试本文提出的Att-CN-BiLSTM 模型分类性能,将其与TextCNN、BiLSTM、Att-BiLSTM、BiLSTM-CNN 和MLACNN 模型进行对比实验.各模型的实验结果如表2所示.

表2 模型实验结果对比

分析对比表2数据可以发现,Att-CN-BiLSTM 模型的文本分类实验结果数据最优秀.相较于TextCNN、BiLSTM 和Att-BiLSTM,模型文本分类准确率分别提升了8.2%、3.5% 和3.1%.Att-CN-BiLSTM 通过计算注意力分值,实现了对CNN 和BiLSTM 提取新闻文本语义特征的有效融合,文本分类准确率明显优于采用单一模型的TextCNN 和BiLSTM,此外Att-BiLSTM 由于采用注意力机制增强了模型对词义中间特征重要程度的辨别,缓解了词义特征错误丢弃现象,与单一BiLSTM 模型相比文本分类效果更好,这表明注意力机制获取与当前任务相关的重要特征能力在文本分类任务中是有效的.Att-CN-BiLSTM 相较于同样采用CNN 和BiLSTM 混合模型结构的BiLSTM-CNN 和MLACNN,文本分类准确率分别提升了2.8%和2.7%.主要原因是BiLSTM-CNN模型将CNN 卷积结果输出到最大池化层压缩特征,丢失了文本原始信息的部分关键信息.MLACN 混合模型将数据同时输入到CNN 和BiLSTM 层后,再对两个模型的输出做了简单拼接处理,没有通过注意力机制实现两个模型的有效融合,导致文本语义特征提取不完善.从表2可以看出,Att-CN-BiLSTM 模型不仅文本分类准确率高于所有对比模型,其他性能指标也很优异.模型与分类效果较好的MLACNN 相比,精确率、召回率和F1 值分别提升了2.6%、2.7%和2.6%,进一步验证了Att-CN-BiLSTM 模型具备良好的文本分类效果.

为了进一步分析不同分类模型之间的差异,本文对各个模型的训练过程做进一步的探究,得出了各模型在训练集和验证集上的训练准确率和损失,如图3~图6所示.

图3 模型训练集准确率

图4 模型验证集准确率

图5 模型训练集损失

图6 模型验证集损失

由图3~图6可以看出.由于采用梯度下降和Adam 优化算法,实验模型在训练集上的训练速率都很高,损失收敛的速度也很快.但是大部分模型在训练集和验证集上的准确率差异较大,在训练第10 个周期附近,除本文提出的Att-CN-BiLSTM 模型外,所有模型的验证集损失都出现了较大幅度增长,这表明随着训练迭代次数的增加大多数对比模型都出现了过拟合.由此可见,Att-CN-BiLSTM 模型对比其他模型在中文新闻文本分类方面具有更好的有效性和泛化能力.

4 结语

本文提出一种基于Att-CN-BiLSTM 模型的中文新闻分类方法,该方法首先利用Word2Vec 将文本词向量训练成连续的词向量表示,再多次使用包含CNN 卷积层、BiLSTM层、Attention 层的Block 块提取文本语义特征.由于模型采用注意力机制优化了特征提取流程,大幅度提升了中文新闻文本分类的准确率.通过与其他模型对比实验,验证了Att-CN-BiLSTM 模型的优越性,下一阶段的研究工作是进一步优化模型结构,并应用于其他新闻数据集,提升模型的适应性.

猜你喜欢
注意力卷积向量
向量的分解
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用