基于知识增强的方面级情感分析方法
2023-11-14李诗月孟佳娜于玉海李雪莹许英傲
李诗月,孟佳娜,于玉海,李雪莹,许英傲
(大连民族大学计算机科学与工程学院,辽宁 大连 116600)
0 引 言
情感分析是自然语言处理(Natural Language Processing,NLP)领域比较活跃的一个研究方向[1],根据研究粒度不同,可细划分成:文档级、句子级和方面级情感分析。方面级情感分析(Aspect Based Sentiment Analysis,ABSA)属于细粒度的情感分析,细粒度的情感分析更具有针对性[1]。以评论“这个餐馆装修很大气,但是消费太高了!”为例,对于餐馆的“装修”方面,其情感倾向是正向的,而对餐馆的“消费”方面则是负向的。通过该例子可以看到,方面级情感分析具有粒度更细、决策更准、标准统一等特点,能够保留用户针对不同方面的情感信息,其在社交、电子商务等领域发挥着至关重要的作用[2]。
目前方面级情感分析的研究出现了很多基于深度学习的方法,循环神经网络在序列问题中具有优秀的学习能力,Tang等人[3]提出了基于目标依赖的长短期记忆神经网络和基于目标关联的长短期记忆神经网络,可以学习目标词语跟上下文的相互关系;注意力机制能够准确区分不同方面的关联程度,Wang 等人[4]最先提出带有方向嵌入的、基于注意的LSTM 方法,它为每个关键词都分配了一个注意力,让模型自主重视句子中的较重要部分。虽然,基于注意的神经网络模型在一些数据集取得了不错的效果,但由于没有考虑句子中不同方面词的句法依赖关系,导致权重分配错误,进而对方面词情感进行了错误的预测。Devlin 等人[5]设计了具有多层变压器编码器结构的BERT 模型,有效解决了LSTM 模型的并行计算和深度困难。最近的研究[6-8]利用图的模型来整合句子的句法结构,比那些不考虑句法关系的模型表现出了更好的性能。
使用外部知识库(Knowledge Base,KB)增强神经模型已在一系列NLP 应用中显示出优势,Peters 等人[9]提出在输入文本中的显式建模实体跨度,并使用实体链接器从KB 中检索相关的实体嵌入,以形成知识增强的实体跨度表示形式。Li 等人[10]提出吸收外部知识的注意力模型,实验表明吸收外部知识可以降低对数据的依赖并提升模型表现。Liu 等人[11]通过融合非结构化知识和结构化知识,提出基于扩充知识图的开放域对话生成模型,并在对话系统中进行灵活的多跳知识图推理。Islam 等人[12]提出了一种2 级全局-局部实体嵌入方案,该方案允许有效地联合训练基于KG 的方面嵌入和ABSA 模型。尽管外部知识库在NLP问题中应用比较广泛,但将其使用在方面级情感分析任务中还是比较少的。在方面级任务中,常识知识通过其结构关系帮助模型理解情感术语和观点目标[13],并且可以为模型提供监督信号,提高模型语义解析能力[14]。
对于方面级情感分析问题,目前深度学习方法大多是通过序列表示方法或者注意力机制来建模目标词和上下文间的关系,但由于语言的复杂性,这些模型并未充分考虑方面词与对应意见词存在的背景知识。为了解决上述问题,本文提出基于知识增强的方面级情感分析模型(Aspect Based Sentiment Analysis Model Based on Knowledge Enhancement,ABSAKE),通过预训练模型BERT 建立较为准确的方面词向量特征表示,然后获取文本对应的依存关系树与BiLSTM 学习到的方面词和意见词的上下文信息,以及节点在图中的序列特征,将结合后的特征通过图注意力网络(Graph Attention Networks,GAT)建立最终的向量表示,再根据方面词获得ConceptNet[15]子图,增强文本特征表示,获取方面词的图特征向量,最后与文本特征进行融合,实现情感分类。主要工作有:
1)将GAT 应用到方面级情感分析中,沿着依存关系树的句法路径建模依存关系,为不同句法路径分配不同的权重,以此增强节点嵌入。
2)使用外部知识库获取方面词的概念表示,增强上下文语义知识,并通过其结构关系帮助模型理解情感术语和观点目标。
3)融合来自依存树、图注意力网络和外部知识库的特征进行方面级情感分析任务,在5 个基准数据集上进行实验,得到了比较好的结果。
1 相关工作
1.1 依存关系分析
依存关系分析[16]又名依存句法分析,目的是给定一段文本,识别文本中词与词之间的相互依存关系,为每个单词(头节点)找到其对应的尾节点,可以更好地帮助理解整个句子的含义,这也是NLP领域中比较关键的技术之一。其表示方式通过有向箭头从核心词指向依存词,而有向图、依存投影树和依存树为依存关系结构常见的表达方式。以“I prefer the morning flight through Denver”这个文本为例,其依存树表达方式如图1所示。
图1 依存树表示方式
1.2 图注意力网络
图卷积网络[17](Graph Convolution Networks,GCN)在文本分析方面已经有了许多探索,图卷积是一种对图形结构数据进行半监督学习的网络结构,是基于直接对图进行操作的卷积神经网络的一种有效变体。Yao等人[18]构建共词网络和文档关系网络,利用图卷积网络在不使用外部知识和单词表达的情况下取得了较好的结果;Sun等人[19]利用句法信息和单词依赖关系提出了卷积依赖树模型,该模型在依存树上进行卷积操作获取节点特征和连接边的依赖信息,但信息传播中可能会错误地将句法上不相关的单词与目标方面相关联。
结合图卷积与注意力机制,Velickovic 等人[20]提出了图注意力网络,GAT是基于图形结构化数据的新型神经网络。采用注意力机制,可以为不同节点分配不同权重,训练时依赖于成对的相邻节点,而不依赖具体的网络结构,并且可用于有向图。Huang等人[21]提出基于记忆融合的图注意模型,利用卷积运算和注意力机制分别提取节点的局部信息和为边分配不同权重,得到了较好的准确率和F1值。
1.3 外部知识库
知识库有助于将文本与真实实体、事实知识和常识概念联系起来,尤其是常识知识库提供了丰富的背景概念来源,可以通过提供某一领域的概念来增强文本的语义。Ghosal 等人[13]利用外部知识库来调整一个流行的领域对抗性基线方法,有效地提高了其性能。本文使用的ConceptNet是一个语义网络,也是一个知识图谱,以3 元组形式的关系型知识构成。利用句子中蕴含的文本自身的语法知识可以提高情感分析任务的准确度。因此,本文考虑借助外部知识库丰富文本中方面词背景信息,增强评论文本特征表示,提高模型分类能力。
2 模型介绍
2.1 基本定义
本文提出基于知识增强的方面级情感分析模型(ABSA-KE),该模型的实现建立在依存树的基础上,依存关系树可以形象展现出句子的句法结构,更好理解文本中整个句子的含义,并引入外部知识库对方面词进行概念表示,帮助模型取得更好效果。其大概步骤为:使用BERT 模型对评论文本信息进行文本特征提取,使用BiLSTM 和图注意力网络分别对上下文信息和依存关系进行建模,同时利用方面词提取ConceptNet 子图,通过图卷积网络对子图进行图特征向量提取,三者集成来获取含深层语义的信息特征表示,经过分类器实现情感判别。该方面级情感分析模型的总体结构如图2所示,主要由以下5个部分组成。
图2 ABSA-KE模型结构图
1)向量表示层:将预处理后的评论文本送到预训练模型BERT 中,获得包含了单词语义的双向编码词嵌入表示,即BERT词嵌入。
2)BiLSTM 层:将向量表示层获得的方面词和上下文词嵌入输送到BiLSTM 网络中,学习单词之间的上下文信息,得到BiLSTM层的高维词嵌入表示。
3)图注意力网络层:将高维词嵌入送到GAT中,并且GAT 沿着依存关系树的句法路径建模依存关系,并为不同句法路径分配不同权重,阻止无关词向方面词的信息传播,从而增强节点嵌入,输出该层的向量表示。
4)概念编码层:通过方面词提取ConceptNet 子图,并对其进行概念化,得到图特征向量。
5)情感预测层:将得到的GAT 词嵌入通过平均池化操作得到方面词向量与概念编码层的图特征向量进行拼接,再经过Softmax 分类器输出不同情感极性的概率分布,实现情感分类。
2.2 方法
2.2.1 向量表示层
目前,比较常见的词向量模型主要有GloVe 和Word2Vec,但是这些模型在训练过程中不能注意到单词间的前后序列关系,不能解决单词的一词多义问题,不能准确定位到单词的位置信息,而BERT 预训练语言模型解决了上述这些问题。BERT 模型使得每个词语在训练过程中都能同时利用到自身信息和上下文信息,参与运算的信息较充分,具有极好的表征能力[4]。本文使用BERT 来提取输入句子的更深层次序列特征,然后将输出的特征向量送到下游方面级情感分析任务中。
假设一个包含n个单词的句子,s=(w1,w2,…,wn),句子s有对应的词嵌入x,记为x=(x1,x2,…,xn);它由一个方面句子对(a,s)构成,其中方面词a是s的一个子序列,记为a=(w1,w2,…,wm),经过BERT 预训练模型后,转化成低维、连续的实数向量,得到较为准确的方面词向量特征表示。
2.2.2 BiLSTM 层
BiLSTM 网络能够从语料中学习到长期依赖关系[22];该网络重复利用了每个输入序列和时间步长,充分全面学习到方面词和意见词的上下文信息以及节点在图中的序列特征,有助于提高模型情感预测效果,前向LSTM 在词嵌入{x1,x2,…,xn}上学到的隐藏表示,记为后向LSTM 在词嵌入{x1,x2,…,xn} 上学到的隐藏表示,记为前后2 个方向捕捉上下文信息,然后拼接得到高维的表示,记为其中子序列方面向量a的隐藏表示为高效捕获方面词和意见词的上下文。
2.2.3 图注意力网络层
在ABSA-KE 模型中,用斯坦福解析器[23]解析句子,得到对应的依存关系树后,依存关系树被看作为一个有n个节点的图G,图中的边代表单词间的依存关系路径。而依存关系的存储形式是一个对称的n×n的邻接矩阵,这里用A表示,行与列的长度与句子的长度等价,0 代表单词之间不存在依存关系,1 代表单词间有关联,即存在连接路径。假设图G是一个自循环结构,图注意力网络从邻接矩阵A处获取图结构信息和句法信息,辅助ABSA-KE模型实现情感分类。
图注意力网络通过这些路径进行更新和传播信息,不断更新节点的嵌入表示。在这样的操作过程中,GAT 只考虑了节点的一阶邻域,以此类推,l个连续的GAT 操作即表示信息在l阶邻域内传播。给定一个n个单词的句子s,其中包含从第τ+1个令牌开始的对应的m个单词方面。为了增强上下文与方面词的相关性,在第l层时,对节点i施加一个位置权重函数,计算公式如式(1)所示,qi表示节点i的位置权重。
衡量节点i和节点j之间的重要程度,本文采用注意力系数,计算方式如式(2)所示:
其中,表示单词进行线性变换的共享权矩阵是节点i的特征向量,a是权重向量,Ni表示节点i的邻居集合。为了使得图注意力的学习过程更加稳定,在设置相同参数条件下,本文对K个不同注意力进行了实验,由此,可以得到第l+1 层节点i的最终隐藏表示,如式(3)所示:
其中,代表第k个注意力系数;代表在第l层第k个注意力的权重矩阵。
最后,图注意力网络第l+1层的最终表示,记为:
方面词和上下文词经过BiLSTM 和GAT 网络联合编码后,方面向量中包含了丰富的上下文、依存和结构信息;ABSA-KE 模型为了保留方面向量中大部分重要的信息,应用一个简单的聚合器,通过平均池化来聚合方面向量上的信息,得到一维向量表示,即为图注意力网络层的最终输出,用H(l+1)表示;池化操作的计算方式如式(5)所示:
其中,f(·)是聚合方面向量的平均池化函数。
2.2.4 概念编码层
本文从ConceptNet 提取文本中方面词相关子图。ConceptNet图表示为有向标记图G=(V,ξ,R),其中V表示概念节点vi∈V,ξ表示标记边(vi,rij,vj) ∈ξ。rij∈R是节点vi和vj之间的边的关系类型。从数据集中所有训练文档中提取所有方面词作为种子词,用来将ConceptNet 过滤到子图G'=(V',ξ',R')中,并获得初始概念特征向量zi。
由于图卷积网络不能对带有标记边的图进行卷积,因此本文使用2 层图卷积网络对子图进行编码。在卷积特征变换过程中确保不同的方面词通过基础概念连接,并相互影响,以创建丰富的方面词的图特征向量。转换过程如公式(6)~公式(8)所示:
2.2.5 情感预测层
由上文可知,最后输出的结果是方面向量H(l+1)和方面图向量Zj的串联结果hZ,H=H(l+1)⊕Zj,然后将其传递给一个全连接层,并对其使用Softmax 函数进行归一化,输出不同情感极性的概率分布P,其表达式如式(9)所示:
其中,hZ,H表示方面向量,Wp、bp表示训练过程中学习到的权重和偏置。
模型使用的目标损失函数为最小化交叉熵,其训练的目的是使文本中句子的真实值和预测值之间的误差尽可能地达到最小。在模型搭建过程中,它以反向传播形式对模型进行端到端训练,计算方式如式(10)所示:
其中,D表示方面句子对(a,s)的集合,C表示3 种情感类别的集合,yc(a,s)为(a,s)的真实值,其取值为1或0;特别地,一个方面句子对(a,s)只能归类于一个情感类别yc(a,s)=1 意味着(a,s)的情感类别属于c。(a,s)代表着模型对(a,s)进行预测,目标函数中的θ1和θ2分别是对应于BiLSTM和GAT的可训练参数。
3 实验结果及分析
3.1 数据集
本文在5 个基准数据集上进行实验,一个是来自Dong 等人[24]发表的Twitter 数据集,由Twitter 帖子组成;其他4 个数据集为国际语义测评任务的公开数据集(Restaurant14[25],Restaurant15[26],Restaurant16[27],Laptop14[25]),由Laptop 和Restaurant 这2个领域的评论构成。每个数据集都分为训练集、验证集和测试集。数据集中的方面词信息以及方面词对应的情感倾向都已经标注;其中,情感倾向类别主要包括积极(Positive)、中立(Neutral)和消极(Negative)这3 大类。表1 展示了数据集的统计情况,其中剔除了具有冲突情感极性或者没有明确指出方面词的数据。
表1 数据集统计表
3.2 参数设置
实验在Pytorch环境下进行,并采用Adam优化器。其中BERT 词向量维度为768;模型学习率为2e-5;BiLSTM 隐藏层维度为300;批处理大小为32;dropout为0.5。使用预训练模型BERT 对输入文本进行向量表示,并且选用包含了注意力机制的图注意力网络。
3.3 评价标准
实验中使用的评价指标是准确率(Accuracy)和F1 值。准确率是文本分类任务中最常用、最基础的指标,是指在所有样本中被预测正确的数量与所有样本数目的比值。F1 值是召回率(Recall)和精确率(Precision)这2种指标的调和平均。各指标计算方式如式(11)~式(14)所示:
3.4 实验结果
3.4.1 对比实验设置
本文选用具有代表性的13个方面级情感分析模型与本文提出的模型进行对比,对比模型的具体描述如下:
1)SVM 模型[28]:基于统计学习的模型,利用WordNet等情感词典,用SVM分类器进行情感判别。
2)LSTM 模型[3]:是最基本的神经网络模型,利用LSTM 获取上下文的隐藏表示,然后直接通过Softmax函数进行情感预测。
3)TD-LSTM 模型[3]:在LSTM 模型的基础上进行改进,使用2 个LSTM 网络对方面词的前向和后向信息并行建模,然后拼接2 个方向的隐藏输出,得到的输出结果送到情感预测层进行情感判别。
4)IAN 模型[29]:利用LSTM 建模目标词和句子上下文信息,借助2 个注意力,交互检测整个上下文和目标描述中的重要单词,将两者输出进行结合,实现情感倾向性判别。
5)RAM 模型[30]:利用BiLSTM 学习句子上下文的序列特征,得到记忆矩阵;使用GRU 网络和注意力机制构建循环注意力模型,得到不同注意力层的结果后送入情感分类层,输出情感所属类别。
6) AOA 模型[31]:利用双重注意力机制(Attention-over-Attention)联合建模上下文和方面词,关注两者间的相互信息,并对信息的重要程度进行区分,最后对情感极性进行判别。
7)ASGCN 模型[32]:利用语法信息和单词依赖关系,使用图卷积神经网络和LSTM 框架、注意力机制集成来研究面向方面的情感分类。
8)CDT 模型[19]:在依赖树上使用图卷积网络捕获连接边的依赖信息,缩小方面词和意见词之间的距离,实现情感类型判断。
9)BiGCN 模型[33]:一种结合层次句法和词汇图的新型网络结构,使用一个全局词汇图来编码语料库级别的单词共现信息;并在句法图和词汇图上建立了一个概念层次结构,用于区分各种类型的依赖关系或词汇词对。
10)RepWalk[34]:通过在语法图上进行随机复制游走,来获得对方面词情感预测影响最大的上下文词。
11)MEMGCN-BERT[35]:一种图卷积神经记忆网络模型(MemGCN)。通过记忆网络存储文本表示与辅助信息,并使用注意力机制融合句法信息与其他辅助信息。
12)ASGCN-AOA-DG[36]:一种结合图卷积网络GCN 和注意-过度注意AOA 神经网络的方面级情感分类模型(ASGCN-AOA)。
13)CF-CAN[37]:一种利用组件聚焦策略和多头共注意力机制的模型,解决了包含多词的方面平均池化操作带来的问题。
3.4.2 对比实验结果
将模型在5 个不同数据集上分别进行5 次实验,表2 展示的数据均为5 次试验后的平均取值,表中为ABSA-KE 模型与对比模型在5 个数据集上的结果。由表2可以得到以下信息:
表2 对比实验结果
1)除CF-CAN 模型外,本文的模型在所有数据集上的F1 值都达到了最好的效果,尤其在Restaurant14、Restaurant15和Twitter数据集上的准确率也是最优的。
2)ASGCN 和CDT 模型均采用300 维的GloVe 词嵌入,本文的模型使用了BERT 作为预训练模型,准确率最大提升了4.93 个百分点。这说明BERT 预训练模型相较于其他静态词嵌入,具有一定的先进性,能够帮助方面级情感分析模型取得更好的实验效果。
3) 与MEMGCN-BERT、ASGCN-AOA-DG 模型相比,本文模型在几乎所有数据集上都取得了比较好的结果,其原因是GAT 比GCN 多了注意力机制,注意力机制能够给不同信息赋予不同权重,阻止了无关词向方面词的信息传播。这说明在方面级情感分析研究中,包含GAT 的模型能够根据目标词计算上下文词的权重分布,有效识别上下文词对目标词的影响。
4)与基于多头共注意力机制的模型CF-CAN 相比,本文模型在绝大多数数据集上都取得了较优的结果。分析认为本文提出使用外部知识库为模型进行知识增强,丰富了文本的背景概念以及方面词之间的概念链接,帮助学习更多的语义知识,从而提升了模型性能。
3.4.3 GAT层数对准确率和F1值的影响
图3 和图4 分别展示了GAT 层数对准确率和F1值的影响,其横坐标表示GAT 的层数,取值为1~5,纵坐标分别为准确率和F1 值。由图3 和图4 可知,在5个数据集上,随着GAT层数的增加,准确率和F1值的走向都是先上升后下降,当层数等于2 时,准确率和F1 值均达到最高;当层数超过2 且逐渐增大到5 时,准确率及F1值都直线下降,说明层数越多,模型涉及的参数量会越大,导致训练起来更加困难。因此,实验设置GAT的层数为2。
图4 GAT层数对F1值的影响
3.4.4 消融实验
为了验证ABSA-KE 模型的有效性,本文进行了消融实验研究,实验结果如图5 和图6 所示;其中,各个模型的解释说明如下:
图5 不同模型的准确率结果对比
图6 不同模型的F1值结果对比
1)ABSA-KE w/o BiLSTM:去除模型中的双向长短期记忆网络。
2)ABSA-KE w/o GAT:去除模型中的图注意力网络。
3)ABSA-KE w/o Attention:去除模型图注意力网络中的注意力机制,类似于直接通过GCN 和BiLSTM联合建模来进行情感判断。
4)ABSA-KE w/o ConceptNet:去除模型中外部知识库。
由图5 与图6 可知,BiLSTM、GAT、Attention 和Conceptnet 都能辅助模型进行情感分类,去掉任何一个组成部分,模型的性能都会下降,说明这些在模型中的应用都是合理的。并且,图注意力网络对模型性能影响最大,说明图注意力网络可以帮助模型处理句法结构信息,比单纯使用注意机制或图卷积网络更能捕获语义信息。其次,ConceptNet对模型的影响比较小,分析是由于子图之间是不相连的,可能导致2 个不同类别的方面词的词向量表示相近,从而导致模型情感分类错误。但是总体来看去除ConceptNet后,模型性能有所下降,说明ConceptNet可以为模型提供一些有用的额外知识。这些组成部分对模型的重要程度,由高到低顺序为GAT、BiLSTM、Attention和ConceptNet。
3.4.5 案例研究
1)ConceptNet子图。
为了进一步研究外部知识库的作用,对Restaurant14数据集中的方面词“Bread”的子图进行可视化,并截取部分子图进行呈现,菱形框为方面词,椭圆形为关系类型,矩形为与方面词有关联的词,如图7 所示。可以看到,根据方面词“Bread”,可以从庞大的ConceptNet 中获取到与之相关的关联词,这些关联词为模型解析方面词的情感极性补充了一些额外知识,增强了方面词与上下文的语义表示,使模型更好地学习文本特征,进而提高模型性能。
图7 方面词“Bread”的部分子图
2)图注意网络层。
为了更好地证明图注意网络层的作用,对去掉GAT 的模型与ABSA-KE 模型自身进行了案例研究,选用了数据集中一些评论文本,案例均来自数据集Laptop14,用粗体标记方面词,用下划线标记表示决定分类结果的关键字,用黑实线连接单词表示依存树上的边,如表3 所示。ABSA-KE 和w/o GAT 分别表示完整模型和去掉图注意力网络层的模型。案例均标注出方面词和关键词之间的边。可以看出,在3 个案例中,ABSA-KE 模型均分类正确,但去掉GAT 后结果发生错误。这3 个案例的方面词和关键词在序列上距离较远,但在依存树上却十分接近。由此可知,依存树不仅可以捕获编码过程中缺失的语法信息,而且能够缩短关键词和方面词的距离,加强两者的联系。图注意力网络是用来处理图结构数据的,建立在依存树的基础上发挥其作用,而依存树能够更好地帮助模型进行情感判别,进而说明图注意力网络对提升方面级情感分析模型性能是有效的。
表3 图注意网络层案例研究
4 结束语
本文提出了一种基于知识增强的方面级情感分析模型ABSA-KE,使用预训练模型BERT,有效地挖掘出方面词和情感词之间的关系,获取每个单词包含的情感信息和语义信息;BiLSTM 能够从语料中学习到长期依赖关系,有效编码上下文信息和依存信息;图注意力网络沿着依存关系树的句法路径建模依存关系,为不同连接边分配不同权重,阻止了无关词向方面词的信息传播;ConceptNet 提供外部知识,丰富上下文表示。在多个数据集上进行了实验验证,结果表明,ABSA-KE 模型在方面级情感分析任务上取得了不错的性能。未来考虑针对跨领域方面级情感分析问题,使用外部知识库丰富不同领域数据的语义知识,从而帮助标注数据量少的新领域进行方面级情感分析任务。