美文网首页数据挖掘NLP初探
《Interactive Attention Networks

《Interactive Attention Networks

作者: bupt_周小瑜 | 来源:发表于2018-03-10 20:45 被阅读153次

    写在前面

    网上对这篇论文的解读非常少,质量也不高,笔者在读的时候,顺手做了下笔记,分享出来。笔者在读的过程中,感觉这篇论文偏实际应用,虽然暂时没有找到源码,但是复现起来也是比较容易的。

    论文下载地址

    《Interactive Attention Networks for Aspect-Level Sentiment Classification》,这篇论文大致是讲利用attention机制将target和context联系起来,用于多层次语义分类。

    多层次语义情感分类的解释是,如:

    a group of friendly staff, the pizza is not bad, but the beef cubes are not worth the money!
    

    这句话里,对staff,pizza, beef的情感是不同的,一句话里面的情感是多层次的。

    上面的三个名词都是target,这段话上下文就是是指context.

    本文认为Aspect-level的情感分类任务中,target与context应该具有交互性,即context应该是target-specific的,target也应该是context-specific的,传统模型中将二者分开建模或只针对其一,本文利用attention实现二者交互。

    我关注的更多的应该就是这里面的attetion机制是如何将上述target和context结合的。

    Itroduction里面有些传统的做法,比如词袋,情感词库,SVM...这些方法都很容易遇到瓶颈,现在的做法一般都是利用深度学习进行多层次语义分析。

    2011年的一篇论文解释了为何传统的方法会遇到很大的瓶颈(40% errors),主要是因为之前的方法都没有有效的利用target信息。之后就有大量论文关注target的作用,但是这些论文都忽视了target与context的关系。

    作者的观点是:

    In our opinion, only the coordination of targets and their contexts can really enhance the performance of sentiment classification.
    

    举例如下,观察下面两个句子的short:

    “The picture quality is clear-cut but the battery life is too short
    
    Short fat noodle spoon, relatively deep some curva
    

    很显然,在上个context上下文short对于target battery是负面的,下面一个context上下文中,short对于target spoon是中性的.

    所以结合short与具体的context的关系才能得到正确的语义情感分类。

    那么,应该如何建模?

    1. target和形容它的context其实是可以互相推理的,所以两种虽然建模可以分开,但是模型学习的时候是通过两者之间的交互关系来学习的。
    1. target和context不止一个单词,比如target:"picture quality"和context:"clear-cut"。这里的picture的重要度比quality重要,涉及到不同权重,自然而然就引入了attention机制。这篇论文也是第一个提出要将target与context分别计算attention weights的。

    基于上述两种思想,作者提出了一种interactive attention network(IAN)模型,该模型基于LSTM,与attention机制.框架图结构如下:

    image

    从框架图分析论文设计的IAN模型的构造,target和context两方面分别输入相应的word embeddings,再将WE输入到LSTM网络中,获得隐藏层输出,再利用target和context隐藏层的输出平均值,结合attetion机制,生成attention weights.最终target attention weights和context attention weights串联起来作为softmax函数的输入,得到分类结果。

    word embedding

    本文的word embedding采用的是预先训练好的词向量(从读者我的经验来说,一般都是选用预先训练好的词嵌入集,然后fine-tuning得到最终的word-embedding)

    LSTM

    LSTM没有变形,就是传统的方法:

    image

    最后得到隐藏层输出[ht1,ht2,...htm],[hc1,hc2,...,hcn]

    得到初始的target和context表示

    方法就是平均所有的隐藏层数值:

    image

    attention 机制

    见图中推导过程:

    image

    其中,cr和tr就是target和context的最终向量表示

    分类器输入

    先将cr和tr串联,然后加权和输入tanh,再将结果输入softmax,根据概率最大的得出属于的情感倾向:

    image

    模型训练

    模型训练需要训练的参数包括LSTM的参数,attention中分数函数的[Wa,ba],softmax层的[Wt,bt]和word embedding.

    损失函数用的是带L2正则项的交叉熵函数。

    然后反向传播开始训练把..为防止过拟合,使用dropout.

    实验结果

    IA方法与之前的几种方法对比,效果提升明显

    如下图:

    image

    超参设置

    image

    实际案例分析

    这里用到的一个句子是:

    the fish is fresh but the variety of fish is noting out of ordinary.
    

    这句话有两个target "fish"和"variety of fish"

    下图展示了IAN计算的target与context对应的attention weights:

    image

    颜色越深的attention weights值越大,可以看出:

    1. 介词,连接词等attention weights小
    2. 不同的target对应的context AW不同,对应正确
    3. context能反过来对target的词的AW产生影响,比如variety的AW就比较高

    写在最后

    之后有一篇论文比这篇效果更好《Aspect Level Sentiment Classification with Deep Memory Network》,原因可能是它用了多次hop,提取到了更抽象的内容,本篇论文只做了一次attention,学习到的东西有限。

    相关文章

      网友评论

        本文标题:《Interactive Attention Networks

        本文链接:https://www.haomeiwen.com/subject/lcbbfftx.html