基于内联关系的方面级情感分析方法

2022-12-02 11:55张文俊朱蕴文邢毅雪
关键词:极性权值语句

张 克,张文俊,朱蕴文,邢毅雪

(上海大学上海电影学院,上海 200072)

随着互联网媒体和社交应用的用户数量逐步增大,发布在购物、点评和社交网络上的评论越来越细节化,更关注商品和事物各个方面的优缺点,这推动了情感分析方法往方面级分析的发展[1].方面级情感分析(aspect-based sentiment analysis,ABSA)是在海量的商品评价中自动收集用户对商品的各个方面的评价,如从评论中检测用户对商品价格、外观等各个方面的评价.相较传统方法对评论分析得到一个产品的整体评价[2],方面级情感分析能够产生具体到特征的结果,如给定一句英文消费评价“I liked the service and the staff,but not the food.”,目标实体“service”和“staff”是积极情感,而方面“food”则是消极情感.对于用户而言,方面级的情感分析能够帮助其快速地对产品/商家产生一个细节化的概念,帮助其做出选择;而对于商家而言,具体到方面的情感分析能够帮助其定位产品的改进方向.因此,方面级情感分析具有较高的研究价值.

早期的研究主要是使用机器学习算法来进行方面级情感分析[3].首先提取一组特征来描述实体上下文与实体之间的关系,然后根据手工特征从带有极性标签的句子中训练情感分类器,如支持向量机等[4].近年来,神经网络的方法由于其能够自动提取特征的优势,已成为情感分析的有效工具,包括基于卷积神经网络(convolutional neural network,CNN)[5]、基于长短时记忆网络(long short-term memory network,LSTM)[6]、基于注意力机制(attention)等方法[7],这些方法的精确度都高于早期的手工特征提取方法.然而,在方面情感分析任务中一个句子中可能存在多个实体,如需判断某实体的情感时其他实体和相关词将成为噪声,因此在设计神经网络时需要充分考虑目标词和上下文词之间的关系.同时,利用注意机制学习与目标实体相关的上下文特征进行情感分析也表明了神经网络方法在方面情感分析任务中的有效性.

在计算目标与上下文之间的关系时,现有的大多数基于注意机制的方法都通过平均池化法获得目标实体的向量表示.然而,如果目标实体包含多个词,则使用平均函数会引入噪声.此外,句子中存在的多个实例对分类有不平衡的影响,如果借助实体的基本信息,则上下文特征的质量将得到提高.现有的模型还不能有效地解决这一问题.Luong等[8]通过使用LSTM对目标和目标上下文交互学习注意力权值,但该方法试图对所有句子中的信息进行建模,不按相关性对目标上下文进行取舍,导致模型过于复杂.可见,虽然目标和目标上下文的表征学习步骤是必要的,但并不是上下文中每一个词都有利用价值.同时,方面级的情感分析需要通过句中的目标对比来实现,因此有必要将一条完整的文本序列作为模型的输入.

针对上述问题,本工作提出了一种基于内联关系的方面级情感分析模型,该模型可以对目标和上下文进行建模,将重点放在目标的关键词上,以学习更有效的上下文表示.该模型融合了方面与实体关联知识和句法结构依赖关系.方面与实体的关联知识可用于帮助目标词与正确类型对齐,句法结构依赖关系能够支持本模型关注于与目标词相关的上下文信息,挖掘上下文信息中的情感词来进行预测.为了分析结构依赖关系,本工作将语篇结构记忆融合在模型的LSTM中,以获得子句信息,从而辅助与方面相关的局部语境识别.通过注意机制,给无关词分配较少的加权分数,但不完全消除这些无关词的影响,增加模型的泛化性能;对给定子句信息,注意力层可以关注特定的局部上下文,为了生成更有效的特征,本模型提取了多个上下文特征,并结合起来进行方面层次的情感预测.为了利用方面级关联知识,本模型将语句中的单词与方面词融合训练,得到融合方面信息的分布式表达.本模型中还增加了全连接层,以提取多个方面与语句之间的关系.这些结构和方面的知识在最终预测中都起着重要的作用.

本工作首先使用门控循环单元(gated recurrent unit,GRU)对方面信息和句中单词进行融合分布式表达,进行全连接后将分布式表达输入到结合注意力机制的长短时记忆网络中,通过查询机制来增加内联关系的权重,最终得到方面级情感分类.本工作在公开数据集SemEval-2014和SemEval-2016上进行实验,结果表明本工作提出的方法是有效的,精确度均超过基线模型.

1 研究现状

方面级情感分析的目的是推断一个句子中特定目标的情感极性,这个目标是句中实体的一个方面.方面指的是一个实体的特征或性质,一句话中可能会出现目标实体的多个方面.因此,方面情感分析任务的主要挑战是如何有效地模拟目标与上下文之间的关系.Jiang等[9]指出,在该任务中绝大多数分类方法精确度不高的原因是缺乏目标上下文信息.为了解决这一问题,早期的工作主要集中于使用基于统计学的机器学习方法提取特征,用以描述目标和上下文之间的关系,如对目标和上下文进行二元分词和路径解析[10].然而,该方法存在有效特征(如解析特征和解析路径)难以提取和覆盖率低的问题,这些特征的提取在很大程度上依赖于解析工具的性能.因此,众多学者引入了基于神经网络的方法来完成方面级情感分析任务.

基于神经网络的方法(如LSTM网络),可以在没有大量特征预处理的情况下对句子进行编码和预测[11],目前已应用于许多自然语言处理任务中.Tang等[12]提出了文本关系网络(text dependency LSTM,TD-LSTM)和文本内容网络(text content LSTM,TC-LSTM)模型,该方法使用2个依赖型LSTM分别模拟目标词左右子句的上下文,目标词信息也通过词嵌入添加到神经网络输入中,最后使用SoftMax函数作为最后一层的激活函数来实现分类,用交叉熵作为损失函数来计算损失.同样,Zhang等[13]利用门控循环神经网络来模拟目标词左右子句上下文对目标的重要性.这2种方法与直接使用LSTM的方法的区别在于,被分割的子句只能包含一个概率很高的目标.然而,由于语言表达的灵活性,目标上下文很难被目标合理地划分,因此上述2种方法都不能有效地捕捉目标和上下文之间潜在的交互作用.

自注意力机制被成功地应用于机器翻译以来[14],许多学者利用注意力机制来模拟目标与上下文之间的关系.Wang等[15]提出了基于注意力的LSTM(attention-based LSTM,AELSTM)和基于注意力的方面级嵌入(attention-based LSTM with aspect embedding,AETELSTM)网络,将LSTM输入直接与方面词拼接,当给出不同的目标作为模型输入时,该模型只需通过注意层重点学习目标上下文中的相关词的重要性,虽然该模型提升了精度,但是计算开销较大,且容易产生过拟合;Tay等[16]提出了基于语境词与目标之间的联想关系(associative fusion-based LSTM,AF-LSTM)模型,当给定一个目标时允许模型自适应地集中对正确的上下文词进行处理.虽然上述方法通过使用注意机制提高了方面情感分析任务的性能,但在计算上下文的注意权值时,都是使用平均池化方法来计算的.当一个目标包含多个单词时,注意力的表现就会下降.Ma等[17]提出了多力度关注网络(interactive attention network,IAN)模型,该模型设计了2个基于注意的并行网络来学习语句的上下文和目标的分布式表达,然后将这2个网络连接起来进行最终情感分类.虽然IAN模型考虑了语境和目标的关联学习,但仍然是使用平均向量来计算目标和语境的注意力权值.此外,结合注意力权值的上下文和目标的分布式表达被直接连接作为最终分类器的输入,导致上下文与目标之间的交互学习过于简单,目标注意表示没有得到有效的利用.FAN等[31]提出了一种名为多粒度注意力网络(multi-grained attention network,MGAN)的双注意力层分类模型,该模型使用粗粒度注意力来增强上下文相同而情感极性不同的方面对上下文权重学习的差异性,细粒度的注意机制对目标词及其上下文进行交互学习,以减少粗粒度注意力损失.因此,Peng等[18]提出了一种面向方面情感分析任务的分层注意模型,层次包括目标层次的注意力和句子层次的注意力.然而,目标级的注意力网络是一个自我注意网络,只把隐藏的输出本身作为输入,当缺乏上下文的启发时目标层次的注意力权值很难学习到.可见,受到IAN模型的启发,目标上下文信息可以凸显目标的重要性.因此,本工作提出了基于内联关系的方面级情感分析模型,该模型通过注意力机制的权值反映目标与上下文关联强度,从而改善IAN模型中权值平均化问题.

此外,还存在一些使用基于知识的方法来处理方面情感分类任务的工作.Schouten等[19]和Baas等[20]提出了基于规则的本体论方法,利用公共领域知识设计本体,以帮助提高方面情感分类的结果.这种基于本体增强的方面情感分析方法可以明确解决方面词多义的问题,如“物廉价美”被预测为正,“便宜没好货”被预测为负.Khine等[21]将情感常识领域知识嵌入到分层的LSTM注意力模型中,以帮助LSTM过滤掉不相关的信息.引入外部知识来指导模型学习相关规则,使模型能够学习更有效的特征.然而,基于知识的方法非常依赖知识库,不同的知识库对精确度有不同程度的影响,而且本体规则也很难有效地设计为神经网络的输入.

Weston等[22]提出了一种基于记忆网络的通用机器学习框架;Sukhbaatar等[23]对其进行了改进,并提出了一种端到端的模型;受这些工作的启发,Tang等[24]采用预先训练的上下文词的嵌入作为内存,并将目标的平均注意力作为计算单元,利用记忆网络从上下文中寻找与目标相关的词;Chen等[25]使用2层双LSTM网络构建记忆,并在每2层之间的连接中使用GRU来控制记忆.然而,这些工作使用注意力作为计算单元,忽略了目标建模的重要性,表明现有的记忆只能从上下文记忆中寻找与目标情感极性相关的证据.Ma等[30]同样使用双LSTM网络构建记忆,但是他们使用了CNN来替代基于注意机制的循环神经网络来提取最重要的分类特征.由于CNN很难捕捉目标实体信息,故Ma课题值提出了上下文保持转换(context-preserving transformation,CPT)结构和一种上下文保留机制,将带有上下文信息的特征和变换之后的特征结合起来.由此启发,本工作设计了一个记忆模块,根据方面记忆向量和历史上下文内存向量叠加更新,从而学习得到目标及其上下文之间的关系,最终得到方面级情感极性.

2 方法描述

假设已给出文本语料库D,每个评论语句表示为S=[w1,w2,···,wL],其中wi为描述中的词,L为描述中词的最大个数.文本S中的每个词都有一个所属的方面,设方面集合A=[A1,A2,···,AM],其中M为方面的个数.

本模型分为2个部分:①基于方面的语句特征表达(aspect aware sentence representation,ADSR);②结合注意力机制的情感极性分类(见图1).基于方面的语句特征分布式表达用于将描述文本融合方面信息后以向量的形式输出.结合注意力机制的情感极性分类则通过注意力权重值得到语句表达的情感倾向.

图1 本工作提出的方面情感分析模型Fig.1 Architecture of proposed ABSA method

2.1 融合方面信息的语句特征表达

当使用GRU对一条输入语句进行编码时,可能会对具有方面情感信息的个别词造成丢失.为了避免这类信息的丢失,本工作通过融合方面词与语句中每个词,并平均汇集成一个分布式表达来对语句编码,编码器为ADSR.使用GloVe[26]将评论文本与方面词进行嵌入表达.评论文本的每个描述词为wi,每个方面词为ai,将其通过GloVe词嵌入表达为300维(D)的词向量,因此评论文本语句表示为S∈RL×D,方面词向量表示为ai∈RD.根据Wang等[27]提出的方法,将评论文本描述中的词和给定的方面词进行关联,形成一个序列.方面词ai和评论

语句S中的词wi的关联公式为

为了使句子中的上下文信息在循环中保留,且考虑到语句本身具备一定的噪声,故本工作使用GRU进行序列上下文信息的表达.将上一步得到的Sai输入到GRU中,假设经过GRU传播后输出大小为DS(300维).设GRU表达为GRUS,则GRU操作为

式中:ht为t时刻隐层的输出;st为t时刻细胞的状态.该步骤表示如下:Rai=GRUS(Sai),其中Rai∈RL×DS.GRU的参数为

由于语句每个词的情感极性不同,故需要突出每个词与其所属方面关联后的情感强度.因此,加入一个注意层来捕获每个词的注意力权值:

2.2 结合注意力机制的情感极性分类

为了获得句子中隐式的依赖关系,将上一步所得的每个文本语句与方面关联后的分布式表达rai用集合R进行表达,即R∈[ra1,ra2,···,raM]∈RM×DS.然后将集合R融合后得到Q,并输入结合注意力机制的LSTM中进行传递训练.注意力公式为

式中:β=[β1,β2,···,βM]∈RM×1;βi为衡量方面信息和每一个词之间的关联强度,即注意力权重.

语句中每个单词都存在与之对应的融合方面信息的分布式表达.考虑到这些语句的记忆值通常太小易遗忘,本工作使用结合注意力机制的LSTM,读取每一步训练中所保留的记忆信息.向量Q作为输入,经过结合注意力的LSTM训练后输出细粒度向量Q′.设定目标向量为

在Q进入LSTM中训练后,通过查询机制增强注意力权值.设LSTM模块为LSTMatt,规模为Do,则

式中:o∈RDo.

在情感极性分类阶段,为了让目标特征参与分类,融合方面信息的目标文本特征Q′将迁移到LSTM全连接层中进行加权,根据注意力值的分布得到目标的情感极性.情感分类公式为

式中:Wsmax∈RDo×A;bsmax∈RA;取值中最大值即为情感极性.整个算法如表1所示.

表1 本工作提出的基于方面的情感分类算法Table 1 ABSA algorithm proposed by this work

2.3 损失函数

本工作使用神经网络进行迭代次数H为30次的训练,使用分类交叉熵结合L2规则化作为损失函数:

式中:n为样本数;i为样本指数;k为方面数量;λ为正则化权重(设为10-4).优化算法使用基于随机梯度下降的ADAM算法[28],其参数由自适应学习获得,学习速率为0.001.这里使用的跳数H为10[29].

3 实验

通过几个实验来验证本方法的有效性.首先,为了证明本模型的性能,本工作提出的方法将与标准基线方法进行精确度比较;然后,将模型拆分实验,验证模型中各个组件的有效性;最后,通过案例研究验证本模型的有效性.

3.1 数据集

本工作抽取了SemEval-2014(task4)和SemEval-2016(task5)中的部分英文数据集进行实验.SemEval-2014数据集包含4类数据,分别是关于餐厅(Restaurant2014)的评论、笔记本电脑(Laptop2014)的评论、每个评论语句中的方面词和数量以及方面极性.SemEval-2016数据集由关于餐厅(Restaurant2016)和Twitter的评论集构成.每一个评论中包含2个部分:评论文本及其情感标注.情感标注又由2个部分组成:情感极性和实体方面组.其中,实体方面组形式为“实体#方面”(Entity#Aspect).这些评论均已被标记为3种情绪极性:积极(positive,1)、中性(neutral,0)和消极(negative,-1).表2根据标签统计了该数据集的样本分布.

表2 SemEval-2014和SemEval-2016数据集中已标注样本的分布数量Table 2 Distribution of tagged samples in Semeval-2014 and Semeval-2016 data sets

3.2 任务定义与评价指标

在实验阶段,给出一个评论句和一组方面,本模型首先应识别评论中的目标实体及其相应的方面,然后应预测所有“实体#方面组”的情感极性.以餐馆数据集中的一个样本数据为例;对于输入句“For the price,you cannot eat this well in Manhattan”,模型应该输出“Restaurant#Prices”为积极,输出“Food#Quality”为积极.由于SemEval数据集是不平衡数据集,样本语句中存在的多个方面会对整个数据集的精确度和召回率产生较大的偏差,因此本工作使用精确度(accuracy)作为评估模型性能的综合指标,准确度定义为

式中:T为正确预测的样本数;F为错误预测的样本数.精确度是正确分类的样本在所有样本上的比例,通常精确度越高性能越好.

3.3 基线模型

本模型将与如下基线模型进行比较.

(1)LSTM[15].该方法使用一个标准LSTM网络对上下文进行建模,并使用所有隐藏状态的平均值作为最终表示来预测情感极性.

(2)Bi-LSTM[33].Bi-LSTM包含2个标准的LSTM.其中一个LSTM通过正向扫描得到输出结果,与此同时另一个LSTM通过对文本的反向扫描得到输出结果.

(3)TD-LSTM[12].该方法采用2个LSTM网络分别用预测目标和目标左右两边的上下文进行建模.将左右与目标相关上下文连接起来,以预测目标的情感极性.

(4)MenNet[24].MenNet是一个用于方面级情感分类的深度记忆网络.本工作使用包含了9个计算层的MenNet(9)进行试验.

(5)ATAE-LSTM[15].该方法为AE-LSTM[15]的改进版,首先通过LSTM网络对上下文词进行建模,然后将单词隐藏状态与方面嵌入相结合,生成注意力向量来表达上下文.

(6)IAN[17].IAN模型交互地对上下文和目标中的注意力权值学习,并分别生成目标和上下文的表示后再进行情感极性分类.

(7)TNet-LF[32].该模型由LSTM、CNN和一个称为CPT层的特殊组件组成,其中CPT包含特定目标的表示和上下文保存机制.

(8)MGAN[31].该模型使用LSTM学习潜在分布式表达,以及同时包含粗细粒度注意机制来获取LSTM的输出,以捕获方面和上下文之间的交互信息.

3.4 整体效果比较

表3显示了本模型与基线模型的性能比较结果.从表中可以看出,使用平均池化的LSTM方法在所有神经网络方法中性能最差,这是因为该模型过于注重关系导致目标信息被忽略.相较LSTM,Bi-LSTM比LSTM多了一个后向扫描,故Bi-LSTM性能得到提升.在Restaurant2014、Laptop2014和Twitter数据集上,TD-LSTM的性能分别优于LSTM约2.1%、2.2%和3.4%,这是因为该模型是在LSTM模型基础上扩展,并分别对目标的左右上下文分别进行建模.但是由于Laptop2014和Restaurant2016数据集大多采用单方面评论语句,故在这2个数据集上,TD-LSTM的性能比Bi-LSTM分别下降约1.1%和1.4%.由于MenNet模型的精确度与层数相关性较强,故9层模型表现较差.ATAE-LSTM使用注意力机制来模拟目标和上下文之间的关系,该模型的性能分别优于TD-LSTM约0.8%和1.5%,但在餐厅评论数据集中未能凸显其优势.IAN模型的表现优于ATAE-LSTM约1.4%和3.4%,因为IAN模型首先考虑对目标进行关注建模,所以这确实有助于提高分类精确度.TNet-LF和MGAN在Restaurant2014和Laptop2014数据集中表现并不突出,这是因为这2个模型侧重于语句内部关系,而不是目标与方面词关系.

表3 模型性能评价Table 3 Performance of our model proposed

本工作预先将方面信息引入文本分布式表达中,增加了模型的适应性.在结合注意力机制,并在LSTM中叠加多个计算单元后,精确率在Restaurant2014、Laptop2014数据集中相较最好的IAN模型分别提高了2.7%、2.6%,精确率在Restaurant2016和Twitter数据集中比最好的TNet-LF模型分别高出0.7%和0.19%.表3结果表明,本模型获得了最好的效果,较之TC-LSTM、TD-LSTM、MemNet(9)和ATAE-LSTM,本模型的精确度超过其他基线模型.结果还表明:①ATAE-LSTM模型使用了SLSTMs结构,能够把一句话从2个角度去处理,从而能更好地利用目标上文和下文的内容语义信息来完成目标方面词求解;②利用注意力机制是有效的,本模型使用的注意力生成方法确实可以增强方面信息,并能够充分利用方面词与其上下文词之间的相关性.

3.5 模型在单方面和多方面语料性能比较

单方面语料指的是每个样本语句中只存在一个方面的情况.多方面语料指的是每个样本语句中存在不止一个方面的情况.

表4为不同语料下模型性能比较.从表中可以明显看出,AE-LSTM和ATAE-LSTM的性能相近.针对单方面语料分析,ATAE-LSTM的性能优于AE-LSTM,而对于多方面语料的性能AE-LSTM优于ATAE-LSTM.本模型在单方面语料分类任务的表现优于基线模型中最好的IAN模型,分别高出约0.7%和1.1%.在多方面语料的餐厅数据集下,本模型性能依然优于IAN模型0.8%和0.8%,这是由于在多方面语料的样本中,多个目标的上下文处于共享状态,导致多个目标得到了相同的加权.因此,本工作使用查询机制在LSTM的循环结果中加权[22]来解决这个问题,使得单词级注意力权值集中在特定的目标对象上,产生了正确的方面权重感知,得到了正确的分类.

表4 不同语料下模型性能比较Table 4 Performance of models on different corpus acc%

3.6 案例分析

本案例中,使用评论“The food was well prepared and the service impeccable.”作为案例研究.在本案例中,标注“Food#Taste”的情感为积极,“Service#General”的情感为积极.本工作在测试中还选择了2个错误的方面:“Restaurant#General”和“Food#Price”,其中“Restaurant#General”在本案例中是弱相关的,而“Food#Price”是不相关的.图4显示了在这4种情况下句子的最后的表达热力(hotmap)分布.图中,每一行表示的是句中每个单词与方面的关联强度,颜色越深表示关联强度越大,图中的红色表示为积极情绪的信号(0.0~1.0).

从图2中可以发现,在案例文字的前半部分,模型对“Food#Taste”部分给出了积极结果.尽管案例文字与“Food#Prices”相关,但是相关性并不是很强.模型对文字后半部分是“Service#General”也给出了积极结果;并同样因为相关性,对“Restaurant#General”给了较低的分值.不相关的方面组“Food#Prices”在文字的每一部分中都得到了最低分值,这是因为模型使用最大池化作为方面类别选择器,最终模型认定这组为不合法.最后,第一组和第三组被输入到模型中,经过分类得到“Food#Taste”和“Service#General”为积极情感.

图2 模型为语句表达构建的热力图Fig.2 A hotmap for the visualization of proposed model

4 结束语

针对现有方面级情感分析方法使用平均向量计算目标上下文注意力权值的问题,本工作提出了一个新的方面级情感分析方法.首先,本工作提出了一种基于方面的分布式表达方法,并为文本中目标对象及其上下文特征设计了一个LSTM网络,该方法以一种更直观、更有效的方式进行基于方面的情感分析任务.同时,本工作将注意力权值融合入该LSTM中,使其可以交替地学习目标和上下文关联强度.最后,本工作在SemEval-2014与SemEval-2016数据集上进行实验,实验结果表明本工作提出的模型可以降低目标噪声词的影响,充分利用目标的关键词来学习更有效的上下文表示,从而进行情感分析,本模型的性能优于大多数LSTM方法.在今后的工作中,本工作将设计一个更高效的上下文表示方法,解决多个目标对象与同一个上下文之间存在关联关系的问题.同时,本工作还将考虑在网络中如何添加外部知识,以解决否定词识别的问题.

猜你喜欢
极性权值语句
一种融合时间权值和用户行为序列的电影推荐模型
有机反应极性机理试剂分类的探索
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
一种基于互连测试的综合优化算法∗
跟踪导练(四)
财务风险跟踪评价方法初探
我喜欢
冠词缺失与中介语句法损伤研究
作文语句实录
键的极性与分子极性判断的探究