0.什么是方面级情感分析
先介绍几个概念缩写
ABSA: Aspect-Based Sentiment Analysis方面级情感分析的缩写,下文用ABSA代替方面级情感分析这一概念,给定一个句子,比如 披萨很美味
这句话,
在 ABSA 任务中,我们的目标可以是抽取四方面内容,c、 a、 o、 p 这四方面
-
c
c
c 方面集或方面策略(aspect category),它可以是句子中的某个实体或者句中实体的某个方面,主要包括常识性的各种方面,一般已经设置好在一个集合
C
C
C 里了,包括食物、服务、电脑等等,
披萨很美味
中 c c c 就是食物
,因为披萨是食物 -
a
a
a 方面实体(aspect term), 就是文本中明确被提出的方面,
披萨很美味
中方面实体就是披萨
,一般用方面词来指代 -
o
o
o 意见项(opinion term,用来解释文本的情绪,
披萨很美味
中意见项就是美味
-
p
p
p 感情极性(sentiment polarity)一般积极、消极、中性
至于怎么抽取,抽取什么,接下来我们细粒度地介绍这些任务。
1.单任务方面级情感分析(单ABSA)
人如其名,就是 c、a、o、p 这四个方面单独地抽取出来,这方面发文章难度较大尤其是最后一个任务,前人之述备矣,这里不做过多介绍,如果大家感兴趣,可以去这篇文章里面详细看 A Survey on Aspect-Based Sentiment Analysis:Tasks, Methods, and Challenges
2.联合ABSA任务
(以下默认为方面级)
2.0 提取情感对 Pair Extraction
---------------------------------------------待补充----------------------------------------------------
2.1 提取情感三元组 Triplet Extraction
提取方面级情感三元组即 ASTE
任务,Aspect Sentiment Triplet Extraction (ASTE),
这个三元组主要包括(a, o, p)
即(方面实体, 方面意见,情感极性),用来分析句子中要分析的实体是哪个、以及对这个实体的感情、 以及为什么是这个感情(方面意见)。
接下来按照方法和框架介绍几个典型模型或框架
2.1.0评价标准和数据集
最常用的ASTE-Data-V2包括三个数据集SemEval-14res、14lap、15res以及16res, 之前的SemEval-2014(V1)数据集没怎么标方面意见,有人就把数据集补充成了ASTE-Data-V2,这个数据集每一项数据包括(方面实体, 方面意见, 情感极性), 后来又有人补充成了四元组数据集(方面策略,方面实体,方面意见,情感极性),具体的数据分布不再展开。
评价指标一般是 F1值
,Precison, Recall 这三个指标,只有三元组中每一项都预测正确, 我们才认为这一条数据预测正确。
2.1.1常用产生三元组的方法
注意: 因为时间有限, 一天之内无法把当下最新最全的 ASTE 方法罗列,因此先简单介绍下2020、2021年的工作, 2022年的工作我们在下一周详细地叙述,
- CMLA和CMLA+模型:Peng等为ASTE提出的一个pipeline模型.第一阶段设置来提取句子中所有的方面实体和情感倾向,并提取观点项.第二阶段使用一个关系分类器,将第一阶段得到的结果进行配对,形成完整的三元组,最早也是最简单的模型。(也有人称他为Two-stage)
- (2020)RINANTE+:该方法使用基于依存关系挖掘方面词和方面词提取规则的联合模型RINANTE来抽取带有情感极性的方面词和观点词,然后通过分类器来选择合适的方面词观点词对。简单地说就是先用RINANTE提取 一句话里的a、o、p ,然后再匹配他们。
- (2020GTS)Grid Tagging Scheme for Aspect-oriented Fine-grained Opinion Extraction
- (2020)A Multi-task Learning Framework for Opinion Triplet Extraction
- (2020JET)Position-Aware Tagging for Aspect Sentiment Triplet Extraction
- (2021SPAN)Learning Span-Level Interactions for Aspect Sentiment Triplet Extraction
- (2021BARTABSA)A Unified Generative Framework for Aspect-based Sentiment Analysis
- (2021BMRC)Bidirectional Machine Reading Comprehension for Aspect Sentiment Triplet Extraction
-------------------------------------------2022待添加------------------------------------------------------- - (2022ACL)Enhanced multi-channel graph convolutional network for aspect sentiment triplet extraction.
2.2 提取情感四元组 Quad Extraction
(2021)Aspect-Category-Opinion-Sentiment Quadruple Extraction with Implicit Aspects and Opinions
(2021)Aspect Sentiment Quad Prediction as Paraphrase Generation
3.抽取三元组目前主流方法
3.0 Two-Stage(Peng最先提出的方法)
我们的设计采用了二阶段模型,如下模型图所示。第一阶段模型(stage one)主要分为两个部分:1. 预测所有评论目标词以及目标词的情感极性;2. 预测所有可能描述目标词的情感词。目标词以及带有其情感极性的标签主要由第一阶段模型的左侧结构标注得出。
句子向量通过第一层 Bi-LSTM 会进行一次序列预测来确定评论目标的范围,然后加以模型右侧图卷积网络(GCN)返回的情感词信息辅助输入第二层 Bi-LSTM 进行二次序列预测,由此获得带有情感极性的标签。描述目标词的情感词由模型第一阶段的右侧结构预测。具体地,句子向量首先通过两层图卷积网络加以模型左侧结构输出的主题词范围来确定相关的情感词。
然后将图卷积网络的隐状态输入 Bi-LSTM 层来进行情感词标签的预测。第一阶段模型是基于前述 E2E-ABSA 工作的改进。第二阶段模型(stage two)对第一阶段模型左侧输出的带情感的目标词和右侧输出的情感词进行配对。首先我们枚举可能出现的配对,加之文本信息以及目标词和情感词之间的距离信息通过分类器来确定哪些是有效的组合。
3.1流水线
如上图例子:“Did not enjoy the new Windows 8 and touchscreen functions”。我们的模型首先通过 300 维度的 Glove 向量和双向长短期记忆网络来得到句子中每一单词在当前句中的特征表达。或者,我们也使用预先训练的 BERT 语言模型作为句子的编码器。然后,我们枚举句子内连续单词的所有可能词组,并拼接开始词、结束词和词组宽度的特征来形成相对应词组的特征表达。
我们的实体模块(mention module)主要由一个前馈神经网络组成,它以 ATE 和 OTE 任务的监督训练来判断主体词以及情感词各自的分数。为了降低大量枚举词组的计算成本,我们也提出了双通道词组剪枝策略,分别选择预测分数较高的主题词和情感词作为候选对象。
从上图中,预测分数最高的主体词候选对象是“Windows 8”和“touchscreen functions”,而情感词候选对象是“not enjoy”和“new”。这提高了将有效的主体词候选对象和情感抽选对象配对在一起的机率。对于主体词和情感词配对在一起的特征表示,我们把主体词组的表达,情感词组的表达以及主题词组和情感词组之间的距离表达来形成一个新的特征表示。
最后,我们使用前馈神经网络来预测两个词组之间的情感对关系。从上图中例子可以看出,该模型抽取了两个三元组:(“Windows 8”、“not enjoy”、Negative)和(“touchscreen functions”,“not enjoy”,Positive)。
3.2端到端
具体参考JET模型
基于我们新提出的的标签形式,我们的模型主要启发于条件随机场模型 以及半马科夫条件随机场模型 [5],该模型可以同时抽取字与词的特征信息来帮助计算标识分数,具体特征分数计算方式如下图所示(详细可以参考原文 Section 2.2.2)。 输入层采用 300 维度的 Glove 词向量,然后输入双向的长短时记忆网络(Bi-LSTM)来获得基于给定语境的每个词的隐式表达。
每个标识的分数主要由四部分组成,1. 通过每个字的隐向量来计算每个字 BIOES 中标识分数,2. 通过情感词起始位置到句末的隐向量来计算情感方向的分数,3. 通过词组向量来计算该词组是情感词的分数, 4. 通过情感词与主体词的距离来计算该情感词是不是该主体词对应的情感词。最后基于前项后项算法来找出每句话最大可能性的标识。
3.3机器阅读理解
A→O方向的非限制性抽取查询和限制性抽取查询如下:
(1)A→O non-restrictive extraction query:“问出”句子中所含有的所有aspect;
(2)A→O restrictive extraction query:构建方式为“What opinions given the aspect a ”即这时候的意见是限制针对于目前aspect的。
O→A方向的非限制性抽取查询和限制性抽取查询对应如下:
(1)O→A non-restrictive extraction query:“问出”句子中所有的意见词;
(2)O→A restrictive extraction query:构建方式为 “What aspect does the opinion o describe?“这时候要去发现每个意见词是修饰哪一个aspect的。
根据上面说得到的aspect-opinion对,构建情感分类查询来对面向方面的情感进行分类:“What sentiment given the aspect a and the opinion o ”。