当前位置: 代码迷 >> 综合 >> 【论文笔记】Aspect-level Sentiment Analysis using AS-Capsules
  详细解决方案

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

热度:85   发布时间:2023-12-08 05:50:03.0

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

模型结构

在这里插入图片描述
模型包括:

  • 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 representation module :学习 aspect 向量表示 r a r_{a} ra?
  • aspect probability module: 基于 r a r_{a} ra?预测 aspect 概率 p p p
  • sentiment representation module :计算情感向量表示 r o r_{o} ro?
  • sentiment distribution module:生成情感分布向量 ? \wp ?

H1是RNN编码的向量,输入到RNNs中得到高层次向量表示H2。 e c e_{c} ec?是capsule embedding。 A t a s p At_{asp} Atasp? e c e_{c} ec?和H2做attention得到 V a h V_{a}^{h} Vah?,利用注意力分数 α a \alpha _{a} αa?得到第二个表示 V a l V_{a}^{l} Val? A t s h a At_{sha} Atsha?是共享attention,输出共享表示 v s v_{s} vs?,三者组合起来即为 r a r_{a} ra?,经全连接层输出概率。右边同理,输出的是情感向量。

训练目标

和RNN-Capsule相同。

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

实验结果

在这里插入图片描述
在这里插入图片描述
可以看到,AS-Capsule模型的准确率是最高的。

评价

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

  相关解决方案