句子的属性级别(aspect-level)情感分类[1],也称细粒度情感分类或特定目标情感分类[2],是近年来自然语言处理(natural language processing, NLP)领域中情感分析任务的一个热点,主要任务是研究如何在给定一个句子和一个目标属性的前提下判定句子关于该属性的情感极性.早期工作主要侧重于如何将句子的各种语法特征(如词性或句法结构)或外部知识(如情感词典或规则)引入到传统的机器学习方法中,如文献[3-5].近几年,由于深度学习方法在自动学习文本特征方面具有明显的优势,可以避免依赖人工设计特征,因此在句子属性情感分类中开始得到应用.一些学者陆续提出各种基于神经网络的分类模型,如递归神经网络(recursive neural network)、卷积神经网络(convolutional neural network, CNN)或循环神经网络(recurrent neural Network, RNN)等,并在多个数据集上取得突出的成绩.例如Dong等人[6]结合句子的依存树结构和特定目标的位置提出基于自适应递归神经网络的情感分类方法;Tang等人[7]在长短期记忆网络(long short-term memory network, LSTM)的基础上提出特定目标依赖的情感分类方法TD-LSTM(target dependent LSTM);Zhang等人[8]将句子划分为左上下文、目标和右上下文3个部分,然后利用双向GRU(bidirectional gated recurrent unit, BGRU)学习属性的情感特征表示;Nguyen等人[9]在Dong等人[6]的工作基础上指出句法信息对属性情感分类的有效性,提出利用短语和句法关系将句子的依存树转换为属性相关的短语依存二叉树,同时结合多种语义组合函数的递归神经网络为该依存二叉树建模并判断属性情感极性;Ruder等人[10]指出不同句子间通过互相提供上下文信息可以帮助模型更好地判断评论文本中多个属性的情感倾向,从而可将其转换为一个句子级别的序列标注任务,并利用一个层次化LSTM网络进行属性情感分类判别.这些工作较好地利用了句子的语法特征和属性的位置信息等,但在刻画属性和上下文之间的关系时往往需要根据属性的位置对句子的句法树和依存树结构进行转换,容易破坏句子中原本的序列信息.
近2年,为了更好地刻画不同属性的上下文信息并体现句子中不同单词对情感极性的影响,一些学者开始将注意力机制引入到属性情感分类任务中.例如Wang等人[11]提出基于注意力和属性词向量的LSTM(attention based LSTM with aspect embedding, ATAE-LSTM)模型,主要以属性词的词向量为注意力目标,将属性特征表示和句子经过LSTM建模后的隐藏状态矩阵连接,并利用一个前馈隐藏层求出每个时间步隐藏状态的注意力权重,从而构造属性相关的情感特征表示.Wang等人[12]在Tang[7]和Wang[11]的工作基础上将句子中各单词对属性词的依赖信息引入到注意力权重的学习中,Tay等人[13]则将注意力权重的计算方式由前馈隐藏层转换为circular correlation和circular convo-lution.Tang等人[14]还将记忆网络(memory network, MemNet)与多层注意力机制相结合,通过利用多层注意力机制生成属性和上下文的特征表示.随后,Chen等人[15]指出MemNet中的属性和上下文特征表示本质是词向量的线性组合,并提出循环注意力记忆(recurrent attention memory, RAM)模型.RAM的主要思路是利用一个堆叠的双向LSTM生成外部记忆矩阵,然后根据句子中单词和属性词间的距离信息为每个单词产生的记忆片段分配不同的位置权重,最后利用GRU网络及多层注意力机制构造属性的情感特征表示.Ma等人[16]提出交互注意力网络(interactive attention networks, IAN),主要是利用LSTM分别对句子和属性建模,然后通过一个交互式注意力机制分别选择句子和属性中的重要信息,最后合并结果作为情感特征并预测属性的情感极性.梁斌等人[2]则在多注意力CNN的基础上结合词向量注意力、词性注意力和位置注意力等多种机制学习句子的深层次情感信息,最后在SemEval 2014的Latop和Restaurant数据集上取得68.04%和79.17%的准确率.
总地来说,基于注意力的属性级别情感分类研究已经取得了较好的效果,但仍存在2点不足:1)忽略属性词的上下文信息.现有研究在根据属性词计算注意力权重时往往简单地将属性的词向量平均值或线性组合作为其特征表示,没有考虑属性词中的短语及其修饰词的词序及上下文信息.2)没有考虑单词的位置信息及单词间的依赖关系信息.部分研究虽然采用相对距离刻画单词与属性词之间的位置信息,但没有考虑单词间的语法依赖关系,且容易出现因表达方式的问题而导致远离属性的相关情感词的权重被线性降低,从而影响模型对注意力权重的学习.作者在前期工作[17]中虽然通过属性依存子树引入语法距离,但没有进一步考虑单词间的相对距离信息.
本文在上述工作的基础上利用句子的依存树抽取包含属性及其修饰信息的属性子句,并结合单词与属性词之间的相对距离及语法距离,提出一种基于注意力的句子属性情感分类模型DTDA,最后通过公开的语料库进行验证和分析.
在句子的属性情感分类任务中,一个句子通常包含多个不同的属性,并且对应着不同的情感极性.例如,句子“This French food tastes very well,but the restaurant has poor service.”中包含2个不同的属性“French food”和“service”,对应的情感极性分别为积极性的(Pos)和消极的(Neg),即(French food, Pos)和(service, Neg),如图1所示:
Fig. 1 An example of aspect-level sentiment classification
图1 属性级别情感分类例子
与普遍的句子情感分类不同,属性情感分类的判别不仅依赖于句子的上下文信息,还依赖于属性的特征信息[1].同一个句子的不同属性可能具有完全相反的情感极性.因此,如何准确地刻画属性及与句子上下文的关系是属性情感分类研究中一个非常关键的问题.现有的许多相关研究主要利用预训练词向量给出属性中各个单词的表示,然后通过求平均值、求和或其他线性组合的方式得到属性的特征表示.这种表示方式一方面容易丢失短语中单词的序列信息,另一方面由于目前常用的预训练词向量主要由word2vec或Glove等模型根据一定窗口内的单词共现信息训练而成,因此导致出现在相近上下文信息中的属性也具有相近的词向量,难以形成有效的差异化表示.人们在句子中表达属性的情感时往往添加一些形容词及副词等修饰成分,例如“poor”或“badly”等.这些修饰词很大程度上影响了句子中属性的情感极性,即修饰词与属性词间存在一定的依赖关系.因此,可利用句子的依存树进一步分析句子中各单词间的关系.以图1中的句子为例,其依存树如图2所示:
Fig. 2 Dependency tree structure for sentence
图2 句子的依存树结构
由图2可知,句子S包含2个属性:(a1,“French food”)和(a2,“service”).属性a1为短语,且存在词性为限定词的修饰词“this”.属性a2为单词,且存在词性为形容词的修饰词“poor”.显然,属性的修饰词一般依存于属性词,并与属性一起构成以属性词中某个单词为根节点的依存子树.因此利用句子的依存树结构可抽取属性的依存子树(dependency subtree),从而得到包含属性及其修饰信息的属性子句(aspect clause)[17],如图2中的Sa1=“This French food”和Sa2=“poor service”.
相对于简单基于词向量的平均值或线性组的属性特征表示来说,属性子句不仅包含属性词本身,还包含属性的修饰信息以及它们之间的位置顺序信息.
一般来说,句子中属性相关的情感描述词往往与该属性的位置非常接近.梁斌等在文献[2]中指出属性情感分类中单词与属性词间的位置往往隐含重要的信息,离目标词更近的词对目标词的影响更大.因此,可将属性与句子中各个单词间的相对距离作为一种重要的信息引入到属性情感分类模型中.以图1中的句子为例,单词与属性词间的相对距离如图3所示:
Fig. 3 An example of relative distance
图3 相对距离例子
文献[15]同样也利用相对距离信息刻画单词与属性间的关系,目的是为了更好地生成属性相关的句子特征表示.对于每一个包含k个单词wi(1≤i≤k)的句子S=(w1,w2,…,a,…,wk),针对每一个属性a可得到相应的相对距离向量CS,a=(c1,c2,…,cn).
虽然相对距离能够刻画单词与属性词间的位置关系,但使得句子中各单词的权重以属性词为中心,并向左右两边线性降低.由于句子的情感表达往往是一个比较复杂的语法结构,包含对比和否定等,因此有些情况下相对距离难以全面客观地体现句子中各个单词对属性情感极性判定的影响.例如,在句子“Although the food is very good, the service in this restaurant is so dreadful”中属性词“service”与情感词“good”的距离要比“dreadful”更近,但显然“dreadful”才是属性“service”的正确情感表达,其权重应该要比“good”更大.
Fig. 4 Syntax distance of dependency tree for aspect a1
图4 属性a1的依存树语法距离
下面将单词和属性间的距离定义为两者在句子依存树中的路径长度,即语法距离.在句子的依存树中,单词间通过依存关系进行连接,因此越是相关的单词其语法距离越小,而跟它们在句子中的实际位置无关,即语法距离能够更好地反映单词与属性间的相关性.以图1为例,属性a1=“French food”和a2=“service”的依存树语法距离分别如图4和图5所示.
Fig. 5 Syntax distance of dependency tree for aspect a2
图5 句子中属性a2的依存树语法距离
在基于依存树的语法距离计算过程中,离属性越近的单词具有越高的权重.若属性为短语,则以该短语中最后一个单词作为代表计算与句子中各个单词的语法距离.具体算法描述如下:
算法1. 语法距离计算(SynDistanceCalculation).
输入:目标单词wi及属性词a;
输出:语法距离di,a.
计算过程:
num1=0,cur=wi;
while cur≠cur.head
*若不是依存树根节点*
num1=num1+1,cur=cur.head;
end while
num2=0,cur=a;
while cur≠cur.head
num2=num2+1,cur=cur.head;
end while
di,a=0;
if num1>num2
for i in range(num1-num2)
wi=wi.head,di,a=di,a+1;
end for
else
for i in range(num2-num1)
a=a.head,di,a=di,a+1;
end for
end if
num2=min(num1,num2)
*取最小值*
for i in range(num2)
if token1≠token2
di,a=di,a+2;
else
break
end if
end for
return di,a.
对每一个S及属性a,由算法1可得到相应的语法距离向量DS,a=(d1,a,d2,a,…,dn,a),其中di,a∈Rn为单词wi和属性a的语法距离.则句子S中各单词wi的权重值li,a为
![]()
(1)
其中,dmax为DS,a中最大值.
由式(1)中可知:位置权重li∈[0.5,1]一方面保证句子中远离属性的单词的最小权重在一定范围内,另一方面使得与属性距离更近的单词有着更高的权重,从而防止模型在预测属性的情感极性时被与该属性无关的强烈情感词误导.
根据每一个属性a可计算得到一个与句子S长度相同的基于语法距离的权重向量LS,a=(l1,a,l2,a,…,ln,a),其中每一个元素li,a∈R(1≤i≤|S|)为句子中对应位置的单词wi在预测特定属性a时的位置权重.
假设句子S=(w1,w2,…,ai,…,aj,…,wk)为一个包含k个单词的序列,wt表示S中第t个单词,ai和aj表示不同的目标属性词,y=(y1,y2,…,ym)为目标情感极性类别.句子属性情感分类任务的目标就是对给定的S及a(如ai或aj),判定S关于a的情感极性,即计算S和a在y中各极性类别上的似然概率分布:
f:(S,a)→y=(y1,y2,…,ym).
(2)
结合依存树及距离信息提出一种基于注意力的句子属性情感分类模型DTDA(dependency tree and distance attention),模型结构如图6所示:
Fig. 6 Structure of DTDA model
图6 DTDA模型的结构
DTDA共包含4层:
1) 输入层.主要负责对句子S进行一些预处理,如长度补齐、依存关系分析、计算相对距离及语法距离等,并根据属性及句子的依存树抽取相应的属性依存子句.在此基础上,利用预训练词向量表将句子S及属性子句Sa中的各个单词映射成为低维、连续和实数的向量表示.
2) 编码层.利用双向GRU层分别对句子S和属性子句Sa进行建模,并结合语法距离生成相应的句子上下文特征表示和属性的特征表示.
3) 注意力层.根据句子的上下文特征和属性特征,利用注意力机制为句子中的单词分配合适的注意力权重,针对每一个属性生成特定的情感特征表示.
4) 输出层.针对各个属性的特定情感特征利用Softmax层预测相应的情感极性并输出.
输入层主要是对句子S=(w1,w2,…,wk)进行预处理,并将其转成为基于词向量的表示.具体包括:
1) 属性的依存子树抽取.根据1.1节所述对句子S进行依存关系分析,然后抽取属性a的依存子树Sa,并线性化得到一个连续单词序列:
Sa=(ws+1,ws+2,…,ws+r),
0≤s<k∧0≤r<k∧s+r≤k.
(3)
显然,Sa为S的某个子序列,即Sa∈S.下面统称该序列或属性的依存树为属性子句,并用Sa表示.
2) 长度预处理.为了便于模型的处理,根据句子和属性子句的长度分别进行相应的补齐或截断处理.以句子S为例,假设句子长度阈值为n(n通常取训练语料库中的最大句子长度或某一具体值),对于长度超过n的句子,只截取前n个词;对于长度少于n的句子,用特定标志(如
PAD
)进行补齐.例如,对句子S=(w1,w2,…,wk)的长度预处理操作如下:
![]()
(4)
同理,对属性子句Sa进行相应的长度预处理.后面若无特别说明,S=(w1,w2,…,wn)和Sa=(ws+1,ws+2,…,ws+r)均表示已进行长度预处理,其中r为Sa的长度阈值.
3) 词向量表示.分别将预处理后的S和Sa中的每一个词wi(1≤i≤n或s+1≤i≤s+r)映射为一个连续且带语义信息的低维稠密实数向量.
假设N∈R|V|×d为一个预训练或随机初始化的实数词向量表,其中|N|表示词汇表N的大小,d为词向量的维度(如50维).对于句子S=(w1,w2,…,wi,wi+1,…,wn),N(wi)∈R1×|N|为单词wi在N中的位置向量,即对应wi的位置为1,其他位置均为0.利用N和矩阵向量积可将每一个词wi转化为N中的一个1×d维向量![]()
![]()
(5)
由式(5)可将每一个句子S转换成一个n×d维的实数向量矩阵表示
将每一个属性子句Sa转换成一个r×d维的实数向量矩阵表示
若单词在N中不存在,则利用区间[-0.25,0.25]上的正态分布进行随机初始化.
对于S,针对每一个属性a可得到相应的相对距离向量CS,a=(c1,a,c2,a,…,cn,a).用矩阵C存储数据集中所有句子的位置取值,并将所有位置值映射为一个多维向量
Rn×d,然后计算句子S的最终表示
其中:
![]()
(6)
即句子S的特征表示XS包含了单词的语义信息及位置信息.
编码层的主要任务是利用BGRU分别学习句子及属性子句的上下文信息,并得到相应的特征表示.BGRU的结构如图7所示:
Fig. 7 Structure of BGRU
图7 BGRU的结构
对于BGRU,设任意第t个时间步的正向输出为
逆向输出为
的输出维度为de,则有
![]()
(7)
![]()
(8)
其中,
Rde和
Rde分别是前向GRU和逆向GRU在时刻t的隐藏状态的输出结果.将
和
串联并作为BGRU在时刻t的隐藏状态输出结果ht:
![]()
(9)
分别利用2个独立的BGRU对句子S和属性子句Sa进行编码,并将包含所有时间步输出的隐藏状态矩阵HS和HS,a分别记为
HS=BGRU(XS),
(10)
HS,a=BGRU(XS,a),
(11)
其中,HS=(h1,h2,…,hn)∈Rn×2de为句子XS经BGRU编码后的上下文特征表示,HS,a=(hs+1,hs+2,…,hs+r)∈Rr×2de为属性子句Sa经BGRU编码后的特征表示.
为了进一步区分句子上下文信息对不同属性的影响,并降低句子中靠近属性词的无关单词对目标极性的影响,下面引入属性的语法距离对句子的上下文进行加权,从而构造属性相关的上下文特征.
对于句子S及属性a,由1.2节可得到语法距离向量DS,a和位置权重向量LS,a.将LS,a与HS相乘得到一个根据属性定制的隐藏状态矩阵ES,a=(e1,e2,…,ei,ei+1,…,en)∈Rn×2de,其中ei=li,a×hi∈R2de.与HS相比,利用属性相关的位置权重LS,a进行加权后的ES,a进一步包含了单词和属性a间的语法距离位置信息.
注意力层的任务是根据属性和句子的上下文信息,利用注意力机制为句子中的每一个单词分配合适的注意力权重,并生成属性相关的情感特征表示.
具体来说,对于属性的特征表示HS,a和隐藏状态矩阵ES,a,注意力计算为
Q=relu(HS,aW1+b1),
(12)
K=relu(ES,aW2+b2),
(13)
![]()
(14)
其中,W1∈R2de×da和W2∈R2de×da为权值矩阵,通过线性变化将HS,a和ES,a中的维度由2de转为da,并利用非线性激活函数relu(rectified linear unit)将值约束为非负值.b1∈Rda和b2∈Rda为偏置值向量.Score∈Rn×r是HS,a和ES,a的注意力权值矩阵,Scorei,j表示S中第i个单词和属性子句Sa中第j个单词间的注意力权值.
为缩放因子,目的是加快模型的训练.
属性和句子间的注意力权重由属性子句中所有单词共同决定,因此需合并属性子句中各个单词与句子所有单词的注意力权值,并构成最终的注意力权值向量gS,a=(g1,a,g2,a,…,gn,a)∈Rn.下面与文献[17]类似,定义2种不同的合并方式:求和sum与取平均值mean.
(15)
利用softmax函数对向量gS,a进行归一化,可得到最终的注意力向量qS,a=(q1,a,q2,a,…,qn,a)∈Rn,其中,
qi,a=softmax(gi,a)=
(16)
为避免模型训练过程中注意力权重集中分布在补齐标志
PAD
上,在对gi,a归一化时利用n维向量 mask=(maski)1≤i≤n对gi,a中的
PAD
进行屏蔽.wi为一般的单词时maski=1,wi为
PAD
时maski=-100.同时,为避免归一化过程中出现分母全为0而导致计算溢出,将分母加一个非常小的值10-8.
由注意力向量qS,a计算属性相关的情感特征rS,a:
V=HS+XSW3,
(17)
rS,a=qS,aV,
(18)
Fig. 8 Computation process of aspect-related sentiment feature
图8 属性相关情感特征计算过程
其中,W3∈Rd×2de为用于进行线性变换的二维权重矩阵,将XS中的维度d变换为2de.V∈Rn×2de可看成是融合了单词的词向量语义信息、相对距离信息及句子的上下文信息.rS,a∈R2de表示属性a相关的情感特征,即结合注意力机制融合了单词的语义信息、属性相关的句子上下文信息、相对距离及语法距离信息.rS,a的计算过程如图8所示:
输出层的主要任务是根据句子的上下文HS及属性相关的情感特征rS,a预测目标属性的情感极性(计算过程如图9所示).S的特征表示rs由HS的最后一个时间步的隐藏状态
和
构成,然后利用非线性变换将其和属性相关的情感特征rS,a进行融合并用于预测最终的情感极性:
![]()
(19)
h*=relu(W4rS,a+W5rS+b3),
(20)
其中,W4∈Rdr×2de和W5∈Rdr×2de为权值矩阵,b3∈Rdr为偏置值向量.
Fig. 9 Computation process of output layer
图9 输出层的计算过程
h*∈Rdr为句子最终的特征表示,并通过softmax函数计算h*在y中各个极性类别的概率分布:
pS,a=softmax(W6h*+b4),
(21)
其中,W6∈Rm×dr和b4∈Rm分别为softmax的权值矩阵和偏置值向量.pS,a=(p1,a,p2,a,…,pm,a)为模型在y中各个极性类别上预测值的归一化结果.
最后,取该m维向量中的最大值max(pS,a)所对应的标签作为模型的最终预测结果,即:
p=max(pS,a).
(22)
假设p为模型对输入S和a的预测结果标签值,yS,a是一个正确情感类别的元素为1而其他类别的元素为0的one-hot向量.DTDA采用交叉熵(cross entropy)作为优化的损失函数,同时为避免模型在训练中出现过拟合(overfitting),采用L2范数正则化
(23)
模型通过迭代求解损失值和梯度下降来优化模型,使得损失函数的值最小.
对DTDA的评估采用准确率(Accuracy)、精确率P(Precision)和宏平均F1值(macro average F1, MF1)等评价指标,其中MF1是指所有类别的F1值平均.对单个类别,设TP是正确预测的样本,FP是其他类别被判定为当前类别的样本,FN是当前类别被错误判定为其他类别的样本,则精确率P,召回率(Recall)和F1值计算公式为
![]()
(24)
![]()
(25)
![]()
(26)
准确率Accuracy和MF1分别定义为
(27)
(28)
模型采用Adam(adaptive moment estimation)[18]优化器,并设其学习率为0.001,学习率衰减为0.000 4.为防止过拟合,将dropout[19]正则化策略应用于在BGRU层,dropout的值设置0.5.此外,训练过程中对BGRU层的输出隐藏状态矩阵进行批规范化(batch normalization)[20].
为验证DSDA的有效性,采用2014年国际语义评测SemEval任务4[1]中2个著名的公开数据集进行实验对比:
1) Laptop.针对笔记本电脑的文本评论数据集.
2) Restaurant.针对餐馆的文本评论数据集.
属性的情感极性主要包含:积极的(Pos)、中性的(Neu)和消极的(Neg),并有少量情感极性为冲突的(Conflict).为避免干扰,参照文献[14]的做法去掉极性为冲突的属性.最终各情感极性对应的句子数量分布如表1所示.
为了更充分地对比各模型的效果,参照文献[9]和[17],根据句子中属性的数量和情感极性类别将数据集划分为3种不同判定难度的子集S1,S2和S3,如表2所示.
1) S1.同一个句子中只包含有1个属性.
2) S2.同一个句子包含多个属性,且均具有相同的情感极性.
3) S3.同一个句子中包含2个或者2个以上的属性,且具有不同的情感极性.
表1 Laptop和Restaurant数据集统计
Table 1 Statistic of Laptop and Restaurant Datasets
DatasetPositiveNeutralNegativeLaptop-train987460866Laptop-test341169128Restaurant-train2164633805Restaurant-test728196196
表2 2个数据集的子集划分结果统计
Table 2 Division Statistics About Subsets of Two Datasets
DatasetS1S2S3Laptop-train906952455Laptop-test257278103Restaurant-train9831679940Restaurant-test284608228
DSDA模型在Laptop和Restaurant上均采用相同的超参数设置,如表3所示,并取训练集中的12%的数据进行验证.
表3 DSDA模型的超参数设置
Table 3 Hyper Parameter Setting for DSDA Model
ParameterValueDescriptionn45Length Threshold for Sentence r6Length Threshold for Aspect Clausede120Output Dimension for BGRUda100Dimension of Q and Kdr96Dimension for Output Layerλ0.012Weight for L2 Normalization Term
为便于比较,采用公开的300维Glove词向量[21].同时,针对Laptop采用电子产品评论数据集Amazon electronics[22]作为词向量的训练语料,针对Restaurant采用Yelp开放数据集(https://www.yelp.com/dataset)作为词向量的训练语料.其中前者共包含约782万条评论,单词总量为7.7亿.后者共包含约470万条评论,单词总量为6.4亿.具体训练参数如表4所示:
表4 词向量训练参数设置
Table 4 Parameter Setting for Word Vector Training
Word VectorTrainable ParameterOther ParameterWord2vec-skipgramGloved=300No. of MinimalOccurrence ofWord: 100Window Size:8No. of NegativeSample:3Iteration:3xmax:200a:0.75Iteration:20
本实验的主要目的是在公开的Glove词向量的基础上对DSDA与当前部分主流方法进行对比,特别是部分基于注意力和记忆网络的state-of-the-art方法.此外,还选取基于属性位置信息的TD-LSTM模型以及笔者前期的工作DSAN[17]一起作为比较的基准方法.各基准方法对应的模型简介如下:
1) TD-LSTM[7].结合句子中属性的位置将句子分为左右2部分,然后分别利用前向LSTM和后向LSTM进行建模,最后将LSTM最后一个时间步的隐藏状态串联作为句子特征,并预测情感极性.
2) MemNet[14].基于记忆网络MemNet及多层注意力机制的情感极性分类方法.
3) RAM[15].基于堆叠双向LSTM的外部记忆矩阵和GRU网络的循环注意力机制,并通过非线性组合构成属性相关的句子情感特征表示.
4) ATAE-LSTM[11].将属性的特征表示和单词的词向量串联作为LSTM的输入,在此基础上利用一个简单的注意力机制进行学习并构造句子的表示.
5) IAN[16].通过LSTM对句子和属性分别建模,然后采用交互式注意力分别学习句子和属性中的重要特征,并将结果串联用于预测情感极性.
6) DSAN[17].利用依存树得到属性与句子中各单词的句法距离,并结合注意力机制生成属性相关的句子特征表示.
为了便于与前期工作DSAN进行对比,DTDA同样采用sum和mean两个注意力合并方式,并分别记为DTDA-sum和DTDA-mean.各模型在2种公开的300维Glove词向量Glove 1.9M和Glove 2.2M上的实验结果如表5所示.Glove 1.9M使用的词典大小为1.9M,单词非大小写敏感.Glove 2.2 M使用的词典大小为2.2 M,单词大小写敏感.TD-LSTM,MemNet和RAM的数据来自文献[15],ATAE-LSTM和IAN的数据来自文献[16],而DSAN的数据来自文献[17].表中各列最好的结果用黑体表示.
表5 各模型的实验结果比较
Table 5 Experiment Result Comparison for Various Models
WordVectorModelLaptopRestaurantPMF1PMF1Glove1.9MGlove2.2MTD-LSTM0.71830.68430.78000.6673MemNet0.70330.64090.78160.6583RAM0.74490.71350.80230.7080DSAN-sum0.72730.68780.80710.7238DSAN-mean0.73820.70010.80800.7273DTDA-sum0.73120.69230.80750.7239DTDA-mean0.74010.70190.80810.7279ATAE-LSTM0.68700.7720IAN0.72100.7860DSAN-sum0.73820.69610.80090.7109DSAN-mean0.74610.70520.79640.7136DTDA-sum0.74020.69620.80090.7271DTDA-mean0.74710.70890.80080.7281
从表5可知:
1) DTDA在Laptop和Restaurant上均取得与RAM及DSAN相当的结果,并超过其他4种方法.RAM是当前已知的最好属性级别情感分类方法.与RAM相比,DTDA的2种合并方式在Restaurant上均取得更好的结果,但在Laptop上DTDA的表现略低于RAM,主要的原因是RAM采用多层注意力,而DTDA只采用单层注意力.而且相对于Restaurant来说,Laptop中的大部分句子较长,而多层注意力机制能够更好地学习到长距离的关系.从模型的结构来看,RAM以属性词的词向量作为其特征表示,然后利用GRU通过多层注意力逐层提取句子的不同特征,并将各层的结果进行非线性组合.DTDA和DSAN均利用依存树和GRU生成属性的上下文特征,并融合单词与属性的距离信息,因此能够生成更加准确的句子特征表示.虽然RAM,DSAN和DTDA均采用了距离信息,但RAM基于相对距离,DSAN采用语法距离,而DTDA进一步将两者结合.从实验的结果来看,DTDA均比DSAN有一定的提升,说明将更加全面的距离信息能够更好地刻画单词与属性间的关系.
2) 在第1组实验中,DTDA-sum和DTDA-mean在2个数据集上的结果均超过ATAE-LSTM,IAN和DSAN.从属性的特征构造来看,ATAE-LSTM以属性的词向量作为属性特征表示,IAN利用LSTM对属性建模,而DTDA和DSAN均使用BGRU对属性和属性的修饰信息进行建模.实验结果一方面说明属性表征表示的重要性,另一方面也说明结合距离信息及注意力机制能更好地构造属性相关的情感特征信息,并最终提升模型的效果.
3) DTDA-sum和DTDA-mean在2个数据集中的表现均优于TD-LSTM和MemNet.TD-LSTM利用LSTM对句子中属性的左右部分分别建模,容易造成上下文信息不完整.MemNet简单地以属性的词向量作为特征表示,虽然利用了多层注意力逐层线性累加结果,没有考虑句子的上下文信息,而且比较依赖于词向量的质量.
4) 对DTDA来说,采用2种不同的注意力计算方式sum和mean时实验结果均比较接近.由于在sum方式中上下文单词的注意力权重相对于mean方式来说更加集中,而mean方式由于经过再次缩放使得注意力值分布更为均匀.考虑到计算过程中使用因子
进行缩放,且属性子句的长度较小,因此实验结果相近.这从DSAN的实验结果也可得到证实.
本实验的主要目的是根据领域相关的预训练词向量对DTDA和6种基准方法进行对比,并分析它们在S1,S2和S3上的结果.由文献[17]可知,S1,S2和S3上的情感极性判定难度依次递增.模型在S1和S2上的分类精确率很大程度上反映了模型对上下文信息的利用情况,而在S3上的分类精确率则更好地即体现模型对属性和上下文的刻画程度.
表6给出各模型在2个数据集上的实验结果,表7为各模型在S1,S2和S3上的准确率结果.其中各个基准方法的数据来自于文献[15-17].
表6 各模型在Word2vec-skipgram词向量上的结果
Table 6 Results for Models on Word2vec-skipgramWord Vectors
ModelLaptopRestaurantPMF1PMF1TD-LSTM0.71790.66650.78480.6812MemNet0.72570.67650.80270.7076RAM0.74450.70090.78840.6835ATAE-LSTM0.72570.68330.78660.6802IAN0.71940.66640.79910.7046DSAN-sum0.76960.72650.81430.7311DSAN-mean0.76330.71360.81340.7235DTDA-sum0.77010.72780.81680.7319DTDA-mean0.76370.71420.81340.7261
从表6可知:
1) 与表5中相比,使用基于相近领域语料训练所得的词向量后,MemNet,ATAE-LSTM,DSAN和DTDA在Laptop和Restaurant上的效果均有较好的提升.TD-LSTM和IAN在Restaurant上与表5相比也有一定的提升.但RAM因原文献[15]中没有提供详细的超参数,因此本文的实验结果不如原文.
2) 各个模型使用Word2vec-skipgram词向量后,DTDA-sum取得最好结果.相对于表5,DTDA-sum和DTDA-mean在2个数据集上的P和MF1均有一定的提升,而MemNet在Laptop和Restaurant上的精确率P均有2%以上的提升.这说明采用相近的语料进行词向量预训练能更好地学习到相关的领域知识和提升模型效果.而且,DTDA比DSAN在2个数据集均有略微的提升,这说明DTDA中更加全面的距离信息有助于提升模型的效果.
表7 各模型在S1,S2和S3上的准确率比较
Table 7 Accuracy Comparison for Various Models onS1, S2 and S3
ModelLaptopRestaurantS1S2S3S1S2S3TD-LSTM0.72370.75900.59220.76410.86180.6053MemNet0.73150.76980.59220.78520.88820.5965RAM0.75880.80220.55340.75700.87990.5833ATAE-LSTM0.73150.79500.52430.78520.86020.5921IAN0.71600.79140.53400.77110.88820.5965DSAN-sum0.76650.83810.59220.77820.90130.6272DSAN-mean0.76260.83810.56310.77820.90950.6009DSDA-sum0.76710.83820.59210.78040.91090.6301DSDA-mean0.76270.83800.56410.78010.89970.6001
从表7可知:
1) 所有模型在判定难度最高的S3上的准确率表现均低于S1和S2,在S2上的表现最好,在S1上的表现次之.主要原因一方面是因为S3所包含的训练数据最少,导致模型缺乏充分的训练,而且其判定难度最大.而S2的训练数据最多,因此虽然判定难度略高于S1,但总体表现最好.
2) 各模型在S1,S2和S3上的准确率表现各有优劣.TD-LSTM在2个数据集的S1和S2上的表现较差,也不如其他几种基准方法,主要原因是因为句子的切分导致上下文信息不完整.但TD-LSTM在S3上的表现不错,主要原因是因为对句子局部信息的关注降低了整体对单个属性的情感极性影响.RAM,ATAE-LSTM和IAN在3个子集上的表现各有优劣,但是在S3上的表现不如TD-LSTM,主要原因是因为其属性特征表示方法不同.MemNet在3个子集上的表现较好,主要是因为词向量中包含了相近领域的知识,因此在线性组合过程中较好地得到知识的迁移.
3) DTDA在3个子集上均表现良好.相比于其他方法,DTDA在S1和S2上的提升最大,但在S3上不如DSAN.DSAN-sum在S3上取得最好的表现,超过了DTDA-sum及其他方法,我们认为主要是因为sum方式降低了句子整体情感信息对单个属性的情感极性的影响,而DTDA由于融合了相对距离信息,造成训练参数更多,因此随着S3判定难度的增加及训练数据的减少,DTDA-sum的效果反而不如DSAN-sum.
总体上DTDA均取得较好的表现,并且在S1和S2上均略高于DSAN,这说明通过属性子句所得到的属性特征表示能够使注意力机制学习到更加合适的权重,并且结合距离信息能够更好地区别出句子中不同单词对不同属性的情感极性的影响.
本实验主要分析依存子树对模型效果的影响,共包含5个模型:
1) W-AN.取属性中所有单词的词向量平均值作为属性的特征表示.
2) A-AN-sum.使用BGRU对属性建模,并将其隐藏状态矩阵作为属性的特征表示,不包含属性的修饰信息,采用sum合并句子的注意力值.
3) DSAN-sum.使用BGRU对属性子句建模,并同样采用sum方式.
4) DTDA-sum-rel.表示使用BGRU对属性子句进行建模,并采用相对距离和sum方式.
5) DTDA-sum.表示在DTDA-sum-R的基础上采用语法距离和sum方式.
所有模型均使用表6中的预训练词向量,表8和表9分别为上述5种模型在2个数据集及各子集S1,S2和S3上的结果.W-AN,A-AN-sum和DSAN-sum的结果均来自于文献[17].
从表8中可知,随着W-AN,A-AN-sum,DSAN-sum和DTDA-sum中所包含的信息越来越丰富,模型的效果也依次得到提升,其中DTDA-sum取得最好的效果.从DTDA-sum-rel和DSAN-sum的比较来看,单纯融合相对距离反而降低了模型的效果,我们认为主要原因是因为这2个语料集中存在许多长句子,且句子结构并不是非常规范,而相对距离强化了与属性距离更近的单词的影响力,因此在一定程度上反而造成了干扰.从DTDA-sum和DTDA-sum-rel的结果可知,结合语法距离能够降低离与属性较近的无关单词的影响,从而提升模型的效果.
表8 不同属性特征表示方式的结果
Table 8 Results for Different Aspect Feature Representations
ModelLaptopRestaurantPMF1PMF1W-AN0.74290.70610.79550.6992A-AN-sum0.75710.71160.80540.7123DSAN-sum0.76960.72650.81430.7311DTDA-sum-rel0.74980.70810.78990.6801DTDA-sum0.77010.72780.81680.7319
表9 不同属性特征表示方式在S1,S2和S3上的准确率结果
Table 9 Accuracy Results for Different Aspect FeatureRepresentations on S1, S2 and S3
ModelLaptopRestaurantS1S2S3S1S2S3W-AN0.73540.83090.52430.80990.89470.5132A-AN-sum0.73540.84890.56310.77110.89800.6009DSAN-sum0.76650.83810.59220.77820.90130.6272DTDA-sum-rel0.73480.84010.55620.77740.88760.6016DTDA-sum0.76710.83820.59210.78040.91090.6301
从表9可知,在属性情感判定难度最大的子集S3上DTDA取得与DSAN-sum相当或更好的准确率效果,并在S1和S2均超过DSAN-sum,这证明了更加全面的距离信息有助于生成更加准确的句子特征表示.在实验过程中,我们发现在注意力计算过程中采用向量mask对
PAD
进行屏蔽后,并没有提升模型的效果,但可加快模型的训练.
本实验主要验证2种距离信息对DTDA的影响.实验中使用Glovec 2.2M和Word2vec-skipgram词向量,并分别对比DTDA-sum和DTDA-mean使用和不使用距离信息时的表现,实验结果如表10和表11所示,其中base表示未使用距离信息,rel表示只使用相对距离信息.
表10 距离信息在Laptop和Restaurant上的实验结果
Table 10 Experiment Results for Distance Information on Laptop and Restaurant
WordVectorModelLaptopRestaurantPMF1PMF1Glove2.2MWord2vec-skipgramDTDA-sum base0.72850.68620.79790.7088DTDA-sum rel0.74980.70810.78990.6801DTDA-sum 0.74020.69620.80090.7271DTDA-mean base0.73490.69580.79690.7087DTDA-mean rel0.71510.67890.77560.6895DTDA-mean0.74710.70890.80080.7281DTDA-sum base0.76660.72190.81020.7201DTDA-sum rel0.75120.71140.80010.7009DTDA-sum 0.77010.72780.81680.7319DTDA-mean base0.75880.71010.80890.7228DTDA-mean rel0.74690.70120.79820.7113DTDA-mean0.76370.71420.81340.7261
表11 距离信息在S1,S2和S3上的准确率结果
Table 11 Accuracy Results for Distance Information on S1, S2 and S3
Word VectorModelLaptopRestaurantS1S2S3S1S2S3Word2vec-skipgramDTDA-sum base0.75130.83880.57920.77750.90430.6123DTDA-sum rel0.74010.80230.55890.75870.88070.6002DTDA-sum0.76710.83820.59210.78040.90090.6301DTDA-mean base0.75850.84160.54110.75980.88120.5943DTDA-mean rel0.74210.80090.52130.74860.86780.5715DTDA-mean0.76270.83800.56410.78010.89970.6001
从表10和表11中可知,DTDA-sum和DTDA-mean同时使用相对距离及语法距离时均比不使用距离时的效果有全面的提升,这证明了相对距离及语法距离的有效性.从DTDA 在Laptop和Restaurant的子集S3上的表现看,可发现距离信息在大部分情况都有效.
图10和图11分别给出DTDA在Laptop和Restaurant的子集S3,以及在Laptop的子集S1和S2上不使用距离信息(base)和使用2种距离信息(both)的准确率对比,词向量均为Word2vec-skipgram.
从图10可知,距离信息有效地提升了DTDA在S3上的表现.从图11可知,距离信息有助于提升DTDA在Laptop S1上的效果,但却降低了在S2上的效果.我们在文献[17]中也证明了这一点.主要的原因可能是因为基于相近领域语料训练所得的词向量本身包含了的领域知识,因此距离信息反而作用不明显,甚至会对模型造成干扰.S2中的属性情感受句子的整体情感极性影响较大,距离信息容易强化与属性距离较近的单词的影响力.综合DTDA及DSDAtt的结果可知,距离信息均较适合于词向量质量相对较差的情况.
Fig. 10 Accuracy comparisons of distance information on S3
图10 距离信息在S3上的准确率对比
Fig. 11 Accuracy comparison of distance information on S1 and S2 for Laptop
图11 距离信息在Laptop的S1和S2上的准确率对比
Fig. 12 Attention distribution for DTDA-sum on “food” and “service”
图12 DTDA-sum对“food”和“service”的注意力分布
Fig. 13 Attention distribution for DTDA-mean on “food” and “service”
图13 DTDA-mean对属性“food”和“service”的注意力可视化
本实验的主要目的是通过可视化分析注意力机制的有效性.以Restaurant中的句子“Great food but the service was dreadful!”为例,属性“food”的情感极性为Pos,“service”的情感极性为Neg.图12和图13分别给出DTDA-sum和DTDA-mean对这2个属性的不同注意力权重分配结果.
从图12和图13可以看出:
1) 对于属性“food”,在DTDA-sum中“Great”和“dreadful”都获得较大的注意力权重,但相对来说“Great”上的注意力权重更大.对于属性“service”,在DTDA-sum中“dreadful”得到53%的注意力权重,明显超过其他单词.DTDA-sum对属性“food”和“service”的预测结果均为正确.
2) 对于属性“food”和“service”,在DTDA-mean中注意力权重分布相对更为均匀.例如,对于“food”,“Great”的注意力权重只比“dreadful”略高一些,因此最终预测情感为Pos的概率只比Neg的概率略高.同样,对于“service”也存在类似情况.
总体来看,虽然DTDA对于该句子的预测结果均为正确,但显然在sum方式中模型更关注局部信息,而在mean方式中模型则更关注全局信息.
句子的属性情感分类是近年自然语言处理领域的一个研究热点.本文针对目前相关研究中没有考虑属性的上下文信息及单词与属性间的距离信息,结合依存树及距离信息提出一种基于注意力机制的句子属性情感分类模型DTDA,通过利用依存树得到更加完整的属性子句信息,并结合相对距离和语法距离进一步生成包含语义及距离信息的句子特征信息,从而更好地帮助模型进一步学习注意力权重,并提升分类的效果.DTDA在SemEval2014的2个基准数据集Laptop和Restaurant上均获得接近当前最好的效果.当使用相关领域语料训练的词向量后,DTDA在Laptop上的准确率77.01%,在Restaurant上的准确率为81.68%.
下一步将继续完善本文的工作,一方面将依存子树的属性特征表示与多注意力机制相结合,另一方面探讨更加有效的属性位置信息编码方式.
[1]Pontiki M, Galanis D, Pavlopoulos J, et al. Semeval-2014 task 4: Aspect based sentiment analysis[C] //Proc of the 8th Int Workshop on Semantic Evaluation (SemEval 2014). Stroudsburg, PA: ACL, 2014: 27-35
[2]Liu Bin, Liu Quan, Xu Jin, et al. Aspect-based sentiment analysis based on multi-attention CNN[J]. Journal of Computer Research and Development, 2017, 54(8): 1724-1735 (in Chinese)(梁斌, 刘全, 徐进, 等. 基于多注意力卷积神经网络的特定目标情感分析[J]. 计算机研究与发展, 2017, 54(8): 1724-1735)
[3]Ding Xiaowen, Liu Bing, Yu P S, et al. A holistic lexicon-based approach to opinion mining[C] //Proc of the 2008 Int Conf on Web Search and Data Mining. New York: ACM, 2008: 231-240
[4]Boiy E, Moens M F. A machine learning approach to sentiment analysis in multilingual Web texts[J]. Information Retrieval, 2009, 12(5): 526-558
[5]Jiang Long, Yu Mo, Zhou Ming, et al. Target-dependent twitter sentiment classification[C] //Proc of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies-Volume 1. Stroudsburg, PA: ACL, 2011: 151-160
[6]Li Dong, Wei Furu, Tan Chuanqi, et al. Adaptive recursive neural network for target-dependent Twitter sentiment classification[C] //Proc of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). Stroudsburg, PA: ACL, 2014, 2: 49-54
[7]Tang Duyu, Qin Bin, Feng Xiaocheng, et al. Effective LSTMs for Target-Dependent Sentiment Classification[C] //Proc of the 26th Int Conf on Computational Linguistics. Stroudsburg, PA: ACL, 2016: 3298-3307
[8]Zhang Meishan, Zhang Yue, Vo D T. Gated neural networks for targeted sentiment analysis[C] //Proc of the 13th AAAI Conf on Artificial Intelligence. Cambridge, MA: MIT, 2016: 3087-3093
[9]Nguyen T H, Shirai K. PhraseRNN: Phrase recursive neural network for aspect-based sentiment analysis[C] //Proc of the 2015 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2015: 2509-2514
[10]Ruder S, Ghaffari P, Breslin J G. A hierarchical model of reviews for aspect-based sentiment analysis[C] //Proc of the 2016 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2016: 999-1005
[11]Wang Yequan, Huang Minlie, Zhu Xiaoyan. Attention-based lstm for aspect-level sentiment classification[C] //Proc of the 2016 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2016: 606-615
[12]Wang Xinbo, Chen Guang. Dependency-attention-based lstm for target-dependent sentiment analysis[C] //Proc of Chinese National Conf on Social Media Processing. Berlin: Springer, 2017: 206-217
[13]Tay Y, Luu A T, Hui S C. Learning to attend via word-aspect associative fusion for aspect-based sentiment analysis[C] //Proc of the 32nd AAAI Conf on Artificial Intelligence. Cambridge, MA: MIT, 2018: 5956-5963
[14]Tang Duyu, Qin Bing, Liu Ting. Aspect level sentiment classification with deep memory network[C] //Proc of the 2016 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2016: 214-224
[15]Chen Peng, Sun Zhongqian, Bin Lidong, et al. Recurrent attention network on memory for aspect sentiment analysis[C] //Proc of the 2017 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2017: 452-461
[16]Ma Dehong, Li Sujian, Zhang Xiaodong, et al. Interactive attention networks for aspect-level sentiment classification[C] //Proc of the 26th Int Joint Conf on Artificial Intelligence. Cambridge, MA: MIT, 2017: 4068-4074
[17]Ouyang Zhifan. Research on Aspect-level Sentiment Classification Based on Dependency Tree and Attention Network[D]. Guangzhou: South China University of Technology, 2018 (in Chinese)
(欧阳志凡. 基于依存树和注意力的属性级别情感分类研究[D]. 广州: 华南理工大学, 2018)
[18]Kingma D P, Ba J L. Adam: A method for stochastic optimization[C/OL] //Proc of ICLR 2015.[2019-05-13]. https://arxiv.org/pdf/1412.6980v8.pdf
[19]Srivastava N, Hinton G, Krizhevsky A. Dropout: A simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1): 1929-1958
[20]Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[C] //Proc of the 32nd Int Conf on Machine Learning. New York: ACM, 2015: 448-456
[21]He R, McAuley J. Ups and downs: Modeling the visual evolution of fashion trends with one-class collaborative filtering[C] //Proc of The 25th In Conf on World Wide Web. New York: ACM, 2016: 507-517
[22]Pennington J, Socher R, Manning C D. Glove: Global vectors for word representation[C] //Proc of the Empirical Methods in Natural Language Processing (EMNLP 2014). Stroudsburg, PA: ACL, 2014, 14: 1532-1543


