基于概念图卷积的方面级情感检测方法
2022-07-09高庆吉田学进邢志伟
高庆吉,田学进,黄 淼,邢志伟
(中国民航大学 机器人研究所,天津 300300)
0 引言
方面级情感分析(ABSA,aspect-based sentiment analysis)是用户情感分析中的一项细粒度任务[1],包括属性类别情绪分析和属性术语情绪分析,其目标是识别和检测给定句子中的实体词、方面词和观点词,并对给定句子中的每个特定属性对应的情绪极性(例如,积极、中性或消极)进行预测。
目前方面级情感分析领域的研究主要集中于用户消费评价,自动驾驶模式为所有利益相关者带来了一个全新的场景。而人机对话形成服务确认,是一种必然趋势,人机达成供需是自主载人车实施服务是必要环节,人机之间存在形成认可和法律责任问题,结合无人车接受模型与方面级情感分析进行信任度评判,可准确有效地检测旅客意图,为将来航站楼服务机器人自主实现引导、调节旅客航站楼内活动提供依据。因此,方面级情感分析对于用户挖掘、新兴自主载人车投入服务以及产品服务重建方面有广泛应用前景。
对于方面级情感分析,方面示例包括产品、服务、主题、组织、事件、及其属性。示例“The sandwiches and sushi is delicious but the waiter is very rude”, 如图1所示,“sandwiches”和“sushi”描述属性类别“food”, “waiter”则描述“service”, 以此分析用户对“食品”和“服务”的态度。
图1 包含两个基于方面的情绪分析实例
目前,ABSA技术主要以情感词典、机器学习和深度学习为基础的方法。基于情感词典的方法实现过程中不存在繁杂步骤,但其局限在于此方法对于方面级别的情感的检测和分类效果严重依赖于情感词典质量。基于机器学习方法[2]需人工提取特征,而基于深度学习的ABSA模型[3],可以自动获得语料的文本特征信息并提取信息中所含的复杂非线性关系,从而引起了该领域内学者的广泛重视。随着词嵌入技术的发展,卷积神经网络(CNN, convolutional neural networks)[4]可兼顾句子映射到低维的语义表示和单词序列信息以及本地文本表示的保持,由此发展出具有选通机制的CNN[5]应用于ABSA。但CNN模型只卷积连续单词的信息,从而忽略非相邻词的影响。而后因递归神经网络(RecNN,recursive neural network)[6]模型能够灵活地捕捉属性与其上下文词之间的语义关系而被引入ABSA,RNN及其变体被广泛应用至ABSA任务,如长短期记忆网络(LSTM, long short-term memory)及其变体BiLSTM[7]。Tang等人[8]提出了目标导向性的长短期记忆网络(TD-LSTM,target-dependent LSTM)和与目标连接的长短期记忆网络(TC-LSTM),前者通过二个单向LSTM对目标单词的左部上下文与右部上下文分别进行建模,后者在TD-LSTM的基础上,将目标单词引入至输入端。为了更好地关注语料的属性等关键信息,Gu等人[9-12]在ABSA中融入了注意力机制以便聚焦关键信息。
相较于CNN和RNN,GCN能够有效地处理具有图结构的数据,THOMAS等人首次将GCN[13]应用于ABSA,利用句法依赖结构解决了长期多次依赖的问题。Zhang等人[14]设计了包含属性门控机制的ASGCN模型,使用与属性相关的编码器改善了缺乏属性信息而导致的错误预测。近来,利用GCN与依存句法树相结合的ABSA模型取得了很好的效果[14-17],ZHANG等人[14]设计了包含属性门控机制的ASGCN模型,从而通过句法依存树建立融合属性词和语义信息的表达形式,并联合注意力机制进行语料的属性词和语料语义信息的交互,通过采用与属性相关的编码器改善了缺乏属性信息而导致的错误预测。进一步地,Sun等人[15]考虑到句法结构对ABSA的重要影响,通过依赖树卷积模型(CDT,convolution over a dependency tree)融合句法、词性、位置和语义特征信息,由此诠释了语法距离及其权重的定义和计算方式,从而设计了结合图卷积和Bi-LSTM的轻量级ABSA模型。为获取更加准确的上下文信息,Zheng等人[16]以随机遍历搜寻句法依存树的方式来确定与情感极性相关的特定子树。研究表明与属性词距离越近的情感词对属性词影响会越大,巫浩盛等人[17]结合词语的语法距离和句法结构,进一步提出了基于距离与图卷积网络的DGCN模型(DGCN, distance and graph convolutional network)。在特征提取过程中,情感分类常用基于词典的向量空间模型 (VSM)、潜在的语义分析 (LSA)、基于无监督算法的词嵌入(Word 2 word)和随机词向量法来进行特征信息的提取。这些方法都是对单个词语进行处理,陈等人[18]使用改进的隐马尔科夫模型 (MHMM)构建词对向量特征并取得了很好的效果。
前文所述模型重点考虑属性词、位置信息和上下文之间的语义关系,主要从词的层面提取文本的语义特征, 未充分考虑属性词和邻近词组的局部信息的重要性,从而导致模型很难充分利用语料库中文本信息。在模型训练的过程中结合词性特征信息,能有效避免模型训练过程中的文本语义特征信息的缺失问题。所以,方面属性词的局部信息与全局信息、方面属性词与观点词和实体的交互信息、相对位置信息与词性信息都是影响ABSA效果的关键因素。
因此,结合3大关键影响因素,提出一种融合注意力机制和词汇-句法分级图卷积的神经网络模型(A-LSGCN,lexical syntactic graph convolution based on adaptive attention mechanism), 联合多头注意力机制及词汇-句法图卷积,模型同时考虑句法结构和语料库共现信息,联合多头注意力机制及词汇-句法图卷积并使用局部聚合机制检测、提取从而生成方面词的局部属性信息,通过以方面词为导向的方式叠加更新属性记忆向量和句子的历史上下文内存向量,从而学习获得目标及其上下文之间的关系的特征表示方法,最终得到特定方面属性对应的情感极性分类作为输出。
1 A-LSGCN分类模型设计
综合考虑方面属性词的局部信息和全局信息、方面属性词与观点词和实体之间的交互信息、相对位置信息和词性信息这三大关键因素对ABSA的影响,设计A-LSGCN模型。模型框架如图2所示。
图2 A-LSGCN模型框架
1)首先把由语料库构建的全局词汇概念图和语料库单词序列作为输入来获得初始句子表示。
2)其次,设计一个多层聚合模块(AggIn,aggregate & interaction),即AggIn聚合卷积模块。在AggIn聚合卷积模块对局部分级词汇概念图和分级句法图进行浅层聚合和深层卷积交互,输出精化语义特征后的句子表示。
3)再次,采用基于方面属性为导向的掩码和门控机制得到特定方面属性的表示,从而提升模型对句子中特定方面属性对应的情感极性的预测精度。
4) 最后通过基于检索的注意力权重网络层最终输出特定方面属性对应的情感极性。
1.1 A-LSGCN文本预处理
任务描述:语料库给定句子S,由n个单词组成,其中包括从第(a+1)个位置开始、长度为τ的方面属性词,任务目标是识别S中特定方面属性的情感极性,即积极、中性和消极3种极性。
S=[w1,…,wa+1,…,wa+τ,…,wn]
(1)
其中需考虑:
1)共同出现频率高的词组代表语言学中的固定组合;例如,词组“nothing great”表示负极性,需要全局信息抵消“great”对句子S总体的正面影响,以便做出综合全局信息的判断;
2)每种不同类型的句法依存关系描述某种特定的语法关系;
3)构建全局词汇概念图用于属性类别情绪分析任务。对语料库级别的单词共现信息进行编码,其中节点是单词,边表示训练语料库中两个单词节点之间的频率;
4)建立概念分级,对不同类型的依存关系或词对共现关系进行分级。
因此,为了更好地区分句子S中的谓语的主语和宾语,在融合词对共现信息和句法依存信息时使用双向GCN网络,由此建立用于训练语料库的全局词汇概念图,和语料库中句子的局部分级句法图。
1)句法分级概念图构造。每个依存关系都代表一个词在句子中的特定语法功能,直接使用依赖关系作为图的边可能会导致与解析错误类似的噪音[11]。因此为句法图附加概念分级类型的标签,可构建了分级概念的句法图HSG。
HSG={Vs,Es,Rs}
(2)
其中:Vs,Es,Rs分别是节点集、边集和句法关系类型集,Es中的每条边都附加了对应的Rs中的依赖关系类型标签。
2)词法分级图构造。全局词汇概念图:对语料库里级别的词汇共现信息进行编码,其中单词作为节点,训练语料库中两个单词节点之间的频率作为边。
词法分级图:A-LSGCN模型通过在全局词汇概念图的基础上,融入分级概念来区分不同类型的句法依存关系或词对共现关系在句子S中的重要程度。词的共现频率是高度偏斜的,根据对数正态分布对词的共现频度进行分组,从而形成词对概念分级,由此构建全局分级词法图,同理可构建局部分级词法图。
(3)
1.2 A-LSGCN分类模型
提出的A-LSGCN模型架构包含4个模块,如图3所示。
图3 A-LSGCN模型结构图
1.2.1 句子初始表达(词嵌入层)
使用300维GloVe向量[15]初始化单词预训练词典,对语料库中的句子S进行文本嵌入,对于预训练词典外的词汇则通过均匀分布实现词汇的随机初始化。将语料库数据中的每一个词汇由高维向低维映射,从而得到低纬度的向量空间表示形式,其数值矩阵的数学表述为:Ew∈Rv*d。
其中:v代表预训练词典中的词汇量,d为使用单词预训练词表对句子S进行词嵌入的维度。Ew用于将具有n个单词的序列映射到词向量,嵌入后文本表示为[e1,…,ea+1,…,ea+τ,…,en]∈Rv*d。
1.2.2 语义提取层
采用基于全局词汇概念图的GCN 形式特征嵌入和基于双向LSTM的Bi-LSTM embedding表示优化句子编码方式。构建嵌入矩阵Ewf∈RN*d作为训练语料的特征矩阵,用于在句子S的特征表示形式中编码语料库中特有的词汇信息,其中N为语料库训练集的词汇量,d为词嵌入向量的维度;并对HLGo执行GCN层,从而获得整个训练集的词汇嵌入矩阵Egcn∈RN*dx。由Egcn可通过查找表获到S的GCN embedding,[x1,…,xa+1,…,xa+τ,…,xn]∈Rv*dx,在图3中用x表示。
然后经Bi-LSTM层处理获得Bi-LSTM embedding,记作Zt∈RN+dz,[z1,…,za+1,…,za+τ,…,zn]∈Rv*dz在图3中用z表示。
1.2.3 AggIn聚合卷积层
将初始句子表示形式,即x,z作为模型输入,A-LSGCN模型进一步通过局部分级概念词汇图和分级句法图在聚合交互模块AggIn深层交互,通过卷积交互精炼含局部分级概念词汇图和分级句法图相互影响信息的特征表示形式,即S的精炼表示。AggIn包含多层结构,交叉网络用以融合x和z的特征信息,并通过双层GCN以在分级句法图和局部分级概念词汇图上进行卷积,最终获得句子S的精炼表达。AggIn通过多层结构的设计,使得在不同层级执行的不同类型信息能够交互和协作。可用逻辑描述如下。
y0=x⊙z,y0∈Rdg
(4)
yl=y0yl-1Twl+bl+yl-1
(5)
其中:l、wl和bl分别为层数、权重和偏置,且wl,bl∈Rdg。yl为xl和zl输入双向GCN前的节点。
深层聚合用于把浅层聚合中得到的虚拟节点及其对应的特定依存关系类型信息融合在一起,并通过使用不同关系类型对应的虚拟节点上设置的平均聚合函数,从而能够更新目标单词wt的信息表示形式,如下所示:
(6)
⊕r为不同关系类型表示的连接,Wl为第l层中的权重矩阵。
经此层后,x和z的精炼表示分别为x′l和z′l。
(7)
(8)
在聚合模块的最后一层,形成最终的聚合嵌入。
hL=x′L⊙z′L
1.2.4 融合双头注意力机制的情感极性分类层
为了更好地检测和预测句子S中特定方面属性的情感极性并进行分类,A-LSGCN模型在情感极性分类层中采用门控机制对流向给定方面属性aspect的情感信息进行筛选和控制。
(9)
(10)
经过门控和掩码处理后,全局检索语义与方面属性词相关的特征作为重要显著特征,并为方面属性词与其每个上下文词间的相互影响设置基于检索的注意权重因子。S最终表示为P。
(11)
(12)
其中:zt是双LSTM嵌入Zt∈RN*dz。
1.3 损失函数选择
模型使用BCE With Logits Loss函数:
(13)
其中:ln为第n个样本对应的loss。
(14)
wi是超参数,用于处理标签间的样本不均衡问题。对于一批训练集,若其中某个标签的出现次数较少,计算loss时应该给予更高的权重。
1.4 A-LSGCN评价指标
对于语料库中给定的评论句和一组方面属性,A-LSGCN模型在预测所有“实体#方面属性”组的情感极性前,需要先识别评论中的目标实体及其相应的方面属性。例如,针对句子“The sandwiches and sushi is delicious but the waiter is very rude”,模型对方面属性进行检测和处理后输出“RESTAURANT#SERVICES”为消极,输出“FOOD#QUALITY”为积极。
由于样本存在不均衡性,句子S中包含的多个方面属性存在精确度和召回率产生无法忽视的偏差,因此A-LSGCN模型采用准确率(Acc)和F1分数的宏平均值(Macro average F1,即MF1)作为评价指标。其中,Acc评价A-LSGCN模型的分类的准确率,定义为正确分类的样本数在样本总数量的比例;MF1是评估模型性能的综合指标。并且,为了更加准确地刻画模型的有效性,实验过程中严格控制评测方式。
根据以上语料库样本分类的可能情况,准确率计算公式如下:
(15)
(16)
对于单个类别,式中TP表示被正确预测的语料样本数量;FN是当前的类别被预测成其他类别语料样本的数量;FP是其他类别的语料样本被预测为当前语料样本的数量。
2 实验与结果分析
2.1 A-LSGCN实验环境与数据集配置
实验环境配置如表1所示。
表1 实验环境配置
实验数据来自SemEval 数据集(即Laptop14、Restaurant14、Restaurant15和Restaurant16)。评论中包含目标单词和目标单词的情感极性,数据集统计信息如表2所示。
表2 实验数据集配置
为了能够更好地学习语料库数据的文本结构的特征信息,在使用预训练词典时附加维度为300的位置嵌入。实验数据样例如表3所示。
表3 实验数据样例
2.2 实验流程及实验参数设置
实验分为数据预处理、图结构的生成和模型训练及调整3个步骤,实验流程如表4所示。
表4 实验流程
其中,数据库中评价文本包含口语和部分缩略词,其表示内容很难与书面表达完全符合。因此,实验前首先需要对实验数据进行清洗和规范化,包括改写缩略词、去除不规则标点符号等操作,使文本更规则和严整。
以Restaurant16数据集为例对比不同优化器(包括Adagrad、Adam、Ada-max、ASGD和RMSprop优化器)对A-LSGCN模型的性能影响,使用不同优化器训练损失值散点图、训练时长对比、准确率及MF1分数对比如图4所示。
由图4可见Adam优化器损失函数值方差较小,且仅需56轮便可训练完成,可兼顾训练速度和精确率,因此为加快模型收敛使用Adam优化器。
图4 使用不同优化器时A-LSGCN性能对比改图
使用GloVe预训练好的词向量进行A-LSGCN模型的语料上下文和方面属性词的初始化。BiLSTM的隐藏层大小为300。使用Dropout和L2正则项减少过拟合,使用均匀分布进行A-LSGCN模型的权重初始化,实验参数如表5所示。
表5 参数设置
2.3 基线模型选择与实验结果分析
选用的对比基准模型包括基于注意力机制的ABSA方法和基于图和语法的ABSA分析模型,将A-LSGCN模型与以下7个基线进行对比。
2.3.1 基于基于注意力机制的方法
MemNet[8]通过注意力机制融合句子的位置特征信息设计深度注意网络,从而对属性级情感极性进行检测分类,最终在多个公开数据集上的分类效果表明该模型在传统LSTM模型的基础上,其检测和分类效果有一定提升。
IAN[10]考虑方面属性词和语料观点词之间的相互影响和交互性,以此为解决思路融合方面属性词和整句语义并使二者进行交互,从而实现了方面级情感的检测。
AOA[12]借鉴机器翻译领域的AOA(attention-over-attention)机制并将其融入方面级情感分析。通过引入AOA模块,方面级情感检测和分析模型可以同时学习方面属性和句子的表示形式,并自动关注句子中的重要部分,从而取得很好的分类效果。
2.3.2 基于图和语法的方法
RepWalk[9]建立的神经网络模型通过在句法依存树上随机遍历搜寻与方面级情感极性相关的特定子树,从而模型得到了更加准确的上下文信息。
TD-GAT[10]提出了一种图注意网络来明确利用词之间的依赖关系。
ASGCN[14]使用GCN与句法依存树融合建立属性词和语义信息的表达形式,并考虑二者间的相互影响,使用注意力机制对二者进行交互。但不够充分的词性信息是模型检测和分类效果提升不显著的主要原因。
CDT[15]是一组结合了图卷积和 Bi-LSTM 模型的轻量级情感分析模型,其中融合了句法信息、词性信息、相对位置信息及语义的特征信息,最终在缩短模型训练代价的同时提升了方面级情感分析的分类效果。
ASGCN由于词性信息的缺失使得效果并没有很好的提升,CDT在缩短模型训练代价的同时取得了良好的分类效果。A-LSGCN与其它模型方法的对比如图5所示。
图5 A-LSGCN与其它模型准确率对比
在所选公开数据集上的实验结果对比如表6所示。
由表6可见,A-LSGCN模型在Laptop14、Restaurant14、Restaurant15、Restaurant16数据集上MF1值分别提升了1.1%、1.14%、1.77和0.84%,准确率分别提升了5.5%、0.3%、0.21和0.90%,实验结果验证了A-LSGCN模型的有效性,且精确度和MF1分数均超过基线模型。
表6 准确性和MF1 (%)对比
3 结束语
目前方法大多使用注意力机制隐性建模属性-情感表达关系,而忽略了语法信息和句法依存信息的问题。因此,为了提高方面级别的情感检测方法准确率,设计了融合词汇-句法图卷积的神经网络分类模型(A-LSGCN)。首先,该模型同时考虑句子句法结构和语料库共现信息,充分学习通用语法知识,减少了隐性建模导致的误差。其次,模型通过句法依存图神经网络提取句法结构信息,直接匹配方面属性及其情感表达,有效缓解了冗余信息对分类的干扰。A-LSGCN分类模型相较于8种主流模型,在保持相同分类速度的前提下,准确率和MF1分数均有所提升。A-LSGCN能够更好地解决细粒度情感分类问题,效果更贴近于实用性。
方面级情感分析可推广应用至新兴的自动驾驶行业,例如封闭场景内的自主载人车。自主载人车实施服务需要机器人与人达成一致共识,从而保证服务的合法性及责任的追溯。方面级情感分析可结合无人车接受模型与方面级情感分析进行乘载合约的达成度计算,实现基于方面级情感分析模型乘载合约自动形成方法。