Recurrent Attention Network on Memory for Aspect Sentiment Analysis 阅读笔记

原文链接:Recurrent Attention Network on Memory for Aspect Sentiment Analysis

Abstract

文章提出了一个基于神经网络的,提取“关键词的情感倾向”的模型,拥有如下特点:

  • 创造了一种称之为“加权记忆(weighted-memory)”的机制
  • 使用GRU实现注意力(attention)

Introduction

提出问题

“I bought a mobile phone, its camera is wonderful but the battery life is short”

这一部分,以一个句子的情感分析为例进行分析。在分析中,我们需要对于每一个关键词(target),分析其情感语义,比如camera对应wonderful。选取最近情感词是通常手段,但是显然这种手段会在某些精心构造的句子中失效,比如下面这句话蕴含了中性情感而非消极情感。

“Its camera is not wonderful enough.”

针对上述问题,TD-LSTM是一个解决方案,这种解决方案也有一个缺点,就是特征的传递是逐词的,这在长句子中,当目标(target)与特征词(feature word)相距很远时,又会出现问题。进一步,注意力机制被引入,已表征特征重要性。然而,当实际的注意力点较多时,这种机制的表现也不太好。

“Except Patrick, all other actors don’t play well”

上述的问题便是这片文章准备解决的东西。

引入模型

模型层次结构依次为——

  • 一个双向LSTM生成一系列“记忆片(memory slice)”
  • 所有的内存片按照距离目标词(target)的相对距离加权,使得句子里不同的目标词拥有不同的特征向量
  • 在生成的加权记忆片中,使用注意力机制合并,这里使用的是循环层GRU

在本文中,就如何组合不同的注意力这个问题,提出了新的解决方案。从某一个方面来看,比较像一个普通人的认知——最初看到句子的最开头,然后在继续阅读的过程中不停“注意到”知识,并在最后将注意力集中的几个语言拼接。

对于Introduction中的最后一句话,我们通常会先看到“Except”,接着被“don’t play well”吸引,最终对于“Patrick”生成一种积极的情感。在本文之前,多数文章提出的结构都无法解决多注意力的问题。而我们提出结构中的GRU曾可以很好的解决。

Related Work

对于特定实体的感情分类问题,有很多传统做法基于规则、统计概率,这些做法不是有繁琐的模型构造,就是需要依赖很多额外的语法信息。

这时神经网络就可以发挥作用了~神经网络本身曾被用在语法分析,句子整体情感分析,诸如有名的递归神经网络(Recursive NN)。然而,递归神经网络在语法分析低效的非标准文本(比如推特评论等短文本)中效果不好。

对于指定目标的情感分析,曾经有人提到过TD_LSTM算法,这个算法将需要的目标词放在中间,从两边分别使用LSTM传递信息。这种做法在长句子中效果会大幅减弱,因为很远的情感词必须经过非常多层才能到达终点。

最后,神经图灵机在2014年被提出,其中定义的注意力机制被证明在很多地方适用。其创新之处是引入了外部储存,大大提高了神经网络的能力!从某种方面来说,本文就是在这个模型基础上修改而成的。

Our Model

右图是文章提出模型的结构。

在输入层,所有输入的文本都通过经典的wordtovec算法,将每个词压缩为一个d维向量。

接下来,使用了双向LSTM神经网络(BLSTM)提取每一个词的“记忆信息” u_t,实际上,这种实现方式就是普通的bi-directional-lstm。

接下来,对于不同的位置,有一个二次加权,成为“加权记忆”(weighted memory),加权的意义不太清楚,可能使得较远的信息更容易传播吧。具体来说,文中的加权含义将以中心词的两端t_{max}距离的词,按照距离中心的距离线性加权拼接在一起。

最后,文章使用GRU层将加权记忆再“捣鼓”一番,这里的“捣鼓”是指循环N词,每次通过上一次“捣鼓”的记忆e_{t-1},以及整个“加权记忆”得到第t个“注意力”的加权矩阵,进而通过GRU的形式更新e_t,关于选择GRU模型的原因,文章解释说因为GRU的参数较少。

Experiments

表现优于传统模型

Conclusions and Future Work

在这一部分,作者谈到了选择固定个注意力(Attention)显得有些冗余,在未来的工作中会考虑自适应注意力个数能够得到更好的结果。

点评

在Introduction模块,文章点出了在NLP领域,各种算法面临的共同问题,这种归纳确实很有意思。关于这类模型共同的要点罗列如下——

  • 如何将单词编码,至少本文还是用的经典算法
  • 如何解决远距离传输问题,本文使用weighted-memory机制
  • 如何在不增加太多参数的条件下,增加模型的“深度”,对应了本文中多注意力机制
  • 如何尽量在模型的选择上减少训练参数,对应本文的GRU选取

这篇文章中Related Work里面提到的神经图灵机感觉会很有意思,之后可以找一找相关的论文阅读一下,虽然在NLP方面感觉有些束手束脚,但是在其他领域可能会有很大的作为。

对于本文提到的模型,却是可以看出是仿照人类对于句子阅读的认知,每一个步骤都可以通过人类阅读的认知来解释,不过这种仿照是否能够带来很好的效果就不太好说了。至少文章写的是效果很好,那就姑且相信吧。

由于读的比较粗,关于每一层输出的具体维数还是有点晕,可能也有作者没有表述清楚的锅。

原创文章地址:【Recurrent Attention Network on Memory for Aspect Sentiment Analysis 阅读笔记】,转载时请注明出处mhy12345.xyz

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.