融合LSTM和注意力机制的新闻文本分类模型
2022-09-08孙刘成黄润才
孙刘成, 黄润才
(上海工程技术大学 电子电气工程学院,上海201620)
0 引 言
随着互联网技术的飞速发展,如何在海量的文本信息中,快速准确地获取人们所需,成为一项值得研究的课题。目前,常用的文本分类技术包含两类:一种是基于机器学习的算法,如支持向量机(support vector machine,SVM)[1]、K最近邻(K-nearest neighbour,KNN)[2]、朴素贝叶斯[3]、决策树等。机器学习的文本表示通常是高纬度,并且需要人工提取特征[4],在处理海量的文本数据时,会有很大的时间和经济成本。第二类是基于深度学习的方法,Bengio Y等人[5]提出了神经网络语言模型,奠定了深度学习模型在自然语言处理中的基础。
深度网络可以利用网络分层、网络嵌套代替手工提取文本特征。在机器学习中常用的词向量是词袋模型[6],这种方式会带来特征高纬度问题,而深度学习采用分布式表示[7],可以将文本特征训练为低纬度的向量,再提取特征,高效解决特征提取问题。
1 相关工作
近些年,深度学习在语音处理、图像识别等方面取得巨大成功。研究人员已经将深度网络迁移到自然语言处理中,尤其在文本分类任务中,许多神经网络都取得不错的效果。Conneau A等人[9]将深度学习网络应用于自然语言处理方向,提出基于字符级深度的网络(VDCNN)用于文本分类。Qian Q等人[10]没有扩大模型,而是通过控制损失函数的方法,把语言规则结合到LSTM模型中。Lai S W等人[11]在学习单词特征时,采用循环神经网络(recurrent neural network,RNN)来捕捉上下文特征信息,采用最大池化方式来提取关键词。赵明等人[12]分别比较了SVM、卷积神经网络(convolutional neural network,CNN)和LSTM模型在饮食健康文本的分类效果,只是针对饮食健康文本分类,语料单一,结果不具有普遍性。
如何更好地特征提取,得到更好的分类结果,提出了一种融合LSTM和Attention机制的新闻文本分类模型。首先使用词嵌入将文本向量转换到低维空间,然后利用LSTM网络对词向量进行处理,在提取特征的同时要考虑特征词的上下文语义。同时引入Attention机制,其在选取的特征中会根据词语表达句子意思的重要程度进行二次分配权重。模型在2个数据集上进行实验,分类准确率都有提升。
2 LSTM-A分类模型
为提高文本分类的准确率,提出了融合LSTM和Attention机制的新闻文本分类模型,其结构如图1所示。模型主要包括3个部分:第1部分是Word2Vec训练词向量并提取特征;第2部分是神经网络LSTM训练提取特征,利用门控结构,更好保留文本的信息;第3部分是Attention机制,利用LSTM得到隐藏层的输出,引入Attention为每个词重新分配权重。
图1 LSTM-A分类模型结构
2.1 Word2Vec词向量
NLP任务中最常见的一步就是创建词列表,熟知的就是One-hot编码。这种方式是把每个词顺序编号,每个词都有很长的向量,对应的位置为1,其他位置都是0。这种方法最大问题就是向量的高纬度,本文采用的是更加先进的Word2Vec词向量模型。
Word2vec是由Google在2013开发的词向量工具,主要是利用词的上下文及上下文与目标词之间的关系建立模型。主要优点是可以将高纬度向量嵌入到低纬度空间,并且保留词向量之间的位置关系。 Word2vec主要包含CBOW模型和Skip-gram模型,其中CBOW模型是已知上下文W(t-2),W(t-1),W(t+1),W(t+2)的信息,对当前时刻W(t)做出预测。相反,Skip-gram模型则是利用当前词预测上下文信息。本文采用的是CBOW模型,其结构如图2所示。
图2 CBOW模型
CBOW主要包含输入层、投影层以及输出层。从输入层到投影层,它是前后文向量的累加和。它是默认词与词之间是相互独立,忽略了词序位置关系。针对CBOW模型会忽略词序信息,无法提取全局信息的问题,提出限定上下文滑动窗口的方法。一定程度可以保留词的位置信息,同时也可以缓解向量高纬度的问题。本文的滑动窗口大小为4,采取这样的方式,能更好保留文本中的词序信息。
2.2 LSTM网络
RNN被广泛用于处理长序列问题,由于RNN会有梯度消失和梯度爆炸问题[13],本文采用其另外一种特殊的形式LSTM网络。它是专门用来避免长期依赖问题,并且可以保存之前的历史信息。
LSTM利用其特殊的门控结构,主要包括输入门、输出门和遗忘门,有选择地影响每个时刻的状态。输入门是控制当前单元的输入,输出门是控制当前LSTM单元的输出,遗忘门是控制上一时刻单元中存储的历史信息。其结构如图3所示。
由以上公式可知,清洁机器人的吸附稳定条件为:吸附力系合力P与重力G合力的作用锥δ<θ时,清洁机器人没有下滑趋势;当α≤β时,机器人没有翻倒趋势,或者当α> β时,翻倒力矩小于附着力矩。清洁机器人的吸附稳定条件用公式表示为:θ时,清洁机器人没有下滑趋势;当α≤β时,机器人没有翻倒趋势,或者当α
图3 LSTM单元结构
其中,存储单元C为控制参数,主要决定什么样的信息会被保留,什么样的信息会被遗忘。记t时刻的输入门、输出门和遗忘门分别为it,Ot,ft,则LSTM门控机制前后时刻状态更新方法为
ft=σ(wf[ht-1,xt]+bf)
(1)
it=σ(wi[ht-1,xt]+bi)
(2)
(3)
Ot=σ(wo[ht-1,xt]+bo)
(4)
(5)
式中σ()为Sigmoid激活函数,tanh()为双曲正切函数,wi,wo,wf依次为输入门、输出门和遗忘门的权重矩阵;bi,bo,bf分别为三个控制门的偏置。ft和ct-1的计算决定丢弃什么信息;it为要保留的信息;ct为新数据形成的控制参数;ht为利用新的参数产生输出。
2.3 Attention机制
Attention机制是一种资源分配机制,对于重要的内容分配较多的注意力,对于其他内容分配较少的注意力。Attention机制本质是将序列通过一种方式计算为中间状态,随后计算输入序列的注意力概率分布。
3 实验与结果分析
3.1 实验数据
为了验证本文方法的有效性,分别在2个公开数据集上实验,使用准确率、召回率等作为评价标准。数据集介绍如表1所示。
表1 语料库概要
3.2 评价标准
采用常规的评价标准:召回率、准确率、F1值,它们的计算公式用到混淆矩阵,矩阵如表2所示。
表2 混淆矩阵
1)召回率R表示预测正确类别在所有正确样本中所占比重,计算公式如下
(6)
2)准确率A表示实际正确样本占总样本的比例,计算公式如下
(7)
3)F1值表示精确率和召回率综合的一个指标,计算公式如下
(8)
式中P为精确率,其计算式为
(9)
3.3 结果分析
为验证模型的优越性,选取2个数据集在多种算法上做对比实验。选取部分结果分析。
实验120 Newsgroups数据集的实验结果如表3所示。
表3 20 Newsgroups实验结果 %
其中,行和列分别表示实验的评价标准和不同的分类模型。从表3所示的结果可以分析,在20 Newsgroups数据集上实验的基准模型有贝叶斯、KNN、随机森林、CNN,LSTM,LSTM-A模型。从准确率、召回率及F1值的比较结果可以看出,每个模型的分类结果都较好。总体而言,深度学习模型要优于机器学习模型,总体准确率平均提高6.52 %,召回率平均提高5.8 %,F1值平均提高7.06 %。
通过深度学习里的CNN及LSTM获取文本特征的模型原理进行分析,CNN通过卷积操作只能获得文本的局部特征,这样会造成重要信息的丢失。而LSTM模型可以获取文本序列的长期依赖,尽可能多地保留文本的特征。文本方法在LSTM网络后面又加入了Attention机制,可以为前面LSTM网络保留的文本特征分配不同的资源权重,加强了关键文本特征的权重。
实验2为验证本文模型在中文数据集多分类也存在优越性,将采用清华大学推出的中文数据集THUCNews,由于实验样本太大,选取其中7个类别作为样本数据,实验结果如表4所示。
表4 THUCNews实验结果 %
从表4的实验结果数据可以分析出,本文模型在中文数据测试的结果依然是最好的。在中文文本分类中,深度神经网络表现都比较突出,比传统的机器学习模型分类效果好,基本都达到90 %以上。LSTM分类模型和LSTM+CNN模型对比来看,LSTM网络本身就考虑到序列问题,可以“记忆”前文的信息,所以分类效果都比较不错,而在其后面加入CNN,再次把信息局部化处理,使得分类结果有一定的提升。而本文方法是选择在LSTM网络后加入Attention机制,利用它可以计算文本中每个词概率分布值,更好地提取关键词文本特征,对于文本的分类结果是有很大的提升。再次验证本文方法对于提高文本分类的性能是有效的。
4 结束语
本文提出一种融合LSTM和注意力机制的新闻文本分类模型,旨在融合LSTM具有长期“记忆”特性和Attention机制为重要文本特征分配权重的特性。通过在2个中英文数据集上进行实验,结果表明:在LSTM网络后面引入Attention机制,能够更好地捕捉到文本的关键信息,提高分类的准确率。
由于硬件的限制,有的数据不是特别大,同时对输入的数据进行了长度限制,导致对于长文本分类结果不理想。所以,如何在更大规模数据集及较长的文本上也取得突出的分类效果,将是下一步的工作重点。