Press "Enter" to skip to content

基于特定实体的文本情感分类总结(PART III)

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

作者: 高开远

 

学校: 上海交通大学

 

研究方向: 自然语言处 理

 

0. 写在前面

 

继续之前的系列:

 

【论文串烧】基于特定实体的文本情感分类总结(PART I)

 

基于特定实体的文本情感分类总结(PART II)

 

记录一些关于ABSA问题的paper

 

1. Targeted Aspect-Based Sentiment Analysis via Embedding Commonsense Knowledge into an Attentive LSTM(Ma/AAAI-18)

 

作者在对论文review之后给出了几个仍未解决的问题:

 

target包含多个实体或单词时,现有的研究都是认为各部分重要性一致并且简单地计算平均值作为向量表示;

 

使用hierarchical attention建模得到的target和情感词之间的关联是一个黑箱;

 

未引入包含更多信息的外部知识

 

全局的attention会编码与任务不相关的信息

 

对此,文章给出了三个解决方案:

 

.创建了多层attention模型来分别明确计算目标词(target)和整个句子;

 

将外部知识引入传统LSTM网络;

 

将常识性情感知识融入深层神经网络。

 

整体框架如下所示,主要包括两个组分: sequence encoder 和 hierarchical attention

 

word embedding:原始句子

 

 

变为向量表示

 

 

sequence encoder:将向量送入双向LSTM得到每一个词的隐状态表示

 

Target-Level Attention:对句子中的所有target实例(如上图中的棕色框框)做self-attention获得target word attention representation;

 

Sentence-Level Attention:把步骤3得到的target words attention 向量和步骤2得到的所有隐状态向量给contact起来,再做一次attention;

 

Output:将步骤4得到的attention向量经过一个dense层和一个softmax层,得到最终的分类概率输出。

 

 

Commonsense Knowledge:SenticNet引入外部知识库SenticNet,含有50000个实例,每个实例对应一系列情感属性。情感属性提供了每个实例的表示,也将各个aspect与其情感链接起来。

Sentic LSTM

 

为了能够有效利用secticnet,本文对LSTM做了延伸:输入门中情感概念的存在可以防止记忆细胞受到与已有知识冲突的输入标记的影响。同样,输出门使用这些知识过滤存储在记忆网络中的无关信息,调控模型是否使用情感知识。

2、Aspect Level Sentiment Classification with Deep Memory Network(Tang/EMNLP2016)

 

文章借鉴了来自QA领域的记忆网络解决ABSA问题。Memory Network提出的目的之一就是为了解决RNN、LSTM等网络的记忆能力较差的问题。它维护了一个外部的记忆单元用于存储之前的信息,而不是通过cell内部的hidden state。关于Memory Network更为详细的解读可以参考Memory Networks论文串烧。整体解决方案如下图所示

Embedding

 

输入是一个原始句子,需要将其映射到向量空间后输入到模型中。常规操作,将context word和aspect word分别用向量表示

 

Attention

 

包括了两部分:content attention和location attention

 

content attention

 

就是传统的Key Value Query的形式


 

location attention

 

我们从直观上来看,通常情况下,与aspect word距离较近的context word对于相应aspect的情感倾向的判断更重要。于是就有了location attention。所谓的location attention其实就是把context word的位置信息加入到memory中。文中定义了四种方式来encode位置信息:

 

方式一:

 

方式二:

 

方式三:v_{i} 作为模型的一个参数,随机初始化,通过梯度下降学习得到。

 

方式四:与方式三类似,加了一层sigmoid。

 

Loss

 

 

CODE HERE

 

3、Recurrent Attention Network on Memory for Aspect Sentiment Analysis(Tencent AI Lab/EMNLP 2017)

 

论文采用多层注意力机制结合记忆网络去捕获句子中target word 与context word之间的联系。整体框架如下,主要分为

 

input module,

 

memory module,

 

position-weighted memory module,

 

recurrent attention module,

 

output module.

BLSTM for Memory Building

 

在Tang(2016)的论文中的记忆网络只是简单地将word embedding作为memory,并不能准确识别例如 Except Patrick, all other actors don’t play well 这类的实体情感。于是在本文中引入双向LSTM来捕获这之间的深层次关联。

 

如果有L层BLSTM叠加,最终得到的memory vector表示为

 

 

Position-Weighted Memory

 

当然,作者认为target word在输入句子中的位置信息也非常重要,更靠近target word的context word应该具有更高的重要性。

 

Recurrent Attention on Memory

 

这一部分的目的就是利用之前计算好的memory来表示出情感,然后用于分类。和上一篇论文一样,使用GRU和堆叠的attention。

 

4、Aspect Based Sentiment Analysis with Gated Convolutional Networks(Xue/ACL2018)

 

针对ABSA任务,之前研究效果较好的模型都是采用了LSTM+attention机制,这类模型过于复杂且参数较多训练起来比较费时。

 

LSTM processes one token in a step. Attention layer involves exponential operation and normalization of all alignment scores of all the words in the sentence. Moreover, some models needs the positional information between words and targets to produce weighted LSTM, which can be unreliable in noisy review text.

 

因此作者提出一种基于门控机制的可并行训练的CNN模型。

 

将原始输入embedding后送入包含两个卷积操作的卷积层,第一个卷积对句子提取sentiment feature,第二个卷积额外加上了aspect embedding提取aspect feature,而且两者使用的非线性激活函数也不一样

 

 

将上述得到的两个输出按位相乘,

以上是针对Aspect-Category Sentiment Analysis(ACSA),如果是Aspect-Term Sentiment Analysis(ATSA)问题呢,我们没有给定的aspect词,每个句子需要预测的target term都不同,这时候可以用另外一个CNN来提取target term的representation

CODE HERE

 

5、CAN—Constrained Attention Networks for Multi-Aspect Sentiment Analysis(2018)

 

本文的创新点有以下几个:

 

引入 orthogonal regularization ,使得对于不同的aspect,attention weight聚焦在句子不同的部分;

 

引入 sparse regularization ,使得每个aspect的attention weight只关注句子中的几个单词;

 

不同于之前大多数研究一次只得出一个aspect的sentiment,本文可以同时得到句子中所有aspect的sentiment;

 

引入 multi-task 多任务学习,在学习 aspect level sentiment classification(ALSC) 的同时学习 aspect category detection (ACD) 任务

 

模型的整体框架如下:

Task-Specific Attention Layer

 

输入为 形式,其中S为句子, 分别表示句子中的aspect及其对应的polarity。

 

前面的embedding和LSTM层就不具体介绍了。来看看多任务学习层,主要包括:

 

ALSC Attention Layer目的是针对不同的aspect学习到不同的attention weights。输入是LSTM层输出H和句子中的aspect U

 

ACD Attention Layer目的是学习句子中包含的aspect类别。输入是LSTM层输出H和aspect set

 

Regularization Layer

 

Regularization Layer用于对前面得到的attention weights加上限制,使得模型可以同时处理多个aspect。

 

注意:该层只在训练阶段有效,因为需要知道真实标签,在预测阶段直接略过该层。

 

Sparse Regularization用于限制每个aspect只关注句子中较少的词。以ALSC任务得到的attention weights a_{i}为例

 

,系数正则项定义为:

 

Orthogonal Regularization用于限制每个aspect关注句子中的不同部分,使其尽量不重叠。将两个任务得到的attention weights分别表示成二维矩阵 ,然后计算正则项

 

 

Task-Specific Prediction Layer

 

ALSC Prediction

 

 

ACD Prediction

 

 

Loss

 

ALSC Loss

 

ACD Loss

 

 

所以总体的损失表示为 其中正则项R可以是前面的

 

原文链接:

 

https://blog.csdn.net/Kaiyuan_sjtu/article/details/89850685

 

Be First to Comment

发表评论

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