【论文笔记】Aspect-level Sentiment Analysis using AS-Capsules

本文在RNN-Capsule的基础上设计了AS-Capsules模型,用于Aspect-level情感分类。RNN-Capsule的每个胶囊对应不同sentiment category,AS-Capsule的每个胶囊对应不同aspect category。
Aspect-level情感分类一般分为两个步骤,首先确定一段文本里有几个aspect,然后再判断每个aspect的情感极性,这样会不可避免地造成错误的叠加。事实上,情感分类和aspect分类是紧密联系的。本文的模型充分考虑到了这一点,通过共享多个模块使得不同胶囊之间可以进行信息交流,取得了不错的效果。

模型结构

【论文笔记】Aspect-level Sentiment Analysis using AS-Capsules
模型包括:

  • an attribute:aspect category。

  • a state:分为“active”和“inactive”,取决于aspect probability。训练时,当某一aspect出现在输入文本即为active;测试时当aspect probability大于0.5时设为active。

  • a capsule embedding:训练中学习到的胶囊的向量表示。
    -four modules:aspect representation module、 aspect probability module、sentiment representation module、和sentiment distribution module。
    文本先由RNN编码成向量,再输入到代表不同aspect的capsule中处理,最后输入到Analyzer中。Analyzer是指训练目标策略,它能够利用aspect detection和aspect-level 情感分类之间的相关性来提高性能。
    单个胶囊结构:
    【论文笔记】Aspect-level Sentiment Analysis using AS-Capsules
    每个胶囊由以下四个模块组成:

  • aspect representation module :学习 aspect 向量表示 rar_{a}

  • aspect probability module: 基于rar_{a}预测 aspect 概率 pp

  • sentiment representation module :计算情感向量表示ror_{o}

  • sentiment distribution module:生成情感分布向量\wp
    H1是RNN编码的向量,输入到RNNs中得到高层次向量表示H2。ece_{c}是capsule embedding。AtaspAt_{asp}ece_{c}和H2做attention得到VahV_{a}^{h},利用注意力分数αa\alpha _{a}得到第二个表示ValV_{a}^{l}AtshaAt_{sha}是共享attention,输出共享表示vsv_{s},三者组合起来即为rar_{a},经全连接层输出概率。右边同理,输出的是情感向量。

训练目标

和RNN-Capsule相同。

  • 最大化正确类别胶囊状态概率,最小化其他类别胶囊状态概率。
  • 增大正确类别胶囊重构向量与输入实例向量的相似度,减小错误类别胶囊重构向量与输入实例向量的相似度。

实验结果

【论文笔记】Aspect-level Sentiment Analysis using AS-Capsules
【论文笔记】Aspect-level Sentiment Analysis using AS-Capsules
可以看到,AS-Capsule模型的准确率是最高的。

评价

本文设计的AS-Capsules模型可以使aspect detection 和 aspect-level 情感分类可以同时进行,通过共享embedding、共享encoder和共享attention,使aspect和sentiment的训练不孤立,且不需要引入语言学知识,是一次很好的尝试。