《A Multi-task Learning Model for Chinese-oriented Aspect Polarity Classification and Aspect Term》笔记
A Multi-task Learning Model for Chinese-oriented Aspect Polarity Classification and Aspect Term Extraction 学习笔记
记录自己看论文时的心得,后附有GitHub链接。
创新点
- 本文提出了一个联合模型用于aspect term extraction(方面项提取) 和 aspect polarity classification (aspect极性分类)
- 论文中提出的模型面向中文,也适应于英文
- 该模型还集成了domain-adapted BERT模型以进行增强
1. 摘要
论文首次提出了面向中文的基于方面情绪分析的多任务学习模型(LCF-ATEPC),该模型能够同时提取aspect term extraction(ATE)和推断aspect polarity classification(APC),能够同时对中英文评论进行分析,该模型集成了自适应领域的BERT模型,在四个中文评论数据集和SemEval-2014上取得了最优性能。
2.Introduction
在以往的研究中,主要关注的APC的准确度,而忽略了对于ATE的研究,因此在进行迁移学习时,往往会因为缺少aspect term提取方法而陷入困境。
并且在以往的模型中,大部分是有监督的深度学习模型,需要人工标注aspect term和aspect polarity,工作量庞大。
因此,为了有效的从文本中提取aspect,同时分析情感极性,提出了一种基于方面情绪分析的多任务学习模型(LCF-ATEPC)。该模型基于Multi-head self-attention,集成预训练的bert和局部上下文焦点机制。
通过对少量带有aspect和aspect极性的数据进行训练,该模型可以适应于大规模的数据集,可以自动提取各方面信息,预测情绪极值。通过这种方法,模型可以发现未知的方面,避免了手工注释所有方面和极性的繁琐和巨大的成本。基于领域特定方面的情绪分析具有重要意义。
3.模型
3.1 问题描述
ATE:序列标注任务,根据BIO准备输入。
例如“The price is reasonable although the service is poor.“S={w1,w2…wn},其中S表示的是这个句子,w表示的是对应的单词记号化后的记号,这句话的标注是Y={O,Basp,O,O,O,O,Basp,O,O,O}
APC:情感极性分类是情绪分析的一个多粒度子任务,目的是预测aspect的情绪极性。St={wi,wi+1 … wj},表示句子中的aspect term ,其中i是起始位置,j是结束位置
3.2模型架构
该模型将ATE和APC任务相结合,采用两个独立的BERT层分别对全局上下文和局部上下文进行建模。为了同时进行多任务训练,输入序列被标记成不同的标记,每个token有两种不同的label:第一种label表示是否输入aspect,第二种label表示是否是情感极性。
在上图中,左边是局部上下文特征生成器(LCFG),右边是全局上下文特征生成器(GCFG)。两个特征生成单元主要包含一个独立的预训练bert层,分别是BERTl和BERTg 。
LCFG通过**local context focus layer 和一个MHSA(Multi-head self-attention)**提取局部上下文特征。
GCFG只部署了一个MHSA来学习全局上下文特征。
特征交互学习层(The feature interactive learning 简称FIL):结合局部上下文特征和全局上下文特征之间的交互学习,预测aspect的情感极性,并且基于全局上下文特征提取aspect。
3.2.1 BERT-Shared 层
预训练的BERT模型被设计用于提升大多数NLP任务的性能。对于预训练的bert模型,微调学习是必不可少的。
将两个bert-shared层被认为是嵌入层,根据多任务学习的联合函数独立进行微调。Xl和Xg 分别表示LCFG和GCFG的标记化输入,可以得到局部和全局上下文特征的初步输入。
其中O分别表示LCFG和GCFG的输出特征。BERTl和BERT g 分别表示嵌入到LCFG和GCFG中的对应的bert共享层。
3.3 MHSA(Multi-head self-attention)
是基于multiple scale-dot attention(多重缩放点积注意力 SDA),我认为就是多个self-attention同时工作,多获得的结果进行整合,这样获得的信息比较全面,可以用来提取语境中的深层语义特征,并用self-attention分数来表示这些特征。
MHSA在学习特征时可以避免上下文的长距离依赖带来的负面影响。
假设XSDA是LCFG学习到的输入特征,则scale-dot attention计算如下:
进行SDA的目的:当 维度dk 很大时,点积结果会很大,会导致softmax的梯度很小。为了减轻这个影响,对点积进行缩放。
MHSA 并行执行多个缩放的点注意力(SDA),并将输入特征串联起来,然后乘以一个权重矩阵WMH进行转换特征。其中h表示attention heads的数量。
3.4 Local Context Focus
3.4.1 语义相对距离(SRD)
局部上下文的确定依赖于语义相对距离,SRD用来判断上下文是否属于目标方面的局部上下文,以帮助模型捕捉局部上下文。
在现有的ABSA中,现有的模型通常是把输入序列分为方面序列和上下文序列,将方面和上下文视为单独的片段,分别进行建模。
通过调查结果得出目标aspect的局部上下文包含了更重要的信息,所以本文跟以往的模型不同,没有将aspect作为单独的输入,而是挖掘方面及其局部上下文。
SRD 是基于token-aspect对的概念,描述token与aspect之间的距离,它计算每个特定token之间指向目标方面的令牌的数量,作为所有token-aspect对的SRD,计算过程如下:
i是特定令牌的位置,Pa是aspect的中心位置,m是目标aspect的长度,所以SRD表示第i个令牌和目标方面之间的SRD。
local context focus的两个实现:
-
上下文动态掩码(CDM)
-
上下文动态加权(CDW)
图的底部跟顶部表示与每个令牌对应的特征输入和输出位置(POS)。
self-attention使每个令牌通过并行矩阵运算与其他令牌生成自我注意分数。
通过MHSA编码器计算出所有令牌的输出后,每个输出位置的输出特征都将被屏蔽或衰减,但本地上下文将保持不变。
3.4.2 上下文特征动态掩码(CDM)
除了局部上下文特征,CDM将屏蔽bert层学习到的非局部上下文特征。
CDM,将非局部上下文的所有位置的特征设置为零向量。为了避免CDM操作后特征分布的不均衡性,利用MHSA编码器学习并重新平衡被屏蔽的局部上下文特征。
假设Obert是BERTl的初始输出特征,那我们可以得到如下的局部上下文特征。
M是用于屏蔽非局部上下文特征的屏蔽矩阵,Vmi是输入序列中每个token的掩码向量。a是SRD阈值,n是包括方面的输入序列的长度。其中与目标aspect相关的SRD小于阈值a表示的是局部上下文。E是一个1向量,O是一个零向量(长度是n)
最后CDM层学习到的局部上下文特征作为Ol
3.4.3 上下文特征动态加权(CDW)
CDM层完全放弃了非局部上下文特征,与CDM层相比,CDW采用了一种更加温和的策略,对目标aspect的非局部上下文特征根据SRD进行加权衰减。局部上下文特征保持不变。
W是权重矩阵,Vwi表示的是权重向量。
CDM和CDW层是独立的,这就意味着他们是可选的,他们的输出特征均是Ol。此外,我们还尝试将CDM和CDW层串联起来,并将他们的线性变换作为局部上下文的特征。
Wf,Of表示的是权重矩阵,bf表示的是偏移矩阵
3.5 特征交流学习
LCF-ATEPC结合局部上下文特征和全局上下文特征进行极性分类。
Ol和Og分别表示局部上下文特征和全局上下文特征,为了获得连接向量的特征,使对O进行MHSA编码。
3.6 情感极性分类
对学习到的连接上下文特征执行head-pooling。
head-pooling指的是在输入序列中第一个token的对应位置提取隐藏状态。然后应用softmax操作预测情绪极性(这里没有特别理解head-pooling)。
其中C是情绪极性的数量,Ypolarity表示预测的极性。
3.7 aspect 项提取
方面项提取器首先对每个token执行token-level分类,假设Ti是令牌T对应位置上的特征。
这里N是令牌类别的数量。Yterm表示方面极性分类器推断的令牌类别。
3.8 训练细节
对于LCFG和GCFG都是基于BERT-BASE模型的,然后BERT-SPC模型的提出显著的改善了APC的性能,而且与BERT-BASE相比,BERT-SPA只修改了输入序列的标注形式。
BERT-BASE:***[CLS]+sequence+[SEP]***
BERT-SPA:***[CLS]+sequence+[SEP]+aspect+[SEP]***
因为LCF-ATEPC是一个多任务模型,我们重新设计了数据输入的形式,并采用了情绪极性分析和token类别的双重标签。第一行由方面术语组成,第二行和第三行分别是标记化和添加极性标签后的输入序列。
损失函数:使用交叉熵损失函数。
4 实验
4.1数据集
数据集:SemEval-2014和四个中文数据集。
多语言混合数据集
4.2实验结果:
- 在中文数据集上的表现。
- 在SemEval-2014 task4上的表现
- 在混合模型上的表现