1. 引言
情感分析(Sentiment Analysis),又称意见挖掘、观点挖掘,是自然语言处理(natural language processing, NLP)领域中的一项基本任务 [1],旨在挖掘评论文本中的情感信息。传统的情感分析研究主要集中在对文档或句子级别进行预测,识别出整个文档或句子整体的情感倾向。然而,通过对评论者的评论进行分析发现,一条评论文本通常会存在多个方面且各个方面的情感极性可能完全相反,文档或句子级情感分析无法正确解读出评论中各个方面的情感信息。因此,在情感分析领域,针对给定的方面进行细粒度情感分析已经成为主要的研究目标,能提高模型对评论中多个方面情感极性的判定能力,这就是方面级情感分析任务(Aspect-based Sentiment Analysis, ABSA)。
方面级情感分析旨在判定文本中特定方面的情感极性 [2],例如“The price is reasonable although the service is poor”评论中包括“price”和“service”两个不同的方面,其每个方面对应的观点词分别是“reasonable”和“poor”。在该条样本中,评论者对“price”方面的评价是积极的,但是对“service”方面的评价却是消极的,两个方面的情感极性截然相反。
情感分析的应用十分广泛,对电商平台而言,对消费者购买过的商品评价进行分析,有助于商家分析出用户的喜好并对产品做出相关的改进,进而完善销售策略,吸引更多的客户 [3]。与此同时,消费者可以在购物的时候,参考其他消费者对产品的评价,调整自己的消费决策,提升自己的购物体验。对政府部门来说,通过对人们在社会舆论热点事件下发表的观点进行情感分析,有助于政府部门及时了解群众的情感动向,防止一些恶劣事件的发酵,辅助后续政策的制定,从而更好地为人民服务。此外,情感分析还可用于金融、通信、心理学及社会学研究等领域。
2. 相关工作
2.1. 方面级情感分析
方面级情感分析任务的关键是建模方面词与其相应观点词之间的联系。现有的方面级情感分析研究方法可以分为:基于情感词典和规则的方法、基于传统机器学习的方法和基于深度学习的方法。早期的基于情感词典和规则以及基于机器学习的方法的性能在很大程度上受限于人工标注特征的质量,并且已经达到了瓶颈阶段。近年来,越来越多的深度学习方法被提出用于解决情感分析任务,如卷积神经网络(convolutional neural network, CNN) [4]、循环神经网络(recurrent neural network, RNN) [5]。Yoon等人 [6] 使用卷积神经网络来捕捉文本的局部相关性。Chen等人 [7] 使用循环神经网络可以更好地捕捉复杂的上下文特征。此外,长短期记忆网络(long short-term memory, LSTM)由于其有效捕获长期依赖性并解决梯度消失和梯度爆炸问题的能力而被广泛应用于方面级情感分析。Tang等人 [8] 提出了一种目标相关的长短期记忆(TD-LSTM)模型。该方法使用两个LSTM来建模方面的左侧和右侧的上下文,并且拼接两个LTSM的最终隐藏状态用作方面级情感分析的分类特征。之后,注意力机制在自然语言处理领域获得了广泛关注。Bahdanau等人 [9] 首次将注意力机制应用于NLP领域中。Wang等人 [10] 提出了一种基于注意力的ATAE-LSTM模型。该方法首次将注意力引入LSTM,实验结果表明,具有附加注意力的模型明显优于LSTM。Ma等人 [11] 采用了两个注意力网络,以交互方式学习上下文和方面中的注意力,并分别生成方面和上下文的表征,进一步提高了方面级情感分析任务的准确性。尽管引入注意机制的神经网络模型可以有效地提高方面级情感分析的分类效果,但当方面由多个词组成时,基于注意力的模型可能会错误地关注与方面无关的上下文词。
近年来,图神经网络(graphneural network, GNN) [12] 由于其优异的性能和较高的可解释性,被广泛用于挖掘句子的句法结构信息。Zhang等人 [13] 首次使用图卷积神经网络(graph convolutional network, GCN)来获取句法依赖树中上下文和方面之间的句法依赖信息,并融合其他类型的特征用于方面级情感分析任务上。Wang等人 [14] 通过依赖句法分析文本的语义特征,以此来融合方面词和整体句子。Zhang 等人 [15] 提出全局词汇图的思想,通过融合全局词汇图与层次句法图来处理词汇间不同的关系。尽管上述方法已经取得了一定的成果,但大多数方法都独立地建模每个方面,这使得句子中多个方面的隐藏联系信息没有得到充分利用。例如,“The food is delicious and the price is reasonable, although the service is poor”第一个方面“food”的情感极性是积极的。从连词“and”,可以很容易知道第二个方面“price”和“food”具有相同的极性。同样,从连接“although”,可以推断出最后一个方面的情感极性是消极的。同时,句法依赖树包含丰富的句法关系和距离信息。然而,目前大多数基于图神经网络的模型都是围绕句法依赖树建模的,没有模型同时考虑句法依赖树和多方面情感依赖。因此,为了解决现有模型的不足,提出了一种双通道交互式图卷积神经网络,该网络结合了句法依赖树和多方面情感依赖图。
2.2. 句法依赖树
我们使用斯坦福句法分析器来生成句子的句法依赖树。以“The price is reasonable although the service is poor”为例,其句法依赖树结构如图1所示。从图中可以看出,灰色部分表示方面词,方面词“price”通过句法依赖关系“nsubj”关联到对应的观点词“resonable”,方面词“service”通过句法依赖关系“nsubj”关联到观点词“poor”。有向边表示依赖,标签标明了句法依赖类型,如:“det”、“nsubj”和“cop”等。此外,句子下方还标明了单词词性的缩写表示,如“DT”、“NN”、“VBZ”等。为了充分利用句法结构的句法信息,使用图卷积神经网络来编码句法依赖树以捕获方面词和上下文的句法依赖性。
Figure 1. Syntactic dependency treestructure
图1. 句法依赖树结构
2.3. 图卷积神经网络
图卷积神经网络GCN是图神经网络GNN的变体,其灵感来自传统卷积神经网络CNN和图嵌入,为图中每一个节点聚合其邻居节点特征来提供图结构信息,以编码非结构化数据的局部特征。单层GCN的示例如图2所示。给定具有n个节点的依赖图,该图可以表示为邻接矩阵
。为了方便,我们将l层GCN中任一节点i的特征向量设置为
,
。因此,在节点表示上运行的图卷积的数学模型描述如下:
(1)
其中
是权重矩阵,
是偏置项,
是激活函数(例如ReLU)。
Figure 2. An example of a single-layer GCN
图2. 单层图卷积网络
针对上述问题,本文提出了一种用于方面级情感分析的双通道交互式图卷积网络(Bi-channel interactive graph convolutional network, BC-GCN)模型本文的主要贡献如下:
1) 提出了一种新的方面级情感分类方法,利用句法依赖树和多方面情感图来更好地捕捉方面和观点词之间的表达。
2) 提出了一种由两种GCN组成的新架构,以有效地编码句法依赖树和多方面情感图。此外,这两种信息使用注意力机制交互学习,以提高准确捕捉不同方面与上下文的语义关联的能力。
3) 在三个数据集上评估BC-GCN,即restaurant14、laptop14和twitter。实验结果表明,与现有技术方法相比,所提出的模型具有更好的性能。
3. 模型
假设评论文本由n个单词组成,则文本可以表示为
,其中
是S的第i个元素,该文本所包含的目标方面词表示为
,start和end分别表示文本S的方面词序列A的开始索引和结束索引,其中目标方面词可以由一个或者多个单词组成。方面级情感分析任务就是判定评论文本中的方面序列的情感极性。情感极性P = {Positive, Negative, Neutral},其中Positive、Negative和Neutral 分别表示“积极”、“消极”和“中性”的情感极性。所提出的BC-GCN模型的总体结构如图3所示,BC-GCN模型由六个部分组成,即单词嵌入层、编码层、位置权重层、BC-GCN层、信息交互层和情感分类层。
Figure 3. The overall framework of the proposed BC-GCN model
图3. BC-GCN模型的总体框架
3.2. 编码层
词嵌入层输出的词向量并不能表示其在具体句子中的含义。因此,需要将其编码为上下文化的表示形式。本文使用双向GRU编码上下文语义信息,将词嵌入层输出的词向量作为双向GRU编码层的输入,最终向量由最后一个状态的前向GRU和后向GRU向量相连接而成,通过互补的形式加强信息的交互,从而使基于方面词的上下文信息表征更加丰富。GRU的单元结构如图4所示,具体计算公式如下:
(2)
(3)
(4)
(5)
其中,
和
分别表示t时刻的更新门和重置门,重置门决定了如何将新的输入信息与前面的记忆相结合,更新门定义了前面记忆保存到当前时间步的量。首先,将当前时刻的输入
和前一个时刻神经元的输出
作为t时刻更新门
和重置门
的输入,输出由sigmod激活函数的全连接计算得到。其次,将
和
进行对位相乘,将计算结果与
作连接,输出由tanh激活函数的全连接计算得到当前时刻的候选隐藏状态
。最后,将当前时刻的更新门
对上一时刻的隐藏状态
和当前时刻的候选隐藏状态
作连接,计算得到t时刻的隐藏状态
。
为充分利用文本的历史以及未来的信息,本文采用双向GRU算法来编码上下文语义信息,即Bi-GRU。其中:
表示正向GRU所提取到的正向状态信息,
为反向GRU的输出,
由
和
拼接而成,公式如下:
(6)
通过Bi-GRU对所给评论文本S的词嵌入向量进行上下文编码后,提取的隐藏状态向量矩阵为:
。
3.3. 位置权重层
位置权重层采用方面词和上下文词之间的距离来衡量二者的相关性,距离分为相对距离和语法距离。相对距离指方面词与上下文词在句子中的路径长度。通常,句子中方面词相关的情感描述词往往与该方面词的位置非常接近。梁斌等人 [16] 指出,更接近方面的单词对方面的情感表示影响更大。因此,可以将方面词与句子中各单词间的相对距离作为一种重要信息引入到方面情感分析模型中。相对距离权重计算公式如下:
(7)
其中,a为方面词的开始位置,i为单词在文本中的位置,m为方面词序列的长度,n为文本长度。
语法距离可由句法依赖树得到,文本中每个词的语法距离权重计算公式如下:
(8)
其中,
为上下文词与目标方面词之间的语法距离,
为语法距离中的最大值。
结合相对距离权重和语法距离权重得到新的距离权重表示
。
(9)
将位置权重
与评论文本的Bi-GRU隐藏状态相乘,更新后句子的隐藏状态
中包含了单词的语义信息和位置信息,计算公式如下:
(10)
其中
代表位置感知变换函数,
表示距离权重。
3.4. BC-GCN层
为了捕获句子中的句法信息和多方面情感依赖信息,在模型中使用了双通道图卷积网络层。该层由两个模块组成:一个基于句法的图卷积网络和一个基于多方面依赖的图卷积网络。前一个模块用于获取句法依赖树中丰富的句法信息,后一个模块用来获得句子中的多方面情感依赖信息。
3.4.1. 句法图卷积模块
本节构建了上下文句法图
,其中节点V表示单词的隐藏状态,边E表示单词之间的句法依赖性。如上所述,使用斯坦福句法分析器来获取句子的依赖树。
和
之间的权重定义为:
(11)
其中
表示邻接矩阵,
,
表示节点i依赖于节点j。
然后使用图卷积网络提取句法信息,节点表示计算如下:
(12)
其中
是归一化的对称邻接矩阵,
是
的梯度矩阵,
是添加到前一层的位置信息的
单词表示,
是GCN第一层的第i个节点的最终表示,
和
分别是GCN第1层的权重矩阵和偏置项。
3.4.2. 多方面情感图卷积模块
现有模型大多独立地对每个方面进行单独建模,忽略了多个方面之间的隐藏连接信息。为了解决这个问题,构建了一个多方面情感图来捕获一句话中各方面之间的依赖信息。如图3所示,多方面情感图的节点仅由方面的数量决定,其中边表示方面之间的依赖关系。然后,我们使用图卷积网络来提取多方面情感图的隐藏信息表示,并且节点表示计算如下:
(13)
式中
是归一化对称邻接矩阵,
是
的梯度矩阵,
是添加到前一层的位置信息的
单词表示,
是GCN第一层的第i个节点的最终表示,
和
分别是GCN第1层的权重矩阵和偏置项。
3.5. 信息交互层
考虑方面和上下文之间的交互信息对情感分析也很重要。在本节中,使用注意力机制来建模句子中上下文和多方面术语之间的信息表示,分别生成面向方面和面向上下文的表示。首先对具有句法信息的上下文向量进行平均合并,然后计算关注权重
。数学模型定义如下:
(14)
(15)
(16)
其中,
是分数函数,
是
的转置,
是分配的权重,W和b分别是权重矩阵和偏置项。
对于上下文表示,我们首先对具有多方面依赖特征的向量进行平均,然后计算每个上下文词的注意力权重
。数学模型定义如下:
(17)
(18)
(19)
然后,通过下面的等式计算加权的多方面和上下文表示。
(20)
(21)
最后,将生成的多方面特征向量ha与上下文特征向量hc拼接,以获得
。
3.6. 情感分类层
将信息交互层获得的最终的特征表示r馈送到一个全连接层,随后通过softmax函数执行归一化操作,获取到情感极性决策空间p。
(22)
其中,权重矩阵wp和偏置项bp是可训练的。
模型的训练采用交叉熵损失函数和L2正则化,其计算公式如下:
(23)
其中dp表示情感极性类别的数量,yi表示真实情感极性,pi表示预测情感极性,
是L2正则化系数。
4. 实验
4.1. 数据集
为了验证BC-GCN模型的有效性,在三个公共数据集上进行了实验,即SemEval-2014任务的Restaurant和Laptop [17] 以及Dong等人策划的Twitter数据集 [18]。数据集的每个样本都是用户实际生成的句子。句子标有一个或多个方面的情感标签,其中情感标签有三类:积极、消极和中性。数据集的统计结果如表1所示:
我们使用两个评估指标,准确度Acc和宏平均值MF1来评估BC-GCN模型的有效性。其中dp表示情感极性类别的数量,TP表示正确分类的正样本数;TN表示正确分类的负样本数;FP表示错误分类的正样本数;FN表示错误分类的负样本数;N表示样本总数。Acc和MF1的计算公式分布如下:
(24)
(25)
(26)
(27)
4.2. 参数设置
模型参数设置如表2所示。
4.3. 基线模型
为了验证模型的有效性,本文在实验中比较了以下6种深度神经网络模型,实验结果如表3所示。
Table 3. Statistics of experimental results
表3. 实验结果统计
ATAE-LSTM [10] 连接方面词特征向量和上下文特征向量作为输入,然后使用添加注意力的LSTM来捕获方面和上下文之间的连接。
IAN [8] 使用两个LTSM和一个注意力机制来交互学习方面和上下文表示。
RAM [7] 使用基于注意力的聚合模型来学习具有多层结构的句子表征。
AEN [19] 使用基于注意力的编码器来建模给定方面与其对应上下文之间的关系。
ASGCN [13] 首次使用GCN来获取语法依赖树上的节点信息,并将注意力机制用于情感分析。
GL-GCN [20] 使用两个GCN模型来独立地编码全局和局部结构信息,并使用门控机制自适应地融合这两种类型的信息。
观察表3实验结果可以发现,在restaurant14、laptop14、twitter数据集上,本文BC-GCN模型无论是准确率还是MF1值均优于基线模型,这证明了我们模型的优越性。具体而言,BC-GCN模型将Restaurant14数据集的准确度提高了1.1%,MF1值提高了1.72%。此外,在Laptop数据集上,BC-GCN模型将精度提高了1.66%,MF1值提高了1.33%。在Twitter数据集上,准确度和MF1值分别有0.58%和0.51%的改善。由于Twitter数据集的语法信息比其他两种数据更混乱,这使得BC-GCN模型中依赖语法信息的模块无法有效捕获其特征。总之,我们提出的BC-GCN模型优于所有基线。实验结果表明,句法结构信息和多方面情感依赖信息的融合至关重要。BC-GCN可以通过两种GCN有效地捕获两种结构信息,并通过信息交互层融合两种结构的信息,以相互弥补单个结构信息的不足。
4.4. 消融研究
为了进一步研究BC-GCN模型的每个组件对性能的影响,设计了几个消融实验。每个组件的具体描述如下。BC-GCN/P去除了位置权重层,BC-GCN/S去除了句法图卷积模块S,BC-GCN/M去除了多方面情感图卷积模块M,实验结果如表4所示。
根据表4中的数据,当去除位置权重层时,BC-GCN在三个数据集上的准确度分别降低了0.35%、1.04%和1.42%。这表明,句子中的方面词和文本单词之间的位置信息是不可忽略的。去除S或M会导致不同程度的精确度的下降,特别是在Restaurant数据集上,精度和MF1值会显著下降。这表明单个GCN模块无法执行信息交互,因此无法在方面词和上下文之间学习更多的特征信息。总的来说,包含所有模块的BC-GCN实现了最佳性能。
5. 结论
本文提出了一种双通道交互式图卷积网络(BC-GCN)模型,用于方面级情感分析。该模型采用Glove来初始化单词嵌入,此外,同时考虑句子的句法结构信息和多方面情感依赖性,并使用两个GCN分别学习它们的隐藏表示。最后,使用注意力机制交互学习句法和多方面情感依赖信息,以获得最终的特征向量。在三个数据集上的实验结果表明,句子句法信息和多方面情感依赖信息的交互学习可以有效地提高模型的性能。在未来的工作中,将讨论如何在方面之间构建更准确的情感图结构,并探讨如何将图注意力网络(GAT)引入到模型中,以更好地建模方面词和观点词之间的关系。