基于图注意力神经网络的中文隐式情感分析
2021-12-21杨善良
杨善良,常 征
山东理工大学 计算机科学与技术学院,山东 淄博255000
情感分析是自然语言处理领域的关键技术之一,分析文本中包含的情感、态度、观点、情绪等因素,识别文本表达的情感类别。随着网络社交媒体的快速发展,网络舆情、网民情绪、危机事件等对社会、经济和政治产生越来越大的影响,情感分析技术成为网络舆情分析和预测的核心技术,受到学术界和业界的广泛关注和研究。近年来,很多情感分析方法被提出,特别是在深度学习和神经网络技术得到应用之后,文本情感分析的准确率得到提升。但是情感分析技术仍然面临很大的挑战,例如在隐式情感分析方面的效果还不太好。
情感分析包含显式情感分析和隐式情感分析,在以前的研究中没有严格的区分,但是两者存在明显差异。显式情感中包含了情感词、情感转折词、副词等明确表达情感信息的词语,可以使用规则方法和机器学习方法进行识别。隐式情感中不包含情感词语,很难直接判断其情感类别,语义表达更加含蓄。表1给出了隐式情感语句的例子,三个例句分别表达了正面、负面和中性的情感,虽然在语句中找不出明确表达情感的词语,但是仍然能够表达出正面和负面的情绪。例如“满满的回忆,很多那个时代的元素。”表达了正面情绪,带有正面的情感色彩。
表1 隐式情感语句实例表Table 1 Instance table of implicit sentiment sentences
隐式情感分析的研究已经受到关注,隐式情感分析模型多采用神经网络模型和注意力机制。文献使用BiLSTM循环神经网络和GCN图卷积神经网络研究中文文本隐式情感分析[1-2]。隐式情感分析的困难主要在于以下三个方面:不包含情感词语,情感特征提取更加困难;语句中的词语属于客观词或中性词,通过上下文语义产生不同情感,语义特征提取困难;对主观情感倾向的表达比较委婉,与认知背景相关,没有标准定义。
根据以上困难,可以提出两个假设:第一,语言环境中的词语之间会有影响,相互作用产生不同情感;句子中词语对情感表达的重要性不同。为了表示词语之间的相互影响和词语情感表达的差异,本文提出基于图注意力神经网络的情感分析模型ISA-GACNN,用图模型表示词语之间、词语和句子之间的关联关系,用注意力机制计算词语对情感表达的重要性。对注意力机制进行改进,由于多头注意力的存储信息存在重复叠加的情况,借鉴文献中的正交注意力模型[1],使用注意力正交约束多头注意力存储不同的情感信息,保证注意力之间的差异性;语句中一般存在部分词语对情感表达非常重要,借鉴文献中限制删除词语和保留词语数量的约束[3],使用分值约束使注意力权重关注若干个重要词语。
1 相关工作
近年来情感分析成为自然语言处理领域的热点研究方向,情感分析方法可以分为基于规则的方法、基于机器学习的方法、基于深度学习的方法。随着情感分析研究的深入,隐式情感分析得到越来越多的关注。从隐式情感分析和图神经网络两个方面分析隐式情感分析的相关研究工作,并在前人的研究基础上阐述本文的研究动机。
1.1 隐式情感分析
隐式情感分析在没有显式情感词语的情况下,识别文本的情感类别,比显式情感分析任务更加困难。词语语义表示和隐式情感表示是隐式情感分析研究的基础问题。文献使用基于特征的方法分析隐式情感,通过挖掘潜在的情感模型,识别方面级情感和观点级情感[4]。文献提出基于知识的词语歧义消解方法,从而减轻词语歧义对隐式情感分析的影响[5]。
词语语义表示在隐式情感分析任务中起到关键作用,在词语语义表示的基础上使用注意力机制分析文本中蕴含的情感信息,能够有效提高隐式情感分析的准确率。文献提出基于上下文的异构图卷积神经网络模型,使用Bi-GRU、GCN编码目标信息和上下文信息,最后使用注意力机制融合上下文语义信息[2]。文献提出基于混合神经网络的中文隐式情感分析模型,使用CNN网络提取文本特征,使用LSTM网络提取上下文信息,设计了单词级和句子级注意力关注对情感贡献大的特征[6]。文献提出带有多极性注意力的BiLSTM模型,使用多极性注意力识别词语的情感属性[1]。
1.2 图神经网络
图神经网络具有表达关联信息的能力,捕捉数据中的结构关系,在社交分析、生物信息和计算机视觉等任务上表现出突出的效果,综述文献对图神经网络模型做了系统总结[7-8]。近年来,新的图神经网络模型不断被提出,例如GCN(Graph Convolutional Network)、GAT(Graph Attention Network)、GaAN(Gated Attention Network)、HetGNN(Heterogeneous Graph Neural Network)、HAN(Heterogeneity Attention Network)等。文献提出图注意力神经网络模型GAT,使用自注意力机制解决了图卷积相关模型的缺陷,赋予邻居节点不同权重,使模型能够解决归纳问题和传导问题[9]。文献在大规模时空图上使用门控注意力机制,提出门控注意力图模型GaAN,使用卷积子图控制每个注意力的重要性[10]。文献提出异构图神经网络HetGNN,同时考虑异构结构信息和异构内容信息[11]。文献提出异构图注意力神经网络模型HAN,考虑了包含不同类型节点和边的异构图,使用节点层和语义层注意力学习重要的节点和重要的元路径[12]。
在文本分类任务上使用图神经网络,利用文本数据的结构关系构建图神经网络,例如词语共现、句法关系、上下文关系等[13-14]。文献提出图卷积神经网络文本分类模型,首先使用词语共现关系和词语文本关联关系构建文本图谱,然后训练GCN网络[13]。文献构建文本图张量,用来描述语义、语法、上下文等信息,并使用图内传播和图间传播两种算法传播信息[14]。
在情感分类任务上也出现一些使用图神经网络模型的研究成果。文献使用图卷积神经网络和注意力机制解决基于方面的情感分类任务[15]。文献提出基于注意力的图卷积神经网络模型AEGCN来解决目标情感分类任务[16]。文献使用图卷积神经网络捕捉多个方面之间语义依赖关系,在模型中使用注意力机制编码多方面和上下文[17]。文献研究了情感表示学习,使用图神经网络对文本语义关系建模,训练模型得到包含语义信息和句法信息的情感词向量[18-19]。
注意力机制在神经网络模型中发挥着关键作用[20]。上述文献中采用自注意力、多头注意力等常用注意力模型,缺少对注意力机制的深入研究。本文提出自约束注意力机制,在图注意力神经网络模型的基础上使用正交约束和注意力分值约束,提高注意力机制的有效性和可解释性。
2 模型方法
该部分研究图卷积网络GCN和图注意力网络GAT,在此基础上提出基于图注意力神经网络的隐式情感分析模型ISA-GACNN。
2.1 GCN网络
GCN是一种多层的图神经网络,使用邻居节点特征不断更新节点向量,最终得到含有上下文语义的节点表示。假设G(V,E)表示图,包含节点集合V和边集合E。用X∈Rn×m表示节点特征,n是节点的数量,m是特征向量的维度。A(Aij)∈Rn×n表示图G的邻接矩阵,A的对角线元素设置为1,表示节点自连接。D(Dij)∈Rn×n表示图G的度矩阵,用于计算拉普拉斯矩阵。公式(1)是GCN单层图卷积网络的计算公式:
2.2 GAT网络
Velickovi和Bengio等人[9]提出图注意力神经网络GAT,在卷积计算的过程中使用自注意力机制,增强了图神经网络的信息传播和表示能力[9]。假设有图的输入h={h1,h2,…,hn},hi∈Rm,其中n表示图中节点的数量,m表示节点特征向量的维度。GAT网络的输出为,其中m′是输出节点特征向量的维度。公式(3)是注意力机制的权重αij的计算公式,表示第i节点的第j个邻居节点的权重,其中Ni表示节点i的邻居节点集合,W∈Rm′×m是节点特征向量的权重矩阵,||是运算符表示两个向量之间拼接,aT∈R2m′是注意力机制的权重,LeakyReLU是非线性激活函数。
图注意力机制只计算节点i的邻居节点上的权重,并融合其邻居节点上的信息。GAT的输出层计算方法如公式(4),其中σ是非线性激活函数。
GAT模型中使用多头注意力机制使模型学习过程更加稳定,多头注意力计算方法如公式(5):
单层GAT计算,网络节点只融合其邻居节点的信息,如果要融合距离更远处的节点信息,则要使用多层GAT网络层。
2.3 隐式情感分析模型
本文提出基于图注意力卷积神经网络的情感分析模型ISA-GACNN,使用图卷积神经网络对隐式情感语句建模,并采用注意力机制提取对情感分析重要的语句特征。情感分析的流程图如图1所示,首先对情感语料进行预处理,使用哈尔滨工业大学分词工具HTP进行分词;然后计算词语的点互信息PMI和TF-IDF值,建立包含句子节点和词语节点的异构图谱;最后将异构图输入ISAGACNN网络,得到句子节点的特征向量,使用softmax计算文本节点在各个情感类别上的概率分布,最终得到文本情感分类标签。该小节详细介绍模型结构和使用模型进行隐式情感分类的原理。
图1 模型流程图Fig.1 Flow chart of model
2.3.1 输入数据
假设输入隐式情感文本集合表示为D(d1,d2,…,dn),经过分词处理之后使用词语集合表示文本。单个文本使用di表示,di∈Rl表示文本特征向量。文本包含若干个词语{wi1,wi2,…,wim},其中wij∈Rl表示词语特征向量,l是特征向量维度。
异构图谱由词语节点和句子节点共同组成,表示为G(V,E),V是图的节点,V⊆{D,W},vi∈V,D是隐式情感语句节点集合,W是词语节点集合;E是节点之间的边集合,eij∈E,词语与词语之间的边权重根据点互信息PMI值确定,句子节点和词语之间的边权重根据词频逆文档频率TF-IDF值确定。异构图谱的结构如图2所示,图中di表示句子节点,wij表示词语节点,分别在词语和词语、句子和词语之间建立连接。节点vi和节点vj之间的边权重eij的计算如式(6)所示:
图2 异构图谱G的结构示意图Fig.2 Structural diagram of heterogeneity graph G
点互信息PMI用来衡量两个词语之间的语义关系,当PMI(i,j)的值大于零时,说明词语i和词语j之间存在紧密的语义关系;当PMI(i,j)的值小于零时,说明词语i和词语j之间语义关系不密切或者不存在语义关系。所以在构建图G的时候只在PMI值大于零的两个词语之间建立关联关系。PMI的计算如式(7),其中p(i,j)是词语i和词语j在统计窗口内同时出现的概率,p(i)和p(j)分别是词语i和词语j在统计窗口中出现的概率。
词频逆文档频率TF-IDF用来衡量词语对于文本的重要程度,词语的重要程度和词语在文本中出现的频率呈正比增加,同时和词语在语料集合中出现的频率呈反比降低。词语i在语句j中的TF-IDF值计算如式(8)所示。其中,nij表示词语i在文档j中出现的频率,|D|表示语料库中所有文档的数量,{j:ti∈dj}表示包含词语i的所有文档。
2.3.3 ISA-GACNN网络
ISA-GACNN网络结构如图3所示,首先将构建的异构图输入GCN图卷积神经网络,经过卷积操作捕捉词语间的语义关系;然后使用注意力机制计算词语权重,更新语句节点的特征向量;最后使用全连接层和softmax计算情感标签的概率分布。在注意力机制中使用正交约束和权重分值约束,正交约束保证了多头注意力存储信息的差异性;权重分值约束保证了注意力机制关注部分重要词语。
图3 ISA-GACNN网络结构图Fig.3 Network structure of ISA-GACNN
图谱G中保存了词语节点wi和句子节点di的特征向量矩阵X(xi),xi∈Rm,m是节点特征向量的维度;节点之间的邻接矩阵A(aij),aij表示节点i和j之间的连接边权重。
灾情就是命令,地震发生后,武定供电局局长立即组织相关应急办人员召开地震紧急会,根据县政府工作要求和楚雄供电局蔡局长工作指示要求,随即启动武定供电局地震灾害Ⅳ级应急响应,把抗震救灾保供电作为首要工作来抓,统一思想,统一认识,统一行动,集中所有人力、物力、财力全力以赴开展抗震救灾保供电工作,提出10条应急工作要求。
图卷积神经网络能够在节点之间传播语义信息,经过卷积计算节点的特征向量包含了语义信息和词语间的关联信息,这里使用图卷积神经网络层更新节点特征向量。图卷积神经网络层的计算如式(9)所示,其中A͂是邻接矩阵的正则化拉普拉斯矩阵,邻接矩阵A的矩阵元素是节点之间的权重eij,W′∈Rl×o是卷积权重,o是卷积操作的输出节点特征向量维度。
在GCN层之后,使用注意力机制计算邻居节点对中心节点的重要程度,也就是词语对语句节点情感表达的贡献程度。节点vi的注意力计算示意图如图4所示,vi是中心节点,vij(j=1,2,…)是邻居节点,αij(j=1,2,…)是节点之间的权重,就是邻居节点对中间节点的重要程度。
图4 注意力机制结构图Fig.4 Structure of attention mechanism
注意力的计算如式(10)所示,其中Ni表示节点i的邻居节点,Q∈Ro×m′是注意力的查询权重,K∈Ro×m′是注意力的关键字权重,aT∈R2m′是注意力权重向量。
得到注意力权重之后,使用注意力权重更新节点特征向量,更新公式如式(11)所示,σ是非线性激活函数。W″∈Ro×l是注意力机制输出的权重向量,l是输出节点的特征向量维度。邻居节点的注意力权重越大,对中心节点的特征向量贡献就越多。
在注意力机制计算的过程中,可以使用多头注意力计算权重,节点特征向量的更新公式如式(12)所示:
这里在使用注意力机制的时候考虑两个问题,第一,多头注意力机制计算出的权重存在重叠的情况,会降低模型表示信息的能力,所以需要保证多头注意力之间差异性;第二,通常情况下,语句中部分重要词语对情感表达起到关键作用,所以注意力权重应该集中在部分重要词语上。这里提出正交注意力约束和权重分值约束。
通过多头注意力得到权重向量[α1,α2,…,αn],αi是第i个注意力权重向量,为了注意力权重向量之间保留差异,减少重叠信息,使用正交约束。公式(13)是注意力正交约束的计算公式,通过最小化L1保证多头注意力之间的差异性。
句子节点的邻居节点是组成语句的词语集合,邻居节点集合的注意力权重表示为αi[α11,α12,…,α1m]。注意力权重不能只集中在一个词语上,否则会丢失大量语义信息;也不能分散在所有词语上,否则起不到关注重要词语的作用。注意力分值约束首先计算权重向量的方差,然后使用单峰函数f(x)=x+1/x约束方差取值,当方差为1的时候取到最小值2,从而实现权重集中在部分词语上的目的。分值约束的计算方法如公式(14)所示。其中ρi是第i个句子权重矩阵的方差,N是句子数量。通过最小化L2控制句子注意力集中在部分重要词语上。
更新句子节点的特征向量之后,使用句子特征向量计算情感类别的概率分布,预测文本的情感类别。使用全连接层和softmax函数计算。全连接层的计算如式(15),使用句子节点vi∈D的特征向量,其中W1∈Rl×c,c是情感分类类别数量,σ是非线性激活函数。
Softmax是归一化函数,计算句子节点的类别概率分布,计算公式如公式(16),zi表示属于第i个情感类别的概率。
使用交叉熵损失函数作为分类结果的损失函数,计算公式如式(17)所示,其中D是文本集合,tdk是文本的标注标签,zdk是预测文本情感概率。
公式(18)是模型的损失函数,使用随机梯度下降算法优化模型参数,使得损失函数逐步下降,最终得到最优的隐式情感分析模型。
3 实验
3.1 数据集
2019年,第八届全国社会媒体处理大会SMP组织了中文隐式情感评测SMP-ECISA,发布了中文隐式情感分析评测数据集。该数据集由山西大学提供,数据来源主要包括微博、旅游网站、产品论坛,主要领域包括春晚、雾霾、乐视、国考、旅游、端午节等。数据集已经使用大规模情感词典过滤掉包含显示情感词的文本。数据标注为褒义隐式情感(标签1)、贬义隐式情感(标签2)以及不含情感倾向的句子(标签3)。训练数据集、验证数据集和测试数据集的情况如表2所示。表中总数是指标注的语句数量,褒义句数表示标注为褒义隐式情感句的数量,贬义句数表示标注为贬义隐式情感句的数量,中性句数是标注为不包含情感句的数量。训练集和验证集具有公开标签,这里使用已标注的数据按照9∶1的比例进行训练和测试,已标注的语句总数为19 917句。
表2 数据集信息表Table 2 Information of datasets
3.2 评价指标
评价指标采用准确率P、召回率R和F值,计算公式如式(19)~(21)所示。其中TP是将正类预测为正类的数量,FP是将负类预测为正类的数量,FN是将正类预测为负类的数量。F值是综合考虑准确率和召回率的调和值,反映了模型的整体效果。
3.3 结果分析
对所提模型ISA-GACNN进行实验分析,首先介绍模型所采用的参数,然后使用评价指标分析模型和添加两种约束机制之后的结果,最后和文献中的基准模型进行对比分析。所提出模型的准确率和F值均高于基准模型,验证了所提模型的有效性和先进性。
3.3.1 模型参数
模型参数如表3所示,参数值根据实验经验设置。初始化节点特征向量的时候使用正态分布,使得模型更容易得到最优解。输入特征向量的维度为100,在进行图卷积操作之后,输出特征向量的维度为100,经过注意力机制更新的特征向量维度为100,本文模型采用的注意力机制头数为3,权重向量为[a1,a2,a3]。
表3 模型参数表Table 3 Parameters of proposed model
3.3.2 实验结果
模型实验结果如表4所示,表中OC表示在图注意力模型上添加正交约束OC(Orthogonal Constraint),SC表示在图注意力模型上添加分值约束SC(Score Constraint)。从实验结果可以看出,基础模型ISA-GCNN的F值为88.8%,添加注意力正交约束和分值约束之后均提升了模型准确率,F值达到90%以上,说明两种约束对情感分类都有作用。同时添加两种约束得到最好结果的F值达到91.7%。
表4 模型实验结果表Table 4 Result of experiments %
3.3.3 对比分析
比较文献中的基准模型和本文所提模型,文献基准模型包括GRU、LSTM、BiLSTM、文献[1]的模型、文献[2]的CsHGCN模型和文献[6]所提模型,GRU、LSTM和BiLSTM的F值采用文献[1]的结果值。模型对比实验的结果如表5所示,表中“—”表示文献中没有该指标的结果;文献[2]的指标采用三种情感类别的平均值。从实验结果表可以看出,本文提出的模型的F值为91.7%,远高于其他基准模型,比文献[6]的模型F值高11.7%。
表5 模型对比实验结果表Table 5 Result of contrast test %
4 总结
本文研究了基于图注意力神经网络的隐式情感分析,提出ISA-GACNN模型。阐述了模型研究的动机、原理和结构,在SMP2019中文隐式情感分析评测数据集上验证了模型的有效性和先进性。隐式情感分析最大的特点是不包含显式情感词,表达情感更加含蓄,情感特征提取更加困难。本文提出图注意力卷积神经网络模型,对注意力机制进行约束,保证多头注意力之间的差异性和注意力关注部分重要词语。通过实验分析验证了图注意力神经网络模型和注意力机制对情感分析的作用。本文的研究还没有考虑外部知识对隐式情感分析的影响,在后续的研究中将探索词语词性、依存关系等语义信息在图神经网络情感分析模型中的应用。