【情感分析】基于Aspect的情感分析模型总结(PART III)

本文深入探讨了情感分析领域的前沿模型,包括Attentional Encoder Network、Transformation Networks和Constrained Attention Networks,解析了各模型的设计理念、关键技术及实验效果,旨在帮助读者全面理解基于Aspect的情感分析。

继续来看基于Aspect的情感分析模型总结第三部分,回顾一下之前:


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 为例  ,系数正则项定义为:$$R_s}=\left\sum_{l=1^{L} \alpha_{k l}^{2}-1\right|$$

  • 「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 -

个人微信:加时请注明 (昵称+公司/学校+方向)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值