SUNET:用于对话中情绪识别的说话者-话语交互图神经网络
摘要
在对话中进行情感识别(ERC)能够捕捉说话者在多轮对话中的情感变化,因此具有广泛的应用。近年来,由于图神经网络具有捕捉复杂的非欧几里德空间特征的能力,它们在ERC任务中被自然地广泛使用。然而,如何轻松有效地建模对话以提高ERC在复杂交互模式中的效果仍然需要探索。为此,我们提出了一种新的方法,构建了一个说话者-话语交互异构网络,有效地对上下文进行建模,同时考虑了说话者的全局特征。在此基础上,我们提出了一种基于说话者和相应话语交互的图神经网络,根据说话者的发言顺序动态更新话语和说话者的表示。我们针对话语节点和说话者节点制定了不同的更新方法,以确保充分探索异构网络的特殊性。我们在四个ERC基准数据集上进行了广泛的实验,我们的方法相比最先进的方法实现了平均0.7%的性能提升,验证了在ERC任务中适当建模说话者的有效性。
1 介绍
1.1 背景
对话中的情感识别(ERC)是指对对话中每一个话语的情感倾向的识别。通常,在多轮对话中,话语的情绪趋势会随着不同说话者的影响而变化,这被称为情绪变化(Shen et al.,2021a)。这些自然的情绪转变更接近实际的对话场景,因此ERC吸引了越来越多的关注。近年来,ERC被广泛应用于社交媒体意见挖掘(Chatterjee等,2019)、用户行为分析(Lee和Hong,2016)、假新闻检测(Guo等,2019)等领域。
说话的情感可能受到许多因素的影响,例如同一说话者的其他话语以及周围对话的上下文(Shen等人,2021b)。因此,如何正确建模话语的上下文对ERC至关重要。现有的ERC方法根据对话建模的方式可以分为两类,基于循环的方法(Majumder等人,2019;Jiao等人,2020;Ghosal等人,2020;Lu等人,2020;Hu et al., 2021a; Gao et al., 2022) 和基于图的方法(Ghosal et al.,2019; Shen et al., 2021b)。基于循环的方法通常通过门控机制或注意力来建模不同话语之间的依赖关系。例如,COSMIC规定了对话中的五个不同状态,并使用不同的GRU对不同状态进行建模(Ghosal等人,2020)。基于图的方法利用图神经网络(GNNs)捕捉复杂的对话结构的能力。通过将对话中的话语视为节点,基于图的方法可以轻松展示不同说话者之间的时间和因果关系。因此,与基于循环的方法相比,基于图的方法通常能够取得更好的结果(Lee和Choi,2021;Shen等人,2021b)。
除了话语,说话者的角色在对话中也是一个关键的考虑因素。一些研究已经证实,说话者的特征或个性会影响对话(Zhong等人,2020;Liang等人,2021)。如图1所示,不同的说话者倾向于表达不同的情感分布。尽管愉悦的情感是常见的,但Chandler和Ross更容易表现出愉悦的情感。相反,Rechel更容易感到悲伤。与推荐系统中的人物类似,说话者的特质可以与论证逻辑、意图等一起影响特定对话中的情绪(Poria等人,2019b)。此外,在对话中考虑说话者的特性可以自然地模拟交互过程,有助于促进分类效果。因此,许多基于循环的方法通过建模说话者的状态来促进话语情感学习(Majumder等人,2019;Ghosal等人,2020;Hu等人,2021a)。然而,这些方法需要为不同的说话者建模多个状态,因此模型复杂且难以扩展。因此,一些基于图的方法更自然地通过将说话者视为节点来模拟话语和说话者之间的关系。(Zhang等人,2019;Liang等人,2021)。
1.2 动机和贡献
受以上观察的启发,有必要在ERC任务中适当地对对话进行建模,以包含不同的特征信息:(a)同一说话者和不同说话者的对话上下文,(b)不同说话者的特征,(c)对话之间的合理时间关系。然而,大多数现有方法并没有充分考虑这些关键因素。因此,我们的目标是提出一种简单的基于图的方法来建模对话,并同时考虑它们。具体而言,我们首先通过交互顺序和不同说话者的类型在话语之间添加不同的有向边。边的方向模拟了对话的顺序,使得可以充分考虑时间信息。此外,不同的边类型有效区分了同一说话者的话语和不同说话者的话语。然后,我们还为每个说话者添加全局特征,通过将说话者视为另一种节点,更好地建模具有多个说话者的对话。一个说话者节点连接到其所有相应的话语,可以建立远程关联。
在此基础上,我们提出了一种新的Speaker-Utterance Graph Neural Network(SUNET),基于异构图来通过多层聚合学习情感表示。我们为话语节点和说话者节点设计了不同的更新方法,以确保充分探索异构网络的特殊性。同时,引入了一个用于不同说话者的正则化项,以确保每个说话者的独特性。我们的方法证明了适当引入说话者特征可以改善ERC任务,并在四个公共数据集上取得了最先进的性能。
总体而言,我们的主要贡献总结如下:
-
我们提出了一种简单的说话者-话语异构图构建方案,通过引入不同类型的有向边以及说话者节点,自然地模拟了话语之间的方向性和说话者与他们的对话之间的交互。
-
基于说话者-话语异构图,我们为上述说话者-话语图定制了名为SUNET的图神经网络,突显了说话者特征对情感识别的贡献,有助于情感识别的最终效果。
-
我们在四个公共数据集上验证了我们提出的方法的有效性,并通过进一步的参数分析和消融实验证实了我们的组合方法和特征传播模型的有效性。
2. 相关工作
在本节中,我们将简要介绍与我们的研究相关的工作,包括情绪识别、图神经网络和对话中的情绪识别。然后,我们在表1中对基于循环和基于图的方法进行了综合总结。
3 方法
在本节中,我们给出了相应的符号定义,并详细说明了我们的方法,包括图的构建、SUNET的传播模式和最终的分类器。符号定义的摘要如表2所示。
3.1 问题定义
在ERC任务中,一个对话被定义为一系列𝑛个话语 𝑈 = {𝑢1, 𝑢2, … , 𝑢𝑛},其中每个话语 𝑢𝑖 对应一个情感标签 𝑦𝑖 ∈ 𝑌。在我们的任务中,我们考虑涉及多人的对话,并且每个说话者的身份可以由映射函数 𝑝(𝑢𝑖) ∈ 𝑃 表示,其中 𝑃 = {𝑝1, 𝑝2, …, 𝑝𝑚} 表示对话中按时间顺序排列的所有 𝑚 个说话者。ERC的最终目标是学习一个模型 𝜙(𝑢𝑖) → 𝑦𝑖,将每个话语映射到相应的情感标签。为了方便描述,一些重要的符号及其描述列在表2中。
3.2 图的构建
与以往基于图的ERC方法不同,我们的目标是将说话者节点引入会话中,并构建一个基于说话者-话语交互的异构图G=(V𝑢,V𝑝, ε \varepsilon ε,R),称为说话者话语图(SUGraph)。说话者的顶点可以引入说话者的特征,并连接远程话语顶点之间的交互。具体处理方式如下:
顶点:会话中的每个话语都被表示为一个顶点 v u i v_{ui} vui,说话人的顶点被表示为 v p i v_{pi} vpi。其考虑到两种类型的顶点可以模拟不同节点对ERC的影响。
边:考虑到不同说话者在对话中的身份,我们构造了三种不同类型的边:(a)同一说话者不同话语之间的边𝑟1,(b)不同说话者后续话语之间的边𝑟2,©一个话语与其说话者之间的边𝑟3。与Shen等人(2021b)一样,𝑟1、𝑟2被直接用于模拟对话中的时间关系。这意味着当前的话语只能受到过去的话语的影响,这在ERC中是合理的,因为一个人的情绪变化严重受到历史情绪和其他说话者的影响。我们将在第5.5节中讨论考虑特征边对模型的影响。𝑟3是无向的,用于在整个对话中,一个说话者和相应的话语之间的特征交换。为了对会话上下文进行建模,我们给出了过去的窗口参数𝑤,这意味着只有窗口内的话语可以添加边。具体的子图构建方法如算法1所示。
特征:继Ghosal等人(2020)和Shen等人(2021b)之后,我们使用微调后的RoBERTa(Liu等人,2019)作为话语特征提取器。我们使用Shen等人(2021b)提供的输出[CLS]来表示话语。然后,我们将训练集中一个说话者的所有话语特征的平均值设为说话者的特征表示,以防止信息泄漏。如果一个说话人只出现在测试集中,我们在进行模型测试时,通过平均在测试集中属于它的所有话语特征来计算说话人的特征。
构建子图的一个具体例子如图2所示。为方便起见,我们省略了表示该节点的符号𝑣。
3.3.SUNET层
如第3.2节所述,SUGraph是一个异构网络,因此我们根据不同的顶点类型提出了不同的传播方法。对于不同的话语顶点,我们需要考虑它们的对话上下文和说话者。对于不同的说话者顶点,我们只需要在谈话中考虑他们的话语。然后,我们介绍了这两个不同的顶点的更新方法。
首先,为了区分异构图SUGraph中的不同顶点关系,我们可以将SUGraph A∈
R
(
n
+
m
)
∗
(
n
+
m
)
R^{(n+m)∗(n+m)}
R(n+m)∗(n+m)的邻接矩阵分割为以下块:
其中
A
u
A_u
Au∈
R
n
∗
n
R^{n*n}
Rn∗n表示话语之间的边,
A
p
A_p
Ap∈
R
m
∗
n
R^{m*n}
Rm∗n表示话语与其说话者之间的边,𝑂∈
R
m
∗
m
R^{m*m}
Rm∗m表示一个矩阵,其中所有元素均为0,表示说话者之间没有边。由于话语之间的边是有向的,所以
A
u
A_u
Au不是对称的。对应于邻接矩阵,我们定义了话语节点和说话人节点的特征矩阵
H
u
l
H_u^l
Hul∈
R
n
∗
d
R^{n*d}
Rn∗d和
S
p
l
S_p^l
Spl∈
R
m
∗
d
R^{m*d}
Rm∗d。
更新话语
在A的基础上,将话语的传播定义为一个两阶段的计算:聚合和更新。
在聚合步骤中,话语节点执行邻域特征聚合,并考虑不同的边缘类型。特别是,需要考虑𝑟1和𝑟2的两种不同的话语关系,所以我们使用RGAT(Schlichtkrull et al., 2018; Velickovic et al., 2018)进行话语特征传播。具体来说,我们介绍了基于不同关系的图注意力机制如下:
其中,N(i)为 A u A^u Au中话语i的邻域, W l W^l Wl∈ R n ∗ 3 d R^{n*3d} Rn∗3d为可训练矩阵,∥表示连接操作。 H r l H_r^l Hrl∈ R 2 d R^{2d} R2d是从嵌入层学习到的关系特征,2表示在我们的方法中 A u A^u Au只有两种特定的关系(r1,r2)。基于注意力的聚合步骤后的 u i u_i ui的邻域特征表示为:
然后,在更新步骤中,通过整合上下文话语、最后一层节点特征和说话者对应的话语特征,更新当前的话语特征:
其中, H p l H_p^l Hpl∈ R n ∗ d R^{n*d} Rn∗d为由 S p l S_p^l Spl生成的话语对应的说话者特征矩阵:
说话者更新
同样地,说话者的更新也可以分为两部分。给定说话者的所有话语的聚合可以很容易地通过块矩阵𝐴𝑝计算:
但与话语更新不同的是,我们使用门控循环单元(GRU)来更新说话者,从之前的说话者状态中过滤有用的信息:
3.4 分类器
经过𝐿层传播后,我们得到了 S p l S_p^l Spl, H u l H_u^l Hul,并利用它们来预测话语的情绪。通过简单的线性变换,我们可以得到不同标签类别下的概率分布:
标准的交叉熵损失用于情绪预测:
此外,我们希望不同的说话者特征更具体。也就是说,我们需要确保不同说话人节点的特征之间的相似性较低。受一些图正则化方法的启发(Yang et al.,2021),正则化项可以进一步提高图网络的性能,并且防止过拟合。所有说话者之间的相似性正则化可以通过以下方法进行计算:
其中,𝑆∈ R m ∗ m R^{m*m} Rm∗m表示两个说话者之间的相似程度。由于对角线表示节点与自身的相似性,所以我们需要屏蔽它:
𝑀𝑎𝑠𝑘∈ R m ∗ m R^{m*m} Rm∗m是一个矩阵,其中除了对角线上的0外,所有的元素都是1,⊙表示元素级的乘法(逐元素相乘=点乘=哈达玛积)。
然后,我们添加另一个损失来区分不同的说话者:
最后,我们对联合损失函数进行了优化如下:
其中,𝜆是一个需要调整的超参数。该模型的总体体系结构如图3所示。
4 实验设置
4.1 数据集
IEMOCAP、MELD、DailyDialog、EmoryNLP
4.2 基线
我们将SUNET与以下基线方法进行了比较。
基于循环的方法:DialogueRNN (Majumder et al., 2019), KET (Zhong et al., 2019), BiERU (Wei et al., 2022), MVN (Ma et al., 2022) , DialogueCRN (Hu et al., 2021a) and CoMPM (Lee and Lee, 2022).
基于图的方法:DialogueGCN (Ghosal et al.,2019), KET (Zhong et al., 2019), DialogXL (Shen et al., 2021a),RGAT (Ishiwatari et al., 2020), TUCORE-GCN (Lee and Choi, 2021),DAG-ERC (Shen et al., 2021b) and SKAIG (Li et al., 2021a). 𝑅𝑜𝐵𝐸𝑅𝑇 𝑎 in Table 5 represents the corresponding duplicate version using RoBERTa embeddings.
预训练的模型RoBERTa(Liu et al.,2019),用线性分类器表示为RoBERTa𝐿𝑖𝑛𝑒𝑎𝑟。