APP下载

融合注意力与比较增强学习机制的情感分析

2022-02-25许青林

软件导刊 2022年1期
关键词:卷积向量神经网络

曹 轩,许青林

(广东工业大学 计算机学院,广东 广州 510006)

0 引言

随着互联网的发展,越来越多的人通过互联网平台发表观点。各种平台发表的文本包含了强烈的情感倾向,反映了用户的不同观点,这些内容丰富的文本信息是重要的数据资源,对这些海量文本进行情感分析具有重要意义。例如,通过分析人们对同一事件的不同看法,政府可以了解公众对社会事件和相关政策的看法;通过分析用户对产品的态度,公司可以优化更加符合公众需求的产品。情感分析的潜在价值激发了不同领域研究者的关注,如数据挖掘和自然语言处理。

情感分析又称意见挖掘[1],它是分析人们对产品和服务的态度和主观感受。文本情感分析主要对包含情感的文本进行分析、处理、归纳和推理[2]。当前,情感分析的主要方法有基于规则的方法和机器学习方法。与条件随机场等传统的机器学习方法相比,深度学习不需要人的干预,但需要海量数据来训练。基于深度学习的方法自动从不同神经网络中提取特征,并从自己的错误中学习[3]。神经网络模型通常由多个抽象的层次构成,并且可以使用非线性激活函数映射到其它层,因此它可以学习文本之间隐藏的深层特征[4]。文本情感分析领域常用的深度学习模型有递归神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional Neural Networks,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)[5]。研究发现,CNN能够准确地从局部句子中提取局部信息,而LSTM 能够更有效地跨距离提取上下文语义信息。同时,通过引入注意力机制过滤非相关信息,可提高模型的分类精度。

注意力机制最开始在计算机视觉[6]领域提出,并逐渐进入自然语言处理[7]领域。这种机制的目的是允许模型集中在重要对象上,这些对象在数学上表示为加权和。在Vaswani 等[8]的论文中构想了本文所应用的注意力机制。

上下文语义信息对于自然语言处理任务尤为重要,它代表文本的逻辑和结构。虽然CNN 和注意力机制可以分别获得局部结构和全局结构,但很难准确获取上下文语义信息。Cho 等[9]所构想出来的门循环单元(Gated Recurrent Unit,GRU)是LSTM 的一个变体。与LSTM 相比,GRU 拥有相对简单的体系结构,在一定程度上提高了模型训练效率。双向门控循环单元神经网络由前向传播的GRU 和后向传播的GRU 组成。前向和后向GRU 的输出状态是相连的,共同构成了神经网络。

现有的深层神经网络情感分析模型必须使用大量参数。本文在已有的深度神经网络架构上,引入比较增强学习机制以增强模型的学习能力,使用文本本身进行比较。比较是人们日常生活中最直观、最有效的分类方式。人们总是借助比较的方式来学习新事物。本文将情感分析任务重新定义为一个比较问题,避免使用太复杂的拟合学习模式,通过将文本向量与标记样本进行比较计算来获得相似得分。

本文的主要贡献总结如下:

(1)提出了一种充分利用双向门控循环单元(Bidirectional Gated Recurrent Unit,BiGRU)和CNN 优势的情感分析模型,该模型可以获得更为准确的情感特征来应对复杂的情感分析任务。

(2)在利用BiGRU、CNN 和注意力构建深层神经网络基础上,使用比较增强学习机制对模型进行改进。

(3)使用公共数据集来验证本文模型的有效性,并将其与一些经典方法进行比较。实验结果表明,与几种基准模型相比,混合网络情感分析模型(BGC-ACES)可以提高模型性能。

1 相关工作

1.1 情感分析任务

情感分析任务根据分类目标的不同分为二分类任务和多分类任务,在很多情况下,学者将文本的情感极性分为积极和消极两类,通常称为二分分类任务。这种简单的分类方法可以应用于许多实际情况,例如分析用户对某项商品或文学作品是否褒义,分析某种社会事件的舆论导向是否正确。在研究过程中,二分类也是评估模型分类能力的一项常见任务。

除此之外,多分类任务可分为情感层次分类和情感细分类。层次分类将文本的情感从消极到积极分为几个层次。细粒度的情感以情绪的类别作为基础来分类。这种分类没有共同标准,它通常视研究的问题而自定,如情感可分为喜悦、愤怒、悲伤、惊讶、厌恶、恐惧和中性。

1.2 情感分析方法

文本情感分析方法可分为情感词典法和机器学习法两大类,构建情感词典并将其作为工具是判断文本情感极性的传统方法[10]。大多数情感词典都需要人工构建,情感词具有较强的指示能力,是判别文本是否具有情感倾向的重要指标之一。当输入文本时,它与字典的内容相匹配,在文本中寻找情感词来确定文本的情感极性。然而,情感词典方法有着自身的空白地带,它没有覆盖足够的情感表达形式以及新的情感表达形式,使得情感判断的准确性相对较低。

机器学习方法与大量依赖人工工作的情感词典方法相比优势明显。文本情感分析的机器学习方法主要分为有监督情感分析和无监督情感分析。监督情感分析的基本原理是使用标记文本训练模型,使用训练模型对未标记文本进行情感分析。除了支持向量机(Support Vector Machines,SVM)、朴素贝叶斯(Naive Bayesian,NB)等传统的机器学习方法,还有如RNN 和CNN 等深度学习方法。Pang等[11]应用SVM、NB 和最大熵(maximum entropy,MaxEnt)3种具有代表性的分类器对文本情感分析任务进行实验研究,取得了较高的准确率;Kim[12]提出TextCNN 分类,成为情感分析任务的重要基准之一;Brueckner 等[13]在情感分析任务中使用BiLSTM(Bidirectional Long Short-Term Memory,BiLSTM),利用双向传播机制提取前向信息和后向信息来获得更深层次的特征;苏灵松等[14]利用卷积神经双通道记忆网络分别提取语义和情感特征;Wang 等[15]提出一种基于注意力机制(Attention Mechanism)的LSTM 用于方面情感分类,当以不同的方面作为输入时,注意力机制可以集中在句子的不同部分;Shen 等[16]提出一种新的LSTM,称为ON-LSTM,用于处理自然语言问题,在LSTM 中,神经元特定有序地表达更丰富的信息;朱烨等[17]提出了一种新的网络体系结构CRAN,在递归神经网络与基于卷积的注意力模型相结合基础上,进一步叠加一个基于注意力的神经模型来建立一个层次情感分类模型。近年来,该领域的新方法越来越多。许多研究者认识到深度学习方法的优点,并将其应用于文本情感分析任务以提高分类准确率。

2 BGC-ACES 模型

2.1 模型整体概述

本文使用一种新的文本情感分析方法设计了BGCACES 模型,该模型采用并行混合网络通道提取多种特征,由双向门控循环单元、卷积神经网络、注意力机制和比较增强学习机制组成,模型总体架构如图1 所示。

Fig.1 BGC-ACES model structure图1 BGC-ACES 模型架构

本文模型由多个通道组成,主体为3 个CNN 通道和1个BiGRU 通道,3 个CNN 通道主要用于提取句子之间词的不同局部特征,BiGRU 通道用于提取句子上下文语义信息。CNN 通道的输入是句子中的每个词,第1 层是嵌入层,其作用是将每个输入的词映射成向量表示;第2 层是卷积层,主要用于提取词与词之间的局部特征,本文将词嵌入向量的维度设置为200,3 个卷积核大小分别为3、4、5,卷积操作后得到句子的局部特征;第3 层是池化层,该层主要对卷积层获得的局部特征进行最大池化操作,提取句子之间最重要的特征,丢弃一些不相关和无用的特征,生成固定维数的特征向量,然后将最大池化操作输出的3 个特征通过注意力机制后,作为比较增强学习机制层输入的一部分进行拼接,通过3 个不同卷积核将3 个不同特征拼接起来,使接下来的句子情感分类获得更丰富的特征;第4 层是注意力机制层,主要提取句子之间相对重要的词信息。

BiGRU 的第1 层也是词嵌入层,词嵌入向量的维数设置为200;第2 层和第3 层分别是正向GRU 和反向GRU 结构,其隐藏层大小设置为128。由于当前输入词与前后的词有一定关系,因此输入序列从前后两个方向输入到GRU模型中,利用隐藏层保存前后方向文本信息,再将两个隐藏层的输出拼合起来,得到BiGRU 的最终输出;第4 层同CNN 模型一样,也是一层注意力机制。

BiGRU 主要用于提取句子中词的上下文语义信息。为了提取句子中词的更多特征,结合CNN 通道将这些特征和BiGRU 拼接在一起作为比较增强学习机制的输入。从词嵌入层随机选取35%的样本模板与其特征拼接在一起,利用隐层神经网络作为相似函数,得到分类的相似评分。最后对每个样本的相似评分进行加权求和得到最终结果。

2.2 词嵌入层

该层的主要功能是将文本语句表现为加权词向量矩阵。句子中的词开始通常用One-Hot 编码表示。One-Hot编码方法将词典中的所有词组合成一个长向量,维数等于词库中词的个数,每个维度对应一个词。然而每个词的向量是独立的,无法充分反映出词与词之间的关联性。当词数量较大时,维数也会很大,会造成维数灾难。

为解决这一问题,研究人员提出了分布式词向量[18]编码。其核心思想是将词表示为低维连续密集向量,具有相似含义的词将被映射到向量空间中的相似位置。本文模型使用Word2Vec[19]获得词向量。

2.3 局部特征提取

该模块的主要功能是从上下文信息中提取局部信息,其结构如图2 所示。

Fig.2 CNN model structure图2 CNN 模型结构

词嵌入层的输出为卷积层输入,句子中每个词向量为xi,xi∈Rn×d,其中n是词数量,d是向量维度。

对其进行卷积操作,使用卷积核对输入文本句子进行特征提取:

式中,w为卷积核,h为卷积核尺寸,i:i+h- 1 为i到i+h- 1 个词组成的句子向量,b为偏置项。通过卷积层后,得到特征矩阵C,C= [c1,c2,…,cn-h+1]。

池化层通过句子的局部特征矩阵C使用max-pooling求得局部值最优解,公式如下:

2.4 上下文语义信息提取

该模块的主要功能是从句子中提取上下文语义信息。

文本拥有显著的连续性,因此从文本的上下文正确提取语义信息非常重要。为了反映文本的序列特征,LSTM可以用来建立序列模型。然而,LSTM 模型结构复杂,训练周期长。GRU 是LSTM 的变体,不同之处主要是使用更新门代替LSTM 中的输入门和遗忘门,模型结构的复杂度相对变得简单,减少了训练参数并且时间代价较低。

其模型结构如图3 所示,具体过程如式(3)-式(7)所示。

其中,rt为重置门,zt为更新门,ht为隐藏层状态输出,yt为GRU 输出,Wr、Wz、Wh、Wo分别表示各个状态的权重矩阵,σ和tanh表示激活函数。

Fig.3 GRU model structure图3 GRU 模型结构

GRU 只考虑当前项的上文,未考虑到下文信息,为解决这一问题,采用双向门控循环单元神经网络不仅可以充分提取上文信息,还能考虑到下文信息对当前项的影响,其主要由两个单向的GRU 组成,输出由这两个GRU 决定。其网络结构如图4 所示,具体过程如式(8)-式(10)所示。

Fig.4 BiGRU model structure图4 BiGRU 模型结构

其中,分别表示GRU 向前传播的输出和向后传播的输出,y表示BiGRU 的输出,W表示权重矩阵,b表示偏置项,σ为sigmoid激活函数。

2.5 注意力机制

人们有选择地关注他们关心的信息而忽略其他信息。注意机制在文本情感分析中可以借助权重分配的方式,将不同词的词向量概率权重计算出来,使一些词能够吸引更多人注意,将重要的词凸显出来。注意机制可以抽象为编码器和解码器两个模块。编码器对输入数据进行某种转换以获得语义向量,译码器对语义向量经过一定的变换后得到输出数据,其模型结构如图5 所示。

Fig.5 Attention mechanism model structure图5 注意力机制模型结构

假设xt为卷积神经网络或双向门控单元循环神经网络提取到的特征向量,通过神经网络得到xt的表示如下:

其中,Wl是权重矩阵;bw是偏置项。对得到的隐层表示用soft max函数进行归一化处理得到全局矩阵,如公式(12)所示。

最后用特征向量dt和全局矩阵进行加权求和,获取文本中每一个词的重要性信息的文本向量ct,如公式(13)所示。

2.6 比较增强学习机制

使用比较增强学习机制来增强模型的学习能力。比较增强学习机制通过与样本的比较,对融合神经网络层生成的句子嵌入进行评分。从标记的训练数据中采用随机方法选取相等的积极样本和消极样本,然后生成这些样本相应的句子向量,其模型结构如图6 所示。

Fig.6 Comparison and reinforcement learning mechanism model structure图6 比较增强学习机制模型结构

样本的词向量从嵌入层得到,并通过对句子中所有的词向量拼接得到样本向量生成积极或消极样本的句子向量。

以隐层神经网络为相似函数得到分类的相似性得分。神经网络的输入是将句子嵌入向量和样本向量连接起来。输出层大小为1,隐藏层V为句子向量的长度。相似评分Score计算如下:

神经网络用两个线性变换和偏置表示,参数分别为W1、b1、W2、b2,其中s表示句子嵌入向量,Sample表示样本向量。

每个样本都可用句子嵌入来计算相似度分数。对它们进行加权求和求得相似度分数,然后得到比较增强学习机制的结果。结果r的计算如下:

式中,wi表示每个分数的权重。使用一层神经网络来计算权重,K表示所选样本大小。

3 实验

3.1 实验环境

本文采用现在最为流行的框架Tensorflow 进行实验,实验环境配置如表1所示。

Table 1 Experimental environment configuration表1 实验环境配置

3.2 实验数据与评价指标

本文实验使用的数据集是酒店评论(CHR)[20]和产品评论(CPR)[21]。CHR 来自旅行应用程序,总共有10 000 条评论,包括7 000 条积极评论和3 000 条消极评论;CPR 来自购物网站的用户评论,总共有52 774 条评论,包括26 728条积极评论和26 046 条消极评论。两个数据集按9∶1 的比例分为训练集和测试集。数据集详细信息如表2 所示。

Table 2 Data set表2 数据集

本文使用accuracy 作为模型评价指标,accuracy 是分类模型中最重要的一个评价指标,表示正确分类样本在总体中的比,定义如下:

其中,TP为积极评论归类为积极的数量,FP为消极评论归类为积极的数量,TN为消极评论归类为消极的数量,FN为积极评论归类为消极的数量。

3.3 数据预处理与参数设置

应用分词工具jieba 对数据集中的数据分词,再将情感词典中的情感词添加到jieba 的自定义字典中,以防止句子中的情感词被分离成多个词,最后在分词结果中去掉停止词和符号。

模型的最佳参数根据先前模型进行选择,并通过手动测试进一步微调。在BGC-ACES 模型中,3 个通道的卷积核大小分别为3、4、5,选择二进制交叉熵作为损失函数,优化器为Adam,超参数的详细设置见表3。

Table 3 Parameter settings表3 参数设置

调整每个参数时,其他参数维持恒定。图7 显示不同参数值对两个测试集的影响。

3.4 比较学习增强机制样本大小选择

本文研究了不同样本量对比较学习强化机制的影响。样本大小指正、负样品的数量。图8 显示不同样本尺寸的实验结果。样本数量少,比较学习机制没有明显增强;当样品尺寸大于35%时,样品尺寸对模型性能的影响下降。

3.5 对比实验设置

将本文模型与几种常用模型进行比较。为了使对比的结果更具有可比性和准确性,每个模型选取同样的参数值。

(1)NaiveBayes、SVM:机器学习经典模型。

(2)CNN:CNN 由3 个卷积核大小分别为3、4、5 的卷积神经网络组成。

(3)BiLSTM:BiLSTM 层节点数为128。

(4)BiGRU:BiGRU 层节点数为128。

(5)CNN+BiGRU:把3 个卷积核大小分别为3、4、5 的CNN 与隐藏节点为128 的BiGRU 网络并行连接。

(6)CNN+BiGRU+Attention:把3 个卷积核大小分别为3、4、5 的CNN 与隐藏层节点数为128 的BiGRU 网络并行连接,在此基础上引入注意力机制。

(7)BGC-ACES:把3 个卷积核大小分别为3、4、5 的CNN 与隐藏层节点数为128 的BiGRU 网络并行连接。在引入注意力机制之后,引入比较增强学习机制。

Fig.7 Accuracies of the test set under different parameters图7 不同参数下测试集的准确率

Fig.8 Experimental results of different sample sizes图8 不同样本数量的实验结果

3.6 实验结果

与常用情感分析模型(NB、SVM、BiLSTM、CNN 和BiGRU)在数据集上分析情感效果。通过表4 可知,深度学习模型(CNN 和BiGRU)的分类性能明显优于机器学习模型(NB 和SVM)。在深度学习模型基础上,加入注意力机制可以提高模型的分类性能。与常用的深度学习模型相比,本文综合CNN、BiGRU、注意力和比较学习增强机制提出的模型在分类性能上得到提高。

Table 4 Experimental results of different models表4 不同模型实验结果

在CHR 数据集中,正负样本不平衡。为了更好地证明BGC-ACES 模型的性能优势,采用precision、recall和F1 评价指标对模型进一步评价,这些评价指标表示如下:

在不同的CHR 和CPR 数据集上进行实验,评估度量值如图9 所示。从图9 不难看出,即使在不平衡的数据集上,本文模型的分类结果也相对较好。经过一系列实验,可以得出BGC-ACES 模型达到了较高准确率的结论。

Fig.9 Performance comparison of two different data sets图9 两个不同数据集性能比较

4 结语

本文提出了一种基于注意力和比较增强学习机制的混合网络模型(BGC-ACES)。根据CNN 和BiGRU,将注意力和比较学习增强机制融为一体,可以在更深层面上提升其准确率。对实验结果进行分析,可以发现该模型比其他情感分析模型准确率更高,在CHR 和CPR 两个数据集上的最高准确率分别达到92.2%、94.1%。该模型用来分析用户评论,可帮助商家获得更准确的客户反馈并据此改进其产品和服务。

后续研究将考虑引进最新技术,如基于BERT、XLnet的预训练词嵌入,将知识纳入模型,使用基于方面的情感分析来挖掘更细粒度的情感信息。

猜你喜欢

卷积向量神经网络
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
向量垂直在解析几何中的应用
基于神经网络的拉矫机控制模型建立
向量五种“变身” 玩转圆锥曲线
复数神经网络在基于WiFi的室内LBS应用