张永成,王怀彬
(天津理工大学 计算机科学与工程学院,天津 300384)
随着互联网技术的飞速发展,人们在社交网络上的交流愈发活跃,愈来愈多的网络用户通过社交媒体发表自己的意见和评论。对网络评论文本中的信息进行情感分析和信息挖掘,有助于更高效地作出决策[1]。文本情感分析又被称为意见挖掘[2],它运用自然语言处理、文本挖掘和计算机语言学等方法,遵循对需要处理的主观信息加以识别和提取的原则。将具有主观情绪的文本加以处理、分析和推理,进而提取出其中的感情倾向是文本情感分析的主要任务。因其在微博舆情分析、电商打分评价系统和新闻报道感情分析等任务中有着较为广泛的应用,所以自面世以来就受到了研究领域内外的广泛关注和认同。尽管在被关注前,就已有相关领域人员做过类似的深入研究,但限于互联网等条件影响,无法进行大规模的研究。随着时代的发展,大数据时代的到来,获得信息的途径不断增加,如何在获取的互联网的海量文本中提取更有意义的信息,是当前需要解决的问题,也是相关领域中备受关注的热门研究话题。
近年来,基于深度学习的方法在自然语言处理领域的情感分析子任务中有许多成功案例[3]。在情感分析任务中,现有的深度学习模型常常用softmax函数做最后的分类输出,但softmax在输出层面上并不会考虑上下文之间的关系,这会直接导致输出结果可能产生错误。
针对上述问题,本文提出一种基于注意力机制(attention)结合双向门控循环神经网络(bidirectional gated recurrent unit neural network,BiGRU)和条件随 机 场(conditional random field,CRF)的Att-BiGRU-CRF模型,该模型使用BiGRU捕捉文本的语义结构和特征信息,通过注意力机制调整偏重,同时使用CRF作为分类器,在输出层也考虑了上下文之间的关系,有效地提高了输出结果的准确率。
目前,文本情感分析的方法主要包含以下3种:基于词典的文本情感分析方法、基于机器学习的文本情感分析方法和基于深度学习的文本情感分析方法[4]。随着计算机技术的飞速发展,数据大爆炸时代的到来,基于词典的文本情感分析方法和基于机器学习的文本情感方法逐渐退出历史的舞台,基于深度学习的文本情感分析方法已经有了较为成熟的应用。
孙志远等[5]提出了深度学习的概念,神经网络等技术由此应运而生。起初,神经网络应用于图形图像处理领域,但随着科研人员的不断研究与探索,深度学习的核心技术逐渐得以成熟,因此神经网络技术在其他领域也得到了广泛的应用。在自然语言处理领域,研究人员也开始尝试将深度学习和神经网络技术融入其中。LECUN等[6]将卷积神经网络(convolutional neural networks,CNN)应用到文本情感极性研究领域。KIM[7]首次将CNNs应用到文本分类任务上。MIKOLOV等[8]提出将循环神经网络(recurrent neural network,RNN)应用到文本分类任务,RNN能够充分学习上下文文本之间的关系,但是存在着一系列梯度爆炸和信息丢失等问题[9]。为了解决RNN在情感分析任务中出现的问题,长短时记忆网络(long short-term memory,LSTM)[10]、门控循环单元[11]、双向长短时记忆网络(bidirectional long short-term memory networks,BiLSTM)和BiGRU[12]等方法被接连提出。
注意力机制起初应用于计算机视觉图像领域,为了解决模型训练时间过长和文本特征提取不充分等问题,研究人员开始将融合注意力机制的神经网络模型应用于自然语言处理领域。文献[13]提出了基于注意力机制的C-GRU模型,该模型能够更有效地捕捉文本信息,相比于传统模型,其准确率和综合评价值得到了提升。郑雄风等[14]提出了BiGRU和注意力机制的用户和产品文本分类模型,达到了提高模型的训练速度和准确率的效果。赵勤鲁等[15]提出了LSTM-注意力机制模型,该模型能够更加充分地提取文本语义结构信息。朱星嘉等[16]提出了改进的基于注意力机制的LSTM特征选择模型,有效地突出了文本的重点特征信息。白静等[17]提出使用BiLSTM-CNN-注意力机制的混合神经网络结构进行2种特征融合的分类。司念文等[18]提出的注意力机制和LSTM混合模型能有效地对中文词性进行标注。
与现有的研究不同,本文使用BiGRU减少了模型的参数,解决了训练时间长和梯度消失问题,并且融合了注意力机制,突出文本的重点信息,进一步提取文本的语义特征。本文还结合CRF分类器,输出最优序列结果,避免了非法输出问题,以期模型得到更高的综合评价值,达到更好的情感分类效果。
本文提出的Att-BiGRU-CRF模型框架如图1所示。其主要由3个部分组成:BiGRU神经网络、注意力机制和CRF分类器。
图1 Att-BiGRU-CRF模型框架Fig.1 Att-BiGRU-CRF model framework
该模型在情感分析任务中的处理流程如下:
1)嵌入层:该层将预处理后的语料数据通过预训练词向量以词嵌入的方式转换成词向量输入到下一层。
2)BiGRU层:将嵌入层输出的词向量作为BiGRU语言模型的输入,通过BiGRU提取文本的语义信息和特征结构。
3)注意力机制层:通过注意力计算学习每个词语对句子情感倾向的权重,从而学习到对分类结果影响较大的重点词语,突出词向量的重点信息。
4)CRF层:将CRF作为分类器,获取情感标签,计算序列最优解,输出最终结果。
门控循环记忆神经网络[19](gated recurrent unit neural network,GRU)是对LSTM的一种简化与改进的神经网络模型。在LSTM神经网络模型中,一个LSTM模块是由输入门(it)、遗忘门(ft)和输出门(ot)3种门控单元组成的。输入门(it)确定哪些信息必须存储在神经单元中,遗忘门(ft)确定哪些信息必须被丢弃,输出门(ot)则显示最终结果。而在GRU神经网络中,LSTM中的3种门控单元被更新门(zt)和重置门(rt)所取代,通过这种方式减少模型的参数和张量,使得GRU比LSTM更简洁、更高效,GRU单元如图2所示。
图2 GRU单元Fig.2 GRU unit
GRU通过一个当前输入xt和上一个节点传递下来的隐状态ht-1来获取两个门控的信息。
重置门rt:
更新门zt:
得到门控信息后,将当前输入xt与重置后的数据进行拼接,再通过tanh激活函数激活得到当前隐藏节点的输出:
最后进入“更新记忆”阶段,更新表达式为:
式(1)、式(2)和式(3)中,Wr、Wz、W表示相对应的权重矩阵。
注意力机制[20]就是从大量信息中选择相对重要的信息。注意力机制可以表征文本句子中单词与输出结果之间的关联,并显示句子中每个单词的重要性,因此可以成功地应用于自然语言处理的各种任务。注意力机制的核心思想是将注意力权重α输入到输入序列当中,对相关信息的位置集进行优先考虑,以生成下一个输出特征。在本文提出的模型中,注意力机制主要对输入矩阵H进行注意力计算,使模型在进一步提取特征时,将注意力集中在与情感相关的词语上,弱化与情感无关的干扰词的权重,从而达到提高模型正确率的效果。首先将输入矩阵H中的每个隐状态与方面向量va,i相拼接,然后计算注意力值,最后,再通过加权平均的方法来确定有关特定方面的文本表示vc,i。具体计算公式为:
式中,i为第i个方面注意力模块,Wa,i为注意力的权重矩阵,ba,i为注意力的偏置项。
CRF模型是由LAFFERTY等[21]提出的一种无向图模型,它结合了最大熵模型和隐马尔科夫模型的特点,是典型的判别式模型,通常应用于序列标记的任务中。CRF的参数化表达式中定义了状态特征函数、状态转移函数和预测序列的条件概率公式[22]。
定义矩阵Pm×n为Att-BiGRU层的输出,n=[Max_length×0.8],[]表示取数值的整数部分,Max_length表示语料数据的最大句子长度,m表示标签类别的个数,Pij表示句中第i个字是第j个标签的概率。定义状态转移矩阵A(m+2)×(m+2),其中Aij表示在一个连续的时间段内,第i个标签转移到第j个标签的概率。对于预测序列y,其概率可以表示为:然后通过softmax层计算出所有类别标签的概率。
相比于逐帧softmax,CRF在输入层显著地考虑了上下文之间的联系,应用在情感分析任务中可以避免一些非法的输出。因此,本文采用CRF作为模型的分类器,以输出情感分析任务的最优结果,提高输出的正确率。
实验数据集使用的是谭松波老师的酒店评论语料,数据集内分为2个文件夹,分别为pos文件和neg文件,每个文件内有2 000个txt文件,共4 000条酒店评论文本。其中,pos文件夹内的数据带有标签1,表示好评;neg文件夹内的数据带有标签0,表示差评。将数据随机打乱顺序后,以9∶1的比例划分,取其中3 600条数据作为训练样本,其余400条数据作为测试集。实验数据划分如表1所示。
表1 实验数据划分Tab.1 Statistics of experimental data
在实验中,预训练词向量模型采用的是北京师范大学中文信息处理研究所与中国人民大学数据库与智能信息检索实验室(database &intelligent information retrieval laboratory,DBIIR Lab.)的研究者开发的预训练词向量模型(Chinese-wordvectors),其中每个词向量的维度为300维。在模型参数设置中,隐藏层维数设置为216,学习率设置为0.001,epoch设置为50,batch-size设置为20。同时在每层神经网络中加入dropout层,dropout设置为0.5,已达到避免过拟合现象发生的目的。梯度更新规则使用的是Adam优化器。
评价标准使用深度学习中常用的3种评价标准,分别为准确率(Pacc)、召回率(Prec)和综合评价值F1,计算公式为:
式(8)、式(9)和式(10)中,TP表示真阳性,即判断正确且把正的标签判断为正的数量;TN表示真阴性,即判断正确且把负的标签判断为负的数量;FP表示假阳性,即判断错误且把负的标签错判为正的数量;FN表示假阴性,即判断错误且把正的标签错判为负的数量。
为了验证本文提出的模型的优越性,本文设置了3组对比模型:
1)BiGRU:它能够捕捉词语的前后时间关系,有效地提取词语之间的依赖关系。
2)Att-BiLSTM:融合注意力机制的BiLSTM,能够突出重点词向量信息。
3)Att-BiGRU:融合注意力机制的BiGRU模型,能够针对有效词语提取特征,避免无意义词语对情感的干扰。
将本文提出的Att-BiGRU-CRF模型与3个对比模型在谭松波老师的酒店评论语料数据集上进行实验对比,以准确率、召回率和F1为评价指标,验证本文模型的有效性及优越性。每个模型训练10次,实验结果取平均值,不同模型在数据集上的分类结果如表2所示,实验结果如图3所示。
表2 不同模型在数据集上的分类结果Tab.2 Classification results of different models on the dataset
图3 实验结果Fig.3 Experimental result
由表2和图3可知,Att-BiGRU模型对比于BiGRU模型,准确率提高了3.79%,召回率提高了0.57%,F1值提高了2.09%,这表示注意力机制的加入使得模型能够进一步提取文本的语义信息,达到提高情感分类的效果;Att-BiGRU模型对比于Att-BiLSTM模型,准确率提高了0.65%,召回率提高了0.84%,F1提高了2.09%,这表示BiGRU神经网络的性能要优于BiLSTM神经网络,训练速度更快,分类结果更好;Att-BiGRU-CRF模型对比于Att-BiGRU模型,准确率提高了4.54%,召回率提高了2.04%,F1值提高了3.27%,这验证了CRF结合注意力机制在情感分析任务中的可行性及优越性,表明了本文提出的方法能够有效地解决情感分析任务中文本特征提取不充分和分类结果准确率低的问题。
本文提出了一种结合注意力机制与CRF分类器的Att-BiGRU-CRF模型,首先通过BiGRU充分提取文本语义信息,然后使用注意力机制学习每个词语对句子情感倾向影响的权重,进一步提取重点词语的特征结构,最后使用CRF分类器输出最优分类结果。该模型能够有效地解决现有情感分析任务中训练时间长、特征提取不充分等问题,实验结果验证了本文提出的方法的有效性。未来工作中,将结合汉字拼写自动纠错知识,针对情感分析任务,进一步提高模型的准确率。