【论文笔记】Sentiment Analysis by Capsules

本文设计了一个用于情感分类的新模型RNN-Capsule。虽然这里提到了胶囊,但和胶囊网络没啥关系,只是用到了胶囊的概念(一组神经元)。
每个胶囊对应一个情感类别,包含:

  • an attribute(属性):即设定的情感类别。
  • a state(状态):分为“active”和“inactive”。一组胶囊中只有一个(状态概率最大的)为“active”,其他均为“inactive”。
  • three modules(模块):representation module(表示模块)、 probability module(概率模块)和
    reconstruction module(重构模块)。representation module利用注意力机制建立胶囊向量;probability module输出胶囊的状态概率;reconstruction module对输入实例(句子或段落)的表示进行重构。

模型结构

【论文笔记】Sentiment Analysis by Capsules_第1张图片
输入实例首先经过RNN层得到隐层向量,再输入到各个胶囊。胶囊的数量等于情感类别的个数。每个胶囊的输出为概率 p i p_{i} pi和重构向量 r s , i r_{s,i} rs,i。概率最大的胶囊状态设为“active”,其他为“inactive”。
单个胶囊内部结构:
【论文笔记】Sentiment Analysis by Capsules_第2张图片

  • Representation Module:RNN的输出经过注意力层建立胶囊向量 v s , i v_{s,i} vs,i
  • Probability module:sigmoid函数激活输出状态概率 p i p_{i} pi
  • Reconstruction module: p i p_{i} pi v s , i v_{s,i} vs,i相乘得到重构向量 r s , i r_{s,i} rs,i

训练目标

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

实验

【论文笔记】Sentiment Analysis by Capsules_第3张图片
作者在两个数据集上做了对比实验。RNN-Capsule在Movie Review 数据集上表现最佳,在SST数据集上表现仅次于CNN-Tensor(需要较大的计算开销)。
新数据集Hospital Feedback上的实验结果:
【论文笔记】Sentiment Analysis by Capsules_第4张图片
另外,作者将每个capsule中注意力值排行前20的词列了出来,以Hospital Feedback数据集为例:
【论文笔记】Sentiment Analysis by Capsules_第5张图片
其中,{++, +, 0−, 0+, –, – –}分别表示
{‘strong-positive’, ‘weak-positive’, ‘weak-neutral’, ‘strong-neutral’, ‘weak-negative’, ‘strong-negative’} 。
通过观察可以发现,表中不同胶囊下的词不仅体现情感倾向,也能反应应用领域差异。比如‘leaving’一词本身不带情感色彩,但在积极胶囊下的注意力值却排在第二。因为反应了人们早日康复,离开医院的愿望。

评价

  • 本文提出的模型结构简单,不需要用到精心训练的词/句向量和引入语言学知识,但取得了不错的分类效果。
  • 模型名为RNN-Capsule,但和胶囊没啥关系。文中的capsule可以看做一个有两个输出的block。本文亮点在于把不同的情感类别数据分开,单独输入到对应的block训练,这样训练完成后还可以从每个block中提取一些语言学知识。
  • 本文的模型可以为Aspect-level 情感分类提供思路。

你可能感兴趣的:(随便看看论文集)