这篇是已毕业的师兄发的ABSA的文章,老师让看一下,看看能有啥启发

2019IJCAI-Earlier Attention? Aspect-Aware LSTM for Aspect-Based Sentiment Analysis

以前也没看过ABSA,这篇就当入门了。

1. 摘要和介绍

ABSA:Aspect-base sentiment analysis

分为两大部分:

  1. ATSA(aspect term sentiment analysis)或叫TSA(target sentiment analysis),即方面词情感分析。这种的aspect词会明确的包含在句子中,比如“Great salad but the soup tastes bad”,很明显可以看出,salad和soup是方面词,且对salad的情感是正向的,对soup的情感是负向的。
  2. ACSA(aspect category sentiment analysis),即方面类别情感分析,对不同类别的情感,比如“Although the dinner is expensive, waiters are so warm-hearted!”,可以看出有两个方面类别,分别是price和service,是完全相反的情感极性。

这篇文章中,把ATSA和ACSA统称为ABSA。

LSTM在ABSA领域大放异彩,被广泛应用,大致可以分为三种基于LSTM的ABSA模型:

  1. “Attention-based LSTM with aspect embedding (ATAE-LSTM)”和“modeling inter-aspect dependencies by LSTM (IAD-LSTM)”,这两种模型在嵌入层通过把方面向量和上下文单词的词向量拼接起来,来对上下文和方面进行建模。
  2. “Interactive attention networks (IAN)”和“aspect fusion LSTM (AF-LSTM)”仅仅建模上下文,并且利用方面来计算上下文的注意力向量。
  3. “Recurrent attention network on memory (RAM)”把上下文词的相对位置信息和给定的目标引入隐藏层状态向量。

而作者认为,建模上下文应该用到方面信息,即上下文建模应该是方面感知(aspect-aware)的。

解释:对某一特定的aspect,

  • 一方面,句子的一些语义信息是无用的。和方面无关的语义信息对最后的情感表示有害,特别是在一句话含有多个方面的情况下。这是因为当LSTM遇到对整个句子十分重要的token时,这个token的信息会在后续的隐藏状态中保留。因此,即使通过注意力机制产生了一个很好的注意力向量,这些隐藏的状态向量也包含了无用的信息,并在一定程度上被放大。
  • 另一方面,对方面有用的信息或许不能很好的保留在隐藏状态中,因为它们可能对整句话的整体贡献是很小的。

举例说明这两方面问题:

  • “The salad is so delicious but the soup is unsatisfied”, 由于修饰salad的delicious在整句话中都是很重要,所以它的信息会一直保留在LSTM的隐藏状态中,直到判断soup时,它的信息还在保留着,所以尽管判断soup时,由于注意力机制unsatisfied会占有很大的权重,但是delicious的信息仍然会在最后的上下文向量中保留并被放大。
  • “Pizza is wonderful compared to the last time we enjoyed at another place, and the beef is not bad, by the way.”,很显然这句话主要是评价pizza,所以pizza的信息很重要,会一直保留在LSTM的隐藏状态,进而影响到对beef的情感判断。

作者称这种问题为aspect-unaware的问题,于是提出了解决方法。

一种LSTM的变体,称作aspect-aware LSTM(AA-LSTM),来把aspect引进上下文建模过程中。

作者工作的主要贡献:

  • 提出了AA-LSTM来把方面信息引入上下文建模过程中;
  • 设计了LSTM中三个aspect门来把方面信息引入输入门、遗忘门和输出门。AA-LSTM利用方面来提高了信息流动,并产生出更有效的aspect-specific的上下文表示;
  • 把AA-LSTM应用到几个有代表性的LSTM模型中,实验证明了AA-LSTM的有效性。

这篇论文核心内容就是提出了一种变体LSTM——AA-LSTM,它根据ABSA任务的特点修改了LSTM的内部结构,并用于ABSA。

2. 相关工作

3. Aspect-Aware LSTM

这部分详细解释了作者提出的AA-LSTM结构。

先放上传统的LSTM,以便后面作为对比。

传统LSTM包含三个门,控制信息流动。作者认为方面信息应该被考虑到LSTM中来控制信息流动。在每一时间步,方面被融入三个门的程度应该是不一样的。因此,为了把方面向量引入传统LSTM中,作者设计了三个新的门来控制信息流动。

红线以下就是新设计的三个门,总公式如下,划线的为和传统LSTM相比,新增的公式:

需要说明的是,传统LSTM公式中:Wxt+Uht1Wx_t+Uh_{t-1}和AA-LSTM中Wnew[x,ht1]W_{new}[x, h_{t-1}]是等价的,把W,UW,U拼接到一块就会形成新的矩阵,所以两个式子是等价的,只不过写法不同。

划线的是和传统LSTM相比,新增的公式。AA表示方面向量,\bigodot表示element-wise乘法。

ai,af,aoRdaa_i, a_f, a_o \in R^{da}代表aspect-input gate, aspect-forget gate和aspect-output gate。这三个基于方面的门决定了方面信息传入输入门、遗忘门和输出门的程度。

进入AA-LSTM的上下文词根据句子中单词的顺序动态变化,而aspect向量是相同的。在TSA中,aspect向量时目标的表示,在ACSA中,方面向量是方面嵌入。

3.1 Input Gates

输入门ItI_t控制着有多少新信息能够传入细胞状态(cell state)。aspect-input门aia_i控制着有多少aspect信息能传入输入门ItI_t

传统LSTM输入门:

AA-LSTM输入门:

由公式可以看出,aspect聚合到ItI_t的程度由先前语义表示Ht1H_{t-1}和方面向量AA决定。

3.2 Forget Gates

遗忘门抛弃掉来自先前细胞状态Ct1C_{t-1}中无用的信息,保留关键信息。相似地,aspect-forget门控制aspect向量信息传入遗忘门的多少。

传统LSTM遗忘门:

AA-LSTM遗忘门:

3.3 Candidate Cell and Current Cell

候选细胞Ct~\widetilde{C_t}表示可选择的输入内容。当前细胞CtC_t通过从Ct1C_{t-1}Ct~\widetilde{C_{t}}中选择重要信息来更新自己的细胞状态。

传统LSTM细胞:

AA-LSTM细胞:

前面介绍提到的aspect-unaware问题,可以通过把方面信息引入建模上下文的过程来控制信息流动,从而解决这个问题。

从公式我们可以看到,细胞这里两个模型几乎是一样的。

3.4 Output Gates

传统LSTM输出门:

AA-LSTM输出门:

输出门oto_t控制着从当前细胞状态到当前时间步的隐藏层状态的信息流动。类似地,aspect-output门aoa_o控制着方面对输出门的影响程度。AA-LSTM和传统LSTM在oto_t上的不同是是否把权重方面向量引入OtO_t

4. 实验和结果