属性级情感分析数据集及模型设计

属性级情感分析数据集及模型设计

  1. 介绍

属性级情感分析(Aspect-basedsentiment analysis:ABSA)通过分析对于某一实体的某一属性的描述,得出评论者对于该属性的情感倾向。例如句子:The decor is not special atall but their amazing food makes up for it中,food和decor就是两个属性。

当前数据集大多只包含了一个属性或是多个属性但是体现相同的情感(图一),这使得情感分析任务降级成了句子级。而图三证明了即使不考虑方面这一因素,这些ABSA方法在句子级任务上有很好的效果。但是当他们用于包含了多属性多情感的句子时,性能急剧下降。

于是论文作者收集了一个大规模多属性多情感的数据集(MAMS Dataset),数据集中每个句子包含了至少两个不同情感的属性。另外,根据nlp最新技术,论文中提出了CapsNet和CapsNet-BERT模型,在新数据集上的实验结果获得最优。

img

​ 图一:当下热门ABSA数据集数据统计图。Size数据集中实例总数,MM_size多属性多情感实例数

2. 数据集构造

A. 数据收集

对前人收集的Citysearch New York数据集进行标注:将语料中每一篇文档分成若干句子,移除单词数超过70的句子。

B. 数据标注

为了aspect分类情感分析任务(ACSA)和aspect术语情感分析任务(ATSA),作者设计了两个版本的数据集。对于ATSA数据集,研究人员提取句子中的代表了某一属性的术语,并标记出该属性的情感极性。删除只包含一个属性或多个属性具有相同情感极性的句子。为每个属性术语提供在句子中的开始和结束位置。对于ACSA数据集,作者预定义了8各类别:食物,服务,职工,价格,氛围,菜单,地点,混杂类。研究人员对句子中的属性进行类别标注,并根据类别信息进行情感词性标注,最终保留包含了多个不同情感的多属性的句子。两者的统计信息如下(图二)

img

​ 图二:MAMS数据集信息统计表

3.方法

符号定义:训练数据集D,句子S={w\(_1^S\),...,w\(_n^S\)},属性词At= {w\(_1^a\),...,w\(_m^a\)},属性类别Ac,情感y∈{1,...,C}。任务就是根据At或者Ac确定相应的y。

3.1 嵌入层:

在嵌入层,将S转换成一个词嵌入E。当任务为ATSA时,属性嵌入表示a 是根据属性词信息进行平均池化得到的,直观上它保存着较多的语义信息;而当任务为ACSA时,属性嵌入表示a 是随机初始化,再通过学习得到。最终,将一个句子的每个词的词嵌入表示和属性嵌入表示拼接,得到最终的嵌入表示: \[ E_I^{sa}=[E_i:a] \] 3.2 编码层:

然后,把Esa输入到双向GUR里,得到每个词对应的隐藏状态表示;再利用残差链接,把Esa加到隐藏状态表示上,得到语境化表示H = [h1,..., hn]: \[ H=BiGRU(E^{sa})+E^{sa} \] 3.3 Primary Capsule Layer:

该层计算了Primary Capsule P= [pi,...,pn]:根据上一层得到的每一个h对应产生一个capsule。利用属性嵌入表示a产生一个属性capsule 。这里产生capsule的方式是通过一个线性变化,然后再使用squash激活函数。 \[ p_i=squash(W^ph_i+b^p) \]

\[ c=squash(W^aa+b^a) \]

\[ squash(s)=\frac{||s||^2}{1+||s||^2}\frac{s}{||s||} \]

  • Aspect Aware Normalization

将胶囊网络应用到文本中时,文本长度的不确定会造成训练的不稳定。当文本非常长时,capsule数目很多,导致置信度都很大;相反,则会导致capsule的置信度都很小。因此需要使用正则化,把每个primary capsule都乘上一个权重u,再计算上层capsule: \[ u_i=\frac{exp(p_iW^nc)}{\sum_{j=1}^{n}exp(p_jW^nc)} \]

  • Capsule Guided Routing

由于固定次数的动态routing导致了模型的低效,同时没有使用上层的信息也会导致模型的一种随机自导向routing。于是提出了新的routing方法: \[ z_i=squash(G_i) \]

\[ w_{ij}=\frac{exp(p_iW^rz_j)}{\sum_{k=1}^{n}exp(p_iW^rz_k)} \]

其中G通过人工收集的同类情感词(先验知识)的word embedding平均得到,一共有C个。routing权重w 通过计算初级capsules(pi)和情感capsules(zi)的相似度得到。

3.4. Category Capsule Layer:

最终的category capsuleV = [v1,..,vC]由正则化权重和routing权重计算得出: \[ v_j=squash(s\sum_{i=1}^nw_{ij}u_ip_i) \] 损失函数为: \[ L=\sum_{k=1}^CT_kmax(0,m^+-||v_k||)^2+\lambda(1-T_k)max(0,||v_k||-m^-)^2 \] 3.5 CapsNet-BERT

结合Bert的有点和胶囊网络设计出该模型用以提取预料中的信息。在利用BERT时,把句子按照“[CLS] sentence[SEP] aspect [SEP]”的方式输入BERT,得到每个word的embedding,从而得到句子的词嵌入表示E(同3.1中E)。

4.结论

最终的实验结果如下图所示:

img

图三:在两个MAMS数据集以及SemEval-2014 Restaurant Review数据集上的各模型ATSA和ACSA子任务性能列表

通过最终的实验数据对比可知,论文中提出的模型实验结果无论是在新构造的MAMS数据集上还是在原参观评论数据集上都获得了最优的结果。