基于双特征嵌套注意力的方面词情感分析算法

2021-06-10 17:19:02肖宇晗林慧苹汪权彬谭营
智能系统学报 2021年1期
关键词:特征提取注意力语义

肖宇晗,林慧苹,汪权彬,谭营

(1. 北京大学 软件与微电子学院,北京 102600; 2. 北京大学 信息科学技术学院,北京 100871)

随着互联网的迅速发展,人们越来越倾向于 在网络上发表自己对商品或服务的看法。提取评论所蕴含的情感态度与需求,有利于商家深入分析用户的潜在需求,判断市场走向,改进产品或服务设计。

值得注意的是,人们在进行评论时,一般不会发表长篇大论,而是倾向于用一两句话概括某个事物的某个方面的好坏,甚至会在同一句话中对多个方面表达不同的情感态度。因此,方面词情感分析任务的研究近年来颇受关注。该任务的要求是,在给定文本以及方面词的情况下,分别对这些方面词所承载的情感态度进行分类[1-2]。例如,给定“这家店的环境不错,服务周到,但食材不新鲜”这段文本,并给出“环境”、“服务”、“食材”这3个方面词,算法应当判断出用户对“环境”和“服务”的情感态度是正向,而对“食材”持负面态度。考虑到方面词往往蕴含了用户对产品或服务的需求,方面词情感分析算法的研究将对细粒度分析用户潜在需求有着重要意义。

与文档级和句子级情感分析任务相比,方面词情感分析任务粒度更细、更具挑战。其中一个棘手的问题是,如何在保留情感有效项信息的同时,尽可能减小干扰项对情感判断的负面影响。例如,“我买过这家的鼠标、电脑和平板,鼠标很快就没用了,至于这个电脑,不好也不坏,平板倒是挺结实”,如果要求对方面词“电脑”进行情感分析,答案理论上应是中立,但一些算法很容易将其误判为正向或负向,原因就在于未能有效减小“鼠标很快就没用了”和“平板倒是挺结实”对情感分析的干扰作用。除此以外,语言的丰富性与灵活性也显著提高了方面词情感分析任务的难度。一些习语以及复杂句式也会对情感分析的结果产生不利影响。例如,“I have never had a bad meal”,就方面词“meal”而言,情感态度是正向的,但部分模型会根据设计的规则或以往的训练经验,因“bad”的存在而给出错误的分类结果[3]。

目前,处理方面词情感分析任务的主流方式是通过深度学习方法来赋予模型细粒度的情感分析能力。为了避免在神经网络层数较多时出现梯度消失问题,长短时记忆网络[4](long short-term memory, LSTM)成为大多数深度学习模型的基本网络结构选择。Tang等[5]在此基础上提出了基于目标的长短时记忆网络模型(target dependent long short-term memory model, TD-LSTM),分别通过2个独立的双向长短时记忆网络来提取方面词左边语境和右边语境的语义特征,获得了比基础长短时记忆网络更好的实验结果。而注意力机制的引入,则使得深度学习模型能够更好地利用有效项的语义特征,并弱化情感干扰项的负面影响。Ma等[6]在互动注意力网络模型(interactive attention networks, IAN)中首次提出了语境特征和方面词特征之间的互动式学习,他们通过池化整句话对应的隐藏层状态来获取语境对方面词的注意力权重,从而使得IAN能够重点考虑语境中的情感有效项信息。针对训练数据不足的问题,Xu等[7]提出了半监督序列生成模型(target-oriented semi-supervised sequential generative model,TSSGM),在减小对训练数据的依赖性的同时能够提升情感分类器的判断精度。

在最近2年里,通过预训练语言模型来增强模型的语义表示能力成为方面词情感分析任务的研究热点。取自语言模型的词嵌入[8](embeddings from language models, ELMo),以及基于transformer[9]的生成式预训练[10](generative pre-training,GPT),均是其中的优秀代表。而BERT[11](bi-directional encoder representations from transformers)的提出,则更是里程碑式地刷新了多达11项自然语言处理任务的最高成绩。Karimi等[12]在实验中使用基础BERT模型来完成处理方面词情感分析任务,发现其效果已经超过绝大多数普通神经网络模型。Song等[13]探索了BERT在方面词情感分析任务中的优势,分别提出了用于句对分类的BERT模型(BERT model for sentence pair classification,BERT-SPC)与带有BERT的注意力编码网络(attentional encoder network with BERT,AENBERT),在多个数据集上都取得了前沿性的结果。

尽管现有的模型在方面词情感分析任务上有着不俗的表现,但仍在2个方面存在不足。一方面,在很多研究工作中,方面词的重要性未能得到充分的重视。Jiang等[14]在Twitter数据集上评估了一个情感分类器的效果,结果发现40%的分类错误都缘于没有考虑方面词的指示作用。这说明,如何充分使用方面词提供的位置特征和语义特征将是影响模型效果的重要因素。另一方面,方面词的情感倾向往往与邻近的形容词、动词等主观性词语关联更大,位置较远的词语很有可能成为干扰项。有些算法虽然已经考虑到方面词的重要价值,但却没有真正把握好如何利用方面词和语境之间的联系,往往只是提取方面词特征和整个评论的全局语义特征来进行运算,未能有效地消除干扰项的不利影响。

针对上述不足,本文首次将阅读理解领域提出的AOA(attention-over-attention)与BERT预训练模型相结合,提出了含BERT加持的双特征嵌套注意力模型(dual features attention-over-attention with BERT,DFAOA-BERT),借助BERT来获取优质的词向量和语义编码,在此基础上计算AOA数值,并提取关键语义特征。此外,DFAOABERT还分别设计了全局和局部特征提取器,使得模型既能获得全面的语义信息,还能有效减小情感干扰项的负面作用。实验证明,DFAOABERT在3个公开数据集上均取得了优异的成绩,而在主实验基础上进行的子模块有效性实验,也充分证明了模型主要组成部分的设计合理性。

1 AOA注意力机制

AOA机制由Cui等[15]提出,用于处理阅读理解领域中的完形填空问题。它将完形填空任务转换为问答任务,把每个填空的候选项看作对文档的查询(query),并设计了一套算法,计算查询对文档的注意力数值以及文档对查询的注意力数值,将计算获得的双向注意力结果视为最终语义匹配特征,在此基础上为每个候选项进行打分和排序。

Huang等[3]则对阅读理解领域的AOA进行了调整,将其应用到方面词情感分析任务中。方面词被视为查询,方面词邻近的语境被看作是待查询的文档,通过计算方面词和语境之间的双向注意力数值来获得语义匹配特征,最终将产生的结果输入到情感分类层中。实验结果表明,AOA在方面词情感分析任务中有着优秀的表现,能够帮助深度学习模型更为充分地利用方面词本身提供的信息以及它和语境之间的语义关联。

设AOA的输入为方面词的语义编码ha和语境的语义编码hc,其中,ha∈Rmd,hc∈Rnd,m是方面词序列的长度(单词数),n是语境序列的长度,d是语义编码的维数。计算AOA数值的第1步是获取两者的语义联系矩阵M:

式中M∈Rnm,M中第i行j列的元素表示语境序列中第i个词和方面词序列中第j个词的语义匹配分数。

接着,对M的列进行 s oftmax 操作,获得方面词对语境的注意力数值 α ;对M的行进行softmax操作,获得语境对方面词的注意力数值 β。

对 β 按列计算平均值获得 β ¯∈Rm,最后的AOA注意力数值 γ ∈Rn则由 α 与 β¯ 点乘得到:

2 本文模型

模型的介绍将围绕输入层、词嵌入层、编码层、注意力机制模块以及分类层这5个部分展开。

2.1 输入层

对于局部特征提取器而言,输入序列就是包含方面词的语境序列以及方面词序列本身。全局特征提取器的输入序列则有所不同,其语境序列需要经过特殊处理。受BERT-SPC模型[13]启发,为了充分发挥BERT在本任务中的作用,全局特征提取器将原语境序列处理成“[CLS] + 原语境序列 + [SEP] + 方面词序列 + [SEP]”的形式。其中,“[CLS]”和“[SEP]”是BERT使用的2种标记符号,前者是特殊分类向量标记符,聚集了分类相关的信息,后者是分隔符,在输入多个序列时用于分隔不同序列。将原语境序列处理成这种特殊形式其实是将原格式转化成了BERT在处理文本分类任务时所要求的输入格式,从而充分发挥BERT的效果。对于方面词序列,全局特征提取器与局部特征提取器的处理方式相同。

2.2 词嵌入层

DFAOA-BERT模型在该部分将单词一一映射到低维向量空间中,映射方式选用BERT词嵌入。与GloVe[16]不同的是,BERT提供的是一个语义理解模型,而GloVe提供的只是一个词嵌入矩阵。

设GloVe提供的矩阵为M,则M∈Rde×|V|,其中,de是词嵌入的维数, |V| 表示单词的总数,通过矩阵M,可将任意单词wi映射成维数为de的向量。而BERT词嵌入层则是一个基于序列到序列技术[4]的预训练语义理解模型,其参数并不是像GloVe这样固定不变的。因此,使用一个BERT词嵌入层来获取局部特征提取器输入序列与全局特征提取器序列的词嵌入,和使用2个互相独立的BERT词嵌入层所产生的结果不完全相同。本模型中采用2个独立的BERT词嵌入层,原因在于该选择会小幅度提升算法的训练效果。

图1 DFAOA-BERT模型结构Fig. 1 Structure of DFAOA-BERT model

2.3 编码层

本层的任务是将输入序列对应的词嵌入编码成含有丰富语义信息的向量。词嵌入本身包含的信息较为基础,基于循环神经网络的模型一般使用长短时记忆网络来对词嵌入进行编码,DFAOA-BERT则使用MHSA[9](multi-head self-attention)提取语义特征。MHSA的主要思想是通过多个注意力函数来对每个单词计算注意力数值,将这多个注意力数值拼接在一起后进行激活函数运算,其结果即为输入序列的语义表示。MHSA中的自注意力机制函数可以选用不同的设计,DFAOA-BERT使用的是SDA(scaled dot product attention),相较于其他自注意力机制而言,其优点在于既可以保证编码效果,又能够有效提高计算的效率。

令词嵌入层的输出为Xe,SDA的计算方式为

式中:Wq、Wk、Wv均为权重矩阵;Wq∈Rdh×dq;Wk∈Rdh×dk;Wv∈Rdh×dv。这3个矩阵中的权重属于模型的可训练参数。dq、dk、dv是矩阵维度,三者的值都为dh/h,其中,dh是隐藏层维数,h是多头自注意力机制中的头数。根据每个注意力头的SDA计算结果,可得到整个MHSA的输出Oe:

式中: ⊕ 表示向量的拼接操作;WMHSA是一个向量矩阵;WMHSA∈Rhdv×dh; T anh 为激活函数。

通过以上步骤,MHSA将基础的词嵌入编码为包含丰富信息的语义向量表示。为方便下文阐释,记语境序列对应的语义编码为方面词序列对应的语义编码为

2.4 注意力机制

DFAOA-BERT模型的注意力机制设计以AOA为核心,相对于全局特征提取器而言,局部特征提取器额外设计了语境动态加权模块来增强其获取局部关键信息的能力。

1) 语境动态加权模块。

语境动态加权模块的设计思想在于,一个方面词的情感态度往往只与邻近的词有关,远距离的词反而可能提供噪声信息而干扰模型的判断。因此,从本质上讲,语境动态加权模块就是一个位置相关的注意力机制,保留邻近词的积极作用,根据位置关系弱化远距离词的干扰。

受Zeng等[17]提出的局部情境焦点(local context focus, LCF)模型启发,DFAOA-BERT的语境动态加权模块定义了语义相关距离D,根据D来判断如何给语境所对应的语义向量设定计算权重。设输入的原语境序列为W={w1,w2,···,wi,wi+1,···,wi+m−1,···,wn} ,其 中 {wi,wi+1,···,wi+m−1} 为 方 面 词 序列,对语境序列中的任意单词wj(1≤j≤n),D的计算方法为

获得每个单词对应的语义相关距离之后,需要设置语义相关距离的阈值TD,之后即可进行语境动态加权计算。对于语境序列中的任意单词wj,其语义编码向量所对应的权重sj计算方式为

对语境序列的每个单词按顺序计算权重,得到权重矩阵 S =(s1,s2,···,sn)。语境动态加权的最终输出 Ow,即为语境序列的语义编码与 S 相乘的结果:

2) AOA机制。

AOA机制是DFAOA-BERT注意力机制的主体部分,局部特征提取器和全局特征提取器都以此为核心。其主要设计思想与计算方法在第1节已作详细阐述。由于2个特征提取器在该部分的运算方式基本一致,下面以局部特征提取器为例进行具体说明。

考虑到BERT词嵌入的维数较高,进入AOA模块后运算速度很慢,所以,DFAOA-BERT首先使用双向长短时记忆网络(bi-directional long short-term memory,Bi-LSTM)压缩维数、提取语义信息。令 hc和 ha分别为Bi-LSTM最后输出的语境隐藏状态和方面词隐藏状态,其计算方法为

获得以上结果之后,根据第1节阐述的AOA原理,计算得出最终的AOA注意力数值 γ。

2.5 分类层

本模型将 r 视为情感分类所依据的最终分类特征,通过一个线性网络将其映射到任务所要求的结果空间,并使用 s oftmax 来计算方面词所对应的情感态度为z的可能性:

式中: Wl、 bl分别是线性网络的权重矩阵和偏移。Z是情感分类结果的种类数,在本任务中,情感态度共有负面、中立、正面3种,故Z=3。

在模型的训练方面,DFAOA-BERT采用交叉熵损失函数来计算训练损失,同时应用L2正则化来抑制过拟合现象。损失函数为

式 中:I(·) 是 指 示 函 数; λ 是L2正 则 项;θ 是DFAOA-BERT模型中所有可训参数的集合。

3 实验结果与分析

3.1 数据集信息

本文在3个公开的方面词情感分析数据集上进行了实验:SemEval 2014任务4中的餐馆评论数据集和笔记本评论数据集[18],以及ACL-14 Twitter社交评论数据集[19](为方便下文说明,将这3个数据集分别简称为餐馆数据集、笔记本数据集和Twitter数据集)。表1给出了各数据集的训练评论数与测试评论数。

表1 数据集组成信息Table 1 Composition information of the datasets

3.2 基线

为了全方位评价DFAOA-BERT的表现效果,本文选用了多个基线模型进行结果对比。这些基线模型基于不同的设计思想与技术原理,包括普通神经网络模型与含BERT加持的深度学习模型。

1)支持向量机[20](support vector machine,SVM)是应用传统机器学习解决方面词情感分析任务的代表模型。它使用支持向量机技术来结合特征工程进行情感分析。

2)基于目标的长短时记忆网络模型(TDLSTM)[5]分别通过2个LSTM来提取方面词左右两边的语义特征,将两部分语义信息拼接后计算情感数值。

3)互动注意力网络(IAN)[6]使用2个LSTM来分别获取语境和方面词的语义表示。它根据语境的语义表示的隐藏层状态来构造对方面词的注意力权重,反之即可构造方面词对语境的注意力权重,取得了不错的效果。

4)循环注意力记忆网络[21](recurrent attention network on memory,RAM)使用Bi-LSTM来进行文本记忆表示,同时创新性地使用了一个循环单元网络来将语境特征的多个注意力输出组合在一起。

5)嵌套注意力[3](AOA)综合考虑到方面词的语义信息和在整个评论中的位置特征,不仅能生成方面词对整个语境的注意力权重,还能计算出语境对方面词的注意力权重。

6)基础BERT[11](BERT-base)是基础的预训练BERT模型。即使不添加任何额外模块,该模型的表现依旧非常突出。

7)带有BERT的注意力编码网络[13](AENBERT)的设计基于预训练BERT模型,其特点在于完全使用注意力机制来编码语境和方面词的语义表示。

8)用于句对分类的BERT模型[13](BERTSPC)使用BERT模型来处理句对分类任务,将该模型应用于基于方面词的情感分析任务时,需要将模型的输入处理成“[CLS] + 整个句子 + [SEP] +方面词 + [SEP]”的形式。

9)后训练BERT[22](post-trained BERT,BERTPT)模型在方面词情感分析任务上探索了BERT模型的后训练策略,成功地提升了BERT模型的精调效果。

10)BERT对抗训练[12](BERT adversarial training,BAT)模型将计算机视觉领域常常涉及的对抗学习思想应用到方面词情感分析任务上,其训练损失包括主模型的损失与对抗模型的损失这2部分。

3.3 实验参数与结果对比

实验中涉及的模型参数设置如下:DFAOABERT在语境动态加权模块定义的语义相关距离阈值TD设为5。BERT版本选用uncased BERTbase,词嵌入的维数为768。语境动态加权模块中Bi-LSTM的隐藏层维数设为150。模型中的可训练参数使用Glorot[23]初始化方法来进行初始化,学习率设为 2 e−5(在Twitter数据集上实验时设为 5e−6),L2正则项设为 1 e−5,dropout率[24]则根据不同数据集进行灵活调整,餐馆数据集设为0.1,笔记本数据集设为0,而Twitter数据集则设为0.5。模型采用Adam优化器[25]来最小化训练损失。由于模型参数数量较大,为防止显卡内存不足,每批训练评论数设为16。模型的评价方法选用准确度与Macro-F1,两者数值越高则说明模型的情感分析能力越优秀。

实验结果如表2所示。表2中的Acc表示准确度,MF1表示Macro-F1,两者均为模型的评价指标。对比模型的结果取自已发表的论文,“−”指原论文没有发表该结果,其中,BERT-base的结果取自Karimi等[12]的实验结果。DFAOA-BERT的结果在显卡NVIDIA Tesla P100上运行获得。最优秀的结果加粗表示。可以看到,在3个数据集 上,DFAOA-BERT均取得了非常优秀的成绩。

表2 实验结果对比Table 2 Comparison of the experimental results %

普通基线模型中,基于特征工程的SVM提出时间最早,但其效果却出人意料得好,超过了多数不含BERT加持的基线模型。因此,如果不考虑人力成本,SVM在特定数据集上将会是一个不错的选择。TD-LSTM模型的结构最为简单,只使用了2个LSTM,但其效果也是最不理想的。而引入注意力机制的模型,例如IAN、AOA,通过精心设计的注意力机制来引导网络进行语义特征提取,从而获得比TD-LSTM优秀很多的结果。

根据表2可以观察到,就餐馆评论数据集而言,80%的分类准确度已经接近模型效果的天花板了,而BERT模型的加持,则使情感分析结果获得了惊人的提升。即使是最简单的BERT-base模型,其效果已经超过了绝大部分普通基线模型。AEN-BERT、BERT-SPC和BAT为了充分发挥BERT的强大优势,设计了合适的网络结构和子模块来引导整个模型满足方面词情感分析任务的要求,取得了令人瞩目的成绩。DFAOA-BERT则凭借双特征AOA机制,无论是在准确度还是Macro-F1分数上,都获得了比上述基线更理想的结果,证明了整体模型在解决方面词情感分析任务上的优秀能力。

3.4 子模块的有效性实验

为验证DFAOA-BERT模型中主要子模块的设计合理性,本文进行了相应的补充实验。结果如表3所示。其中,“w/o”(without)代表去除,“G”代表全局特征提取器,“L”代表局部特征提取器,“cdw”代表语境动态加权模块。所有实验均在显卡NVIDIA Tesla P100上进行。最优秀的结果加粗表示。

表3 DFAOA-BERT模型与其变种的实验结果对比Table 3 Comparison of experimental results between DFAOA-BERT model and its variants %

可以清楚地看到,缺少任一模块,DFAOABERT模型的效果都将有着明显的下降。全局特征提取器的缺失对整体效果影响最大,这说明了全局语义特征对于本任务的重要性。最难判断的句子往往具有一个特点,即情感指示词会出现在模型意想不到的位置,因此,仅依靠局部特征提取器将会因位置问题而在很大概率上忽视情感指示词的作用,导致情感判断产生关键性错误。

在笔记本评论数据集和Twitter评论数据集上,局部特征提取器和全局特征提取器的缺失所带来的效果下降幅度相近。这两者在整体模型中有着相辅相成的关系,全局特征提取器能够顾及全面的语义信息但却没有突出重点,局部特征提取器则相反,可以充分捕捉方面词邻近语境的语义特征但却难以考虑全面。两个提取器对DFAOABERT的作用都非常关键。而语境动态加权模块作为局部特征提取器所独有的注意力机制设计,较为显著地提升了局部特征提取器的表现效果。

通过上述补充实验,可以验证DFAOA-BERT各子模块在本任务上的有效性。

3.5 结果分析与改进

根据上述的实验结果,可以发现,与之前的模型相比,DFAOA-BERT的综合表现较为优异。无论是全局、局部特征提取器的设计,还是语境动态加权模块的引入,都对整体模型的效果有着显著的正面作用。

但DFAOA-BERT依然存在一定的改进空间。对实验结果进行横向对比,可以观察到,DFAOABERT在餐馆数据集上的表现非常优异,而在处理笔记本数据集和Twitter数据集时会呈现出明显的准确度下降。出现该问题的主要原因在于,笔记本数据集和Twitter数据集中存在较多拼写错误与无意义的标记,从而对模型的语义特征抽取和情感分类造成了很大的困难。将AEN-BERT与DFAOA-BERT进行对比,可以观察到,虽然DFAOA-BERT在餐馆数据集上有着显著的优势,但在笔记本和Twitter数据集上的表现却和AENBERT差别不大。这是因为AEN-BERT在语义编码和特征抽取模块上有着更为合适的设计,它针对方面词情感分析任务专门设计了一套注意力机制来生成语义表示并提取特征,而非使用大多数模型所选取的LSTM。因此,DFAOA-BERT在处理低质量数据集方面仍存在上升空间,可通过设计合理的注意力机制来改进语义编码和特征抽取模块,减小模型对数据质量的依赖程度。

此外,BERT的领域内精调以及方面词抽取模块的引入,也是提升DFAOA-BERT效果的两种改进方向。BERT的领域内精调是指对基础的BERT模型进行一定调整,使用额外的领域内语料资源来增强BERT在该领域的语义表示能力,从而帮助整体模型获得更优秀的情感判断能力。方面词抽取模块的引入则相当于使用一个模型来同时完成方面词情感分析任务和方面词抽取任务,而这两个任务所涉及的模型参数存在相辅相成的效应,在Li等[26]以及Hu等[27]的实验中被证明能够有效提升整体模型的效果。因此,DFAOABERT可通过以上两种改进思路,增强方面词情感分析能力。

4 结束语

本文针对当前方面词情感分析任务研究中存在的不足,设计了DFAOA-BERT模型。该模型首次将AOA与BERT预训练语言模型相结合,能够有效提取指定方面词的情感特征。而全局和局部特征提取器的设计,则使得模型既能顾及整个句子的全局语义信息,还能有目的性地弱化情感干扰项的不利影响。实验证明,DFAOA-BERT在SemEval 2014任务4中的餐馆评论数据集、笔记本评论数据集以及ACL-14 Twitter社交评论数据集上均取得了优异的成绩,而子模块的有效性实验也充分说明了DFAOA-BERT各个模块设计的合理性,任何部分的缺失都将对模型的效果产生显著的不利影响。

尽管DFAOA-BERT模型在多个数据集上都有着不错的表现,但它仍存在一定的提升空间。本文分析了一些模型的设计优势,阐释了DFAOABERT存在的不足,并从多个角度提出了改进方向与策略方案,以期增强DFAOA-BERT的情感判断能力与处理低质量数据时的稳定性。

猜你喜欢
特征提取注意力语义
让注意力“飞”回来
语言与语义
基于Daubechies(dbN)的飞行器音频特征提取
电子制作(2018年19期)2018-11-14 02:37:08
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
Bagging RCSP脑电特征提取算法
A Beautiful Way Of Looking At Things
“上”与“下”语义的不对称性及其认知阐释
现代语文(2016年21期)2016-05-25 13:13:44
认知范畴模糊与语义模糊
基于MED和循环域解调的多故障特征提取
语义分析与汉俄副名组合
外语学刊(2011年1期)2011-01-22 03:38:33