发表:IEEE/ACM 2023
引用:Hu G, Zhao Y, Lu G. Emotion Prediction Oriented Method With Multiple Supervisions for Emotion-Cause Pair Extraction[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2023, 31: 1141-1152.
论文地址:https://export.arxiv.org/pdf/2302.12417v1.pdf
代码地址:https://github.com/LeMei/EPO-ECPE
1 背景
情感分析是将给定的文本分类为积极、消极、中性或更细粒度的类别。越来越多的研究[6]-[8]不仅关注文本的情感类别,还关注这种情绪背后的原因。这促进了情绪原因提取任务 (ECE) 和情绪原因对提取任务 (ECPE) 的发展。ECE任务忽略了情绪和原因之间的相互关系,不能满足更广的应用范围,故引入情感原因对提取 (ECPE) 任务。
案例
包含情感词“hapily”的情感子句 c2 和相应的原因子句 c1 构成情感-原因对 (c2, c1):
He received a call to be hired (c1), jumped up happily (c2), and told his parents this good news (c3).
问题
对于ECPE任务,原有的两步法——第一步旨在分别提取情绪和原因子句。第二步是训练一个二元分类器来确定候选对是否是情感原因对——存在着问题:两步设置将导致第一步中的错误传播到第二步,产生误差。
已有典型的一些工作提出了端到端的架构来解决 ECPE 任务:
- 学习了候选对的表示,并对对表示进行分类,以统一的方式识别情感-原因对。
- 将ECPE视为序列标注问题。[25] 将情感从句和原因从句之间的相对距离视为标签。
- [8] 多任务序列标记框架,并使用两个辅助任务的输出来诱导标签分布,有利于情感-原因对提取。
等等。
本文解决办法
提出了一个面向情感预测 (EPO-ECPE) 的 end-to-end framework oriented toward emotion prediction 来提取情感-原因对,它围绕情感预测的中心来指导后续的情感-原因对提取。
为 EPO-ECPE 加入了 synchronization mechanism,以利用情绪预测在辅助情绪-原因对提取方面的潜力。将所有对划分为更有可能是情感原因对的对,即 genuine pairs 和不太可能是情感原因对的对,即 fake pairs 。
同时,本文设置 genuine and fake pair supervisions 分别从真假对中学习。这两种监督以不同的方式更新配对阶段的对表示,然后将学习到的表示与情感预测共享,以改进新的一轮情感预测。
2 相关工作
目前使用的方法:
A. Emotion Cause Extraction
- co-attention [20]
- selfattention [31]
- multi-task learning [32]
- graph neural networks [33]
- external knowledge incorporation [34]
B.Emotion-Cause Pair Extraction
为了解决 ECPE 从第一步同时提取情感和原因进一步传播到第二步对情感和原因构建的对进行分类来过滤负对的误差问题。
- [23] 采用统一的架构,通过对子句间依赖进行建模并从排名的角度确定情感-原因对来对对表示进行编码。
- [22]提出了2D-Transformer 表示、交互和预测集成到联合框架。
- [43] 将 ECPE 视为类似解析的有向图构建过程。
- 多任务序列标记框架,并使用两个辅助任务的预测分布作为归纳偏差来细化标签分布。
等等。
3 方法
Task Definition
给定一个文档 由 |d| 子句组成,第 i 个子句
包含 n 个单词。每个文档都有一种或多种情绪,每种情绪至少对应一个原因。我们的目标是从文档 d 中提取
等所有情感-原因对,其中
是第 j 个情感-原因对 d,
是一个包含某种情感的情感子句,例如 "sadness'。这两个子句构建了一个情感-原因对
。
整体架构
EPO-ECPE 可以分解为 hierarchical encoder (i.e., word-level encoder and clause-level encoder), emotion prediction, pair construction, and pair extraction (i.e., genuine pair supervision and fake pair supervision)。图 1 给出了 EPO-ECPE 的整体架构。分层编码器用于根据文档的话语结构学习子句表示。情感预测旨在形成情感子句候选集。给定候选情感子句,我们为每个候选情感子句构建真正的对和假对,并设置真正的对监督和假对监督,分别规范真实对和假对的表示学习。
D. Hierarchical Encoder
分层 RNN 编码器由几个部分组成:词级编码器、词级注意力层和子句级编码器。
- 词级编码器:对于每个子句
,使用词级 Bi-LSTM [44]、[45] 来捕获序列特征并获得隐藏状态序列
,其中
是单词
的隐藏状态。每个隐藏状态
是前向隐藏状态
和后向隐藏状态
的拼接:
然后利用注意力模型 [46]、[47] 来计算注意力权重。
- 子句级编码器:子句的语义信息与其相邻子句密切相关。基于此,子句状态序列
被送入子句级 Bi-LSTM 以模拟文档中子句之间的潜在语义关系,并生成子句表示
。
E. Emotion Prediction
提取最有可能是情感子句的前 K 个子句作为情感子句候选集。通过使用两个线性函数分别转换 :
来生成特定于情感的表示 和特定于上下文的表示
。
基于 ,给出了子句
作为情感子句的预测概率(表示为
),然后在此基础上构建情感子句候选集 CE:
F. Pair Construction
将每个情感子句候选 作为中心来构建
,并将
表示为
的上下文子句,其中|w|是超参数,|w|是当前情感子句和候选原因子句之间的最远距离。
对于每个 ,其 genuine pair
由
和
中子句的笛卡尔积获得。
同时,又构建了 并将
表示为
的非上下文子句。类似地,fake pair
由
和
中子句的笛卡尔积得到。
要包含所有情感子句。但是,情感预测无法找到文档中的所有情感子句。它迫使我们装备 EPO-ECPE 能够通过设置 synchronization 来转移情绪预测和情绪-原因对提取之间的信息,从而在训练过程中不断调整情绪预测结果。
此设置将从对提取学习的表示同步到情感预测,以便情感预测可以根据新的子句表示动态调整候选情感子句。一旦情绪预测的性能进一步提高, 的质量就会相应提高,从而显着降低情绪-原因对提取的难度。
G. Genuine Pair Supervision
genuine pair 包含 K * (2 * |w| + 1) 高质量的候选情感-原因对,其中 K 为 的大小,(2 * |w| + 1) 为上下文窗口大小,K * (2 * |w| + 1) 小于 n * n 。
genuine pairs 分为三个部分:
• Emotion-cause pairs
• Mismatching pairs due to the wrong candidate emotion clause
• Mismatching pairs due to the wrong cause clause
对于这三种情况,采用基于情感子句和原因子句关系的加权子句表示来形成对表示,因为原因与它触发的有效情绪-原因对的情绪之间存在因果链接。给定一个子句 ,我们将子句
作为其候选原因子句,然后通过以下等式获得它们的对表示:
,
其中 ,表示
与
的相关性。
是
的上下文特定表示,
是
的情感特定表示。
预测 是情绪原因对的概率(表示为
)计算为:
通过最小化交叉熵来训练真正的对监督。
表示
是一个情绪原因对。
H. Fake Pair Supervision
fake pair supervision 主要用于帮助情感预测和 genuine pair extraction,以确保文档中的每个子句都可以参与对提取的训练。表示的 concatenation 可以保留原始子句的特征,这有助于情绪预测从假对监督接收反馈。
将候选情感和非上下文子句的表示连接起来作为对表示:
其中 是子句
的上下文特定表示。在获得
后,使用预测层(由
参数化)来计算对
是情绪原因对的概率:
类似地,可计算假对监督的交叉熵。
I. Training
首先预训练情感预测模块。我们还预训练了 fake pair supervision。
预训练阶段主要是为了提高情感预测性能,而不是训练情感-原因对提取性能。此外,预训练阶段不会为 EPO-ECPE 性能带来额外的数据或知识。
情绪预测和 fake pair supervision 的总损失被用作预训练阶段的目标函数 :
,其中
表示情绪预测的交叉熵损失。
在训练阶段,使用、
和
之和作为文档d的损失函数
:
在预测阶段,对于每个候选情感-原因对 ,只有当满足以下两个条件时,我们将
设置为情感-原因对:
- 基于情感词典,候选情感子句
需要包含情感词。
-
> 0.5或对
是得分最高的
。
4 实验
数据集
对数据集分析如表 1 。Baseline Methods
与 13 existing methods 比较。
• Inter-EC
• E2EECPE
• PairGCN
• LAE-MANN
• ECPE-2D
• SLSN-U
• RANKCP
• ECPE-MLL
• Transition
• Tagging
• IE-CNN-CRF
• UTOS
• Refinement
评估指标
precision (P), recall (R), and F1 score
结果分析
D. Results and Analysis
E. Case Study
结果如表IV所示与RANKCP[23]的预测结果对比的案例。本文分别使用指示 c∗ 和 c§ 来表示情感子句和原因子句,并用不同的颜色强度标记候选情感子句以显示预测候选情感子句的分布。在示例 1 中,RANKCP 容易预测接近情感的子句作为其原因,因为 RANKCP 在排名中加入了基于内核的相对位置嵌入。这意味着一旦情绪子句被错误预测,可能会导致原因提取和情绪原因对提取的错误。
本文的模型将子句 c2、c5 和 c7 作为候选情感子句,然后从基于候选情感子句构建的真实对中提取情感-原因对。可以看出,c2也被EPO-ECPE预测为情感从句,但随着情感从句比c5更小的概率。同样,这种现象也出现在例2中。案例研究证明情绪预测在解决 ECPE 任务中起着至关重要的作用。假设可以正确预测情感子句。在这种情况下,情感-原因对提取(ECPE)可以在一定程度上被视为情感-原因提取(ECE),降低了提取的难度。
F. Error Analysis
观察 EMOECPE 引入了哪些类型的错误或无法正确提取什么样的情感-原因对 EPOCPE。结果如表V所示。将提取错误分为以下三类:
- 情感-原因对提取的误差分析:通常出现在具有多个情感原因对的文档中。例如事件 1、事件 2等。
- 情绪预测的误差分析:情绪预测的误差主要是指错误情绪子句预测引起的错误结果。从表 V 中发现 c4 是事件 3 中的情感子句。然而,模型检测 c9 作为情感子句,这导致构建不准确的情感子句上下文窗口,并进一步导致情感-原因对的提取错误。
- 原因预测的误差分析。例如事件 5 和 6 ,原因子句与情感子句相距甚远,因此实际原因子句不会包含在情感子句的上下文窗口中,故因此产生误差。
G. Model Analysis
-
Effect of Multiple Supervision:
EPO-ECPE 的训练可以分为预训练阶段和训练阶段。预训练阶段的信号和训练阶段的
。
旨在提高情绪预测的性能,
主要旨在提高情绪-原因对提取的性能。在去除特定的监督信号后重新训练EPO-ECPE预训练和训练阶段以验证不同监督信号的影响。实验结果如表VI所示。
Table 6 -
Comparison on Extracting Multiple Pairs: 通过将每个 flod 的测试集划分为单对文档和多对文档进行实验。表 VII 显示了两个子集的实验结果。Table 7
EPO-ECPE 在两个子集上都优于 Inter-EC、RANKCP 和 ECPE-MLL。
-
Effect of the Size of Emotion clause candidate set: 若 K 太大,它可能会包含一些错误的子句作为候选情感。通过改变 K 的值(范围从 1 到 5)来研究 K 对原因提取和情绪原因对提取的影响,如图 2 所示。如果数据集中的大多数文档包含更多的情感子句,则 K 的值
应该设置更大。
Figure 2 -
Effect of the Value of |w|: |w|是控制文档中的哪个子句可以被认为是给定情感子句的候选原因子句的超参数。如果 |w|太大,它可能会在真正的对中引入更多错误的情感-原因对。图 3 显示 EPO-ECPE情感子句和原因子句之间相对距离的 95.86% 是 2 或更少,因此 |w| = 2 对于基准数据集是合理的。Figure 3
Generality of EPO-ECPE: PO-ECPE 的架构适合处理配对问题。例如 Pairwise Aspect 和 Opinion Terms Extraction 任务 (PAOTE)。
其次,EPO-ECPE 将困难任务分解为几个稍微容易的任务的想法可以应用于多任务学习,尤其是当多个任务之间存在依赖关系时。对于这样的任务,找出哪个子任务对主要任务至关重要可以帮助每个任务充分利用所学的知识。
5 贡献
本文的主要贡献总结如下:
- 提出一种面向情感预测的端到端情感原因提取方法(EPO-ECPE),以指导后续的情感-原因对提取。
- 提出了一种 synchronization mechanism,在多个训练轮次中共享情感预测和情感原因对提取之间的学习子句表示。为了减少对提取的难度,将所有候选对分为 genuine pairs 和 fake pairs ,并设置 genuine pair supervision 和 fake pair supervision,分别从genuine pairs 和 fake pairs 中收集信息。