[情感分析] 基于方面的情感分析模型摘要(第三部分)
看完冉冉的转载发现这个标题可能更加一目了然一些,学习了
继续来看基于Aspect的情感分析模型总结第三部分,回顾一下之前:
- 【情感分析】ABSA模型总结(PART I)
- 【情感分析】ABSA模型总结(PART II)
Attentional Encoder Network for Targeted Sentiment Classification[1]
与以往大多数RNN+Attention的思路不同,作者在这篇论文里给出了注意力编码网络(Attentional Encoder Network,AEN),避免了RNN系模型的缺点(难以并行化,需要大量数据/内存/计算);同时提到先前的工作大都忽略了标签不可信问题(label unreliability issue),这里在损失函数中引入了标签平滑正则项。模型整体框架如下
1.1 Embedding Layer
有两种embedding的方式
- 使用glove预训练embedding
- 使用bert预训练embedding:注意将输入转化成bert需要的形式, 即
[CLS] + context + [SEP]
和[CLS] + target +[SEP]
1.2 Attentional Encoder Layer
注意力编码层和LSTM层的作用一样,都是计算输入的语义表示得到隐状态矩阵。这一层包括两个子模块:
- 「Multi-Head Attention:」 MHA就是在attention is all you need那篇论文里的多头注意力机制。这里对context采用的是「Intra-MHA」,即「self-attention」;对target采用的是「Inter-MHA」, 即传统意义上的attention。
- 「Point-wise Convolution Transformation(PCT):」 逐点卷积,即卷积核的尺寸为1,对上述得到的两个attention encoder进行一下操作,
1.3 Target-specific Attention Layer
将attention encoder后得到的关于context和aspect信息的向量表示
和
再做一次attention操作得到具有更多交互信息的向量,然后与
和
pool以后的向量拼接得到最终的输入表示送入softmax层进行情感分析
1.4 Loss Function
前面提到为了解决标签不可信任问题(比如中性情感是一种非常模糊的情感表达,具有中性情感标签的训练样本就是属于不可信任的),引入了一种新的损失计算Label Smoothing Regularization (LSR)
,关于LSR的深入理解这里不详细说了可以参考知乎问题:Label Smoothing Regularization_LSR原理是什么?[2]
1.5 试验分析
作者非常nice地开源了论文对应的代码库:songyouwei/ABSA-PyTorch[3] 而且里面还有很多其他模型的实现。赞!
Transformation Networks for Target-Oriented Sentiment Classification[4]
作者提出用attention去提取context和aspect之间的语义相关性存在一定的缺陷,并列举了一个例子:
❝“This dish is my favorite and I always get it and never get tired of it.” 这句话中,attention机制会提取出相对于dish不相关的词语比如"never","tired"等。
于是提出可以利用CNN来取代attention来提取context中相对重要的信息,同时对朴素CNN进行了进一步的处理使其适合该任务,提出了「Target-Specific Transformation Networks (TNet)」
2.1 Bi-LSTM Layer
将文本的上下文信息融入到word的向量表示中是非常重要的
2.2 Context-Preserving Transformation(CPT)
模型再往上一层是Transformation Layer,是由多个CPT模块叠加而成。单独的CPT模块结构如下所示
CPT分为两个部分,Target-Specific Transformation(target转换机制)和Context-Preserving Mechanism(上下文保存机制)
- 「Target-Specific Transformation」用于动态地生成target的向量表示(这是论文的创新点)。首先将target表示通过一个Bi-LSTM来获得其抽象表示,再将该表示与上一层每个context词的表示做相似度计算,从而调整target的表示。
- 「Context-Preserving Mechanism」的提出是因为在经过TST的非线性转化之后,现有的向量表达可能已经丢失了原来Bi-LSTM层输出的信息,作者提出了两种解决方案:
- Lossless Forwarding:直接将前一层的输出加入到这一层的输出上
-
- Adaptive Scaling:与LSTM中门控机制类似的自适应保存机制,通过门控单元来控制当前层和上层输出到下层的信息。
2.3 Convolutional Layer
作者对于卷积层提出了利用观点词与目标词的距离的改进措施。作者为每一个位置计算一个位置特征
其中C是超参,相当于设置了一个窗口,在这个窗口范围内进行计算。k是target第一个词的位置,m是target的长度,i是当前词的位置。
然后将距离特征融合到词特征上:
再进行卷积和最大池化的操作
最后送入softmax层进行情感判定
2.4 试验分析
CAN---Constrained Attention Networks for Multi-Aspect Sentiment Analysis(2018)[5]
本文的创新点有以下几个:
- 引入
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)
任务
模型的整体框架如下:
3.1 Task-Specific Attention Layer
输入为
形式,其中
为句子,
分别表示句子中的aspect及其对应的polarity。
前面的embedding和LSTM层就不具体介绍了。来看看多任务学习层,主要包括:
- 「ALSC Attention Layer」目的是针对不同的aspect学习到不同的attention weights。输入是LSTM层输出
和句子中的aspect
- 「ACD Attention Layer」目的是学习句子中包含的aspect类别。输入是LSTM层输出
和aspect set
3.2 Regularization Layer
Regularization Layer用于对前面得到的attention weights加上限制,使得模型可以同时处理多个aspect。「注意:该层只在训练阶段有效,因为需要知道真实标签,在预测阶段直接略过该层。」
- 「Sparse Regularization」用于限制每个aspect只关注句子中较少的词。以ALSC任务得到的attention weights 为例 ,系数正则项定义为:
- 「Orthogonal Regularization」用于限制每个aspect关注句子中的不同部分,使其尽量不重叠。将两个任务得到的attention weights分别表示成二维矩阵
和
,然后计算正则项
3.3 Task-Specific Prediction Layer
- 「ALSC Prediction」
- 「ACD Prediction」
3.4 Loss
- 「ALSC Loss」
- 「ACD Loss」
所以总体的损失表示为
其中正则项
可以是前面的
本文参考资料
[1]
Attentional Encoder Network for Targeted Sentiment Classification: https://arxiv.org/abs/1902.09314
[2]
Label Smoothing Regularization_LSR原理是什么?: https://www.zhihu.com/question/61971817
[3]
songyouwei/ABSA-PyTorch: https://github.com/songyouwei/ABSA-PyTorch/tree/aen
[4]
Transformation Networks for Target-Oriented Sentiment Classification: https://arxiv.org/abs/1805.01086
[5]
CAN---Constrained Attention Networks for Multi-Aspect Sentiment Analysis(2018): https://arxiv.org/pdf/1812.10735.pdf
- END -