论文链接:https://ieeexplore.ieee.org/abstract/document/9368987
论文代码:https://github.com/LittleSummer114/Detecting-Dependency-Related-
Sentiment-Features-for-Aspect-level-Sentiment-Classification
作者:张兴、徐静云、蔡毅、谈星伟、朱昶熹
单位:华南理工大学
1. 动机介绍
情感分析是自然语言处理的一项基础性任务。其中,方面词级别的情感分类任务(即细粒度情感分析)旨在识别句子中给定方面词的情感极性(包括积极、中性、消极三种情感极性)。如图1(a) 例子所示,方面词“food”表达出积极的情感倾向;通常地,相同的评论句子中常出现多个方面词并可能表达出不同的情感倾向。比如图1(a)中的句子中方面词“food”表达出积极情感倾向,而方面词“waiting”表达的是消极的情感倾向。对此,能准确捕捉和学习对应方面词相关的情感特征成为了细粒度情感分析的一个挑战。面对该挑战,常见的两种解决方案包括 (1) 对句中词语与给定方面词的相对距离进行特征表征。(2) 基于注意力与门机制的自动特征学习;然而他们存在着一些问题导致方面词与情感词关联错误的问题,针对第一种基于句中相对距离计算的方法难以处理带有从句的复杂句子。如图1(b) 所示可以发现,与方面词“waiting”距离最近的观点词却为“so popular”,从而导致仅仅采用将句中词语与方面词的相对距离作为特征,会将方面词“waiting”误判为积极情感倾向。同时,第二种基于注意力与门机制的方法通过采用注意力与门机制自动计算词语与方面词间的相关性得分,从而获得方面词相关的情感特征。然而,其依赖上下文与方面词的特征空间表示,若句中方面词具有相似的特征空间时会带来相关性计算错误的问题。比如评论 “the [battery]1 doesn’t last long but i’m sure an upgrade [battery]2 would solve that problem.”中具有两个方面词(均为“battery”方面词),其中具有相似的上下文语义特征,注意力机制容易无法区分起对应的不同情感特征。
基于以上发现,本文提出基于语法依赖关系的细粒度情感分析方法。图1(c)展示了评论的依赖解析树。可以发现,给定的方面词“waiting”与上下文词语“nightmare” 具有主语关系,但与句中最短相对距离的上下文词语“popular”独立且不具备任何语法关系。基于以上发现,本文通过计算语法依赖关系特征对方面词与上下文中情感词之间的相关性进行定量,准确地捕捉方面词相关联的情感特征,进一步提升细粒度情感分析性能。
图1 (a) 方面级别的情感分类例子;(b)句子中每个词与方面词“waiting”的相对位置;(c) 句子中每个词与方面词“waiting”的依赖解析树以及语法依赖距离
我们提出的框架主要包含2个模块: 权重计算模块和情感分析模型。我们提出了3种方法计算依赖权重,并将获得的权重输入到2种不同的神经网络去进行方面级别的情感分析。
2.1权重计算模块
依赖权重是一个实数值,可定量衡量句子中每个单词和方面词之间的依赖相关性。每个词的依赖权重通过将句中单词与方面词间的语法距离输入到递减函数中获得。其中的句法距离通过求依赖解析树中的最短路径获得。本文采用斯坦福解析器对评论句子进行依存句法解析。如图2为展示的是三个常用的递减函数。
图2不同权重计算方法 (a) Binary Weighting Function (b) Linear Weighting Function (c) Gaussian Weighting Function;
αi 表示的就是词语wi的依赖权重;di 表示的是单词wi 以及给定方面词t之间的句法距离。当给定的方面词t由多个单词组成, 本文选择与句中单词与方面词内单词最短距离;k是一个控制句法距离对于权重影响的参数;σ 是高斯分布权重计算方法的一个中间变量。
如图3所示,共有3种不同的用于计算权重的方法:
(a) 直觉上,和方面词的句法距离小的词语应该被激活,而离方面词的句法距离大的词语不应该被激活。因此,我们先提出一个二元加权函数,用1.0 和 0.0 来分别表示和方面词的句法距离大的词语以及和方面词的句法距离小的词语。除此之外,我们使用超参数 k 来控制相对距离大小。具体来说,我们认为距离不大于 k 的是小距离,距离大于k则为大距离。这样的话,那些距离方面词近的词语被激活的概率就会远大于那些距离方面词比较远的词语。
(b) 一般来说,数据中可能会包含有噪音数据。这些噪音数据会对结果的预测产生干拢。为了解决该问题,我们提出线性加权函数来对数据进行平滑处理,使曲线更加光滑,从而减小噪音数据对真实数据的影响。线性加权函数能够使得权重从 1.0 平滑下降到 0.0。
(c) 我们观察到,那些表达了观点信息的观点词与方面项的距离非常小但不是0。如果能够使模型对观点词赋予较高的权重的话,能够提升模型的分类性能。因此,我们提出了高斯分布加权函数,能够使得权重缓慢变化从而使得尽可能多的观点信息被保留。
关于3个权重函数中都涉及到的超参数k,我们给出了一个关于它如何影响任务的解释。一方面,当 k 太小时,给定方面词相关的观点词会被模型分配到一个较低的权重值,导致模型忽略正确的观点信息;另一方面,如果 k 太大,给定方面词无关的观点词则会被赋予一个很高的权重,这些错误的观点信息会给模型带来噪音。
2.2 基于依赖权重的CNN
基于CNN的网络结构,本文将在卷积层和池化层间添加一层依赖加权层;图3展示了基于依赖权重的CNN模型结构图。具体地,经过卷积层得到n-gram的特征表示ci后加入依赖权重值,最终得到n-gram的表示,如以下公式所示。
图3 基于依赖权重的CNN的模型结构
2.3 基于依赖权重的双向LSTM
RNN是一种有效捕捉序列性数据的特种提取器,然而传统的标准RNN具有梯度消失与梯度爆炸的问题。因此,LSTM的提出能有效缓解梯度消失和爆炸的问题。如图4所示,与基于依赖权重的CNN网络结构类似,将句中单词的序列Embedding输入到双向LSTM网络结构,分别得到每个单词的隐藏层表示hi, 并将依赖权重加权到具体的单词向量表示,公式如下:
图4 基于依赖权重的BiLSTM模型结构
2.4 细粒度情感分类与训练
基于以上两种特征编码器,获得句子的特征向量表示z。采用softmax函数计算给定方面词的情感极性类别,并采用交叉熵损失函数计算loss,如下:
3.1 数据集
本文在3个公开的数据集进行的性能的测试,分别包括:源于SemEval-2014任务4中的Restaurant-14和Laptop-14数据集以及源于SemEval-2016任务5中的Restaurant-16数据集;表1展示了数据集相关的统计信息。
表1 数据集统计信息
3.2 相关工作实验对比
表2与表3分别展示了相关模型在数据集Restaurant-14、Restaurant-16和Laptop-14的对比实验结果。
表2 在数据集Restaurant-14与Restaurant-16数据集上细粒度情感分析的实验对比
表3: 在数据集Laptop-14数据集上细粒度情感分析的实验对比
3.3 消融实验:采用不同的权重计算方法
表4与表5分别展示了基于CNN与LSTM特征编码器采用不同的权重计算公式的消融实验结果。实验结果发现采用上下文词语与方面词的相对位置特征与依赖关系权重特征的方法均取得了更佳的性能。
表4 基于CNN特征编码器的细粒度情感分析模型采用不同权重计算方式的消融实验结果
表5 基于LSTM特征编码器的细粒度情感分析模型采用不同权重计算方式的消融实验结果
3.4 案例分析
表6展示了采用句子中词间相对位置特征与基于语法解析的依赖权重特征的对比案例分析。以下例子可以发现融入基于语法解析的依赖权重特征的模型能更准确捕捉到方面词相关的情感特征。
表6 模型PW-CNN与DW-CNN的案例分析;单词的下标值表示的是相对位置距离或语法依赖距离;绿色字体的单词表示的是每个样本下最为活跃的观点词
本文通过引入依赖关系来检测方面词相关的情感特征,并提出依赖加权来定量计算依赖权重。同时,将依赖加权分别集成到 CNN 和 Bi-LSTM特征编码器中,设计出依赖加权 CNN 和依赖加权 Bi-LSTM 分别处理方面级别的情感分类。通过在三个公开的情感分类数据集上进行了大量实验,以证明依赖权重的有效性和普遍性。