DialogueGCN: 一种用于会话情感识别的图形卷积神经网络
DialogueGCN: A Graph Convolutional Neural Network for
Emotion Recognition in Conversation
语言环境建模的重要性,序列模型现有缺点是还是遗忘问题,从图的方面,改进了序列模型的缺点
0. Abstract
对话情感识别(Emotion recognition in conversation (ERC))。本文提出对话图卷积网络,一种基于图神经网络的ERC方法。我们利用谈话者自身和说话者之间的依赖性来为情感识别建模对话环境。DGCN来解决RNN模型上下文传播问题。
1. Introduction
ERC在情感对话系统中也很重要(如图1所示),在情感对话系统中,机器人理解用户的情绪和情感,以产生情感连贯和感同身受的反应。
最近关于ERC的工作用递归神经网络按顺序处理对话的组成话语(RNN)。这样的scheme在图2中示出(茯苓等人,2019b),其依赖于向话语传播上下文和顺序信息。然而,像大多数当前的模型一样,我们也忽略了意图建模、主题和个性,因为在基准数据集中缺乏对这些方面的标记。
为了缓解RNN现有缺点,现在的模型带入了注意力机制,当时没有考虑话语的说话者信息和来自目标话语的其他话语的相对位置。说话人信息对于建立说话人之间的依赖关系是必要的,这使得模型能够理解说话人如何强迫其他说话人的情绪变化。类似地,通过延伸,说话者内部或自我依赖帮助模型理解个体说话者的情绪惯性,其中说话者抵抗外部影响而改变他们自己的情绪。同样,通过延伸,说话者内部或自我依赖有助于模型理解个体说话者的情绪惯性,其中说话者抵抗外部影响对其自身情绪的改变。另一方面,考虑目标话语和语境话语的相对位置决定了过去话语如何影响未来话语,反之亦然。虽然过去的话语影响未来的话语是自然的,但反过来可能有助于模型填充一些相关的缺失信息,这些信息是说话者背景知识的一部分,但在未来的对话中会明确出现。过去的消息填补空缺,作为说话者背景一部分,我们通过使用有向图建模对话来利用这两个因素。
图中的节点代表单个的话语。一对节点/话语(nodes/utterances)之间的边表示这些话语的说话者之间的依赖性,以及它们在对话中的相对位置。
第二节简要论述了有关ERC的相关著作;第三节阐述了方法;第4节展示了实验;第5节展示并解释了实验结果;最后,第六部分对论文进行了总结。
2. Related Work
略
3. Methodology
对话中情感识别最突出的策略之一是语境建模。两种主要的语境类型——sequential context和speaker-level context。根据 Poria et al. (2017), ,我们通过相邻话语,每个目标话语,对这两种类型的语境进行建模。
语境的计算建模也应该考虑对话中对话者的情感动态。在双向和多方对话系统中,情感动态通常受到两个主要因素的影响——种间依赖(inter-speaker dependency)和自我依赖(self-dependency)。种间依赖是指对方在说话者身上产生的情感影响。这种依赖性与这样一个事实密切相关,即说话者倾向于在对话过程中模仿对方来建立融洽的关系。然而,必须考虑到,不是所有的参与者都会以同样的方式影响演讲者。每个参与者通常以独特的方式影响其他参与者。相比之下,自我依赖或情感惰性(emotional inertia)是指说话者在谈话中对自己的情感影响。参与者对话由于他们的情绪惯性,很可能会坚持自己的情绪状态,除非对方要求改变。因此,就对话中的情感动态而言,说话者之间的依赖和自我依赖之间总是存在着重要的相互作用。我们推测,结合这两种不同但相关的上下文信息方案(顺序编码和说话者级别编码)将创建增强的上下文表示,从而更好地理解会话系统中的情感动态。
我们推测,结合这两种不同但相关的上下文信息方案(顺序编码和说话者级别编码)将创建增强的上下文表示,从而更好地理解会话系统中的情感动态。
3.1 Problem Definition
交谈中,M个发言者 p 1 , p 2 , . . . , p M p_1, p_2, ..., p_M p1,p2,...,pM,任务是预测组成交谈 u 1 , u 2 , . . . , u N u_1,u_2,...,u_N u1,u2,...,uN情感标签(快乐、悲伤、中立、愤怒、兴奋、沮丧、厌恶和恐惧) u i u_i ui是被 p s ( u i ) p_{s(u_i)} ps(ui)发出,而s是话语和其对应说话者的索引之间的映射。 u i ∈ R D m u_i \in R^{Dm} ui∈RDm,使用下面描述的特征提取过程获得
3.2 Context Independent Utterance-Level Feature Extraction
上下文无关的话语级特征提取
CNN从交谈中抽取文本特征, 单层CNN+max-pooling+全连接层。输入是300维GloVe,我们使用大小为3、4和5的过滤器,每个过滤器包含50个feature maps。卷积的特征max-pooled窗口大小2,ReLU。然后将它们连接在一起,送入一个100维的全连接层,其激活形成话语的表示。这个网络是用情感标签在话语层面上训练的。
3.3 Model
Sequential Context Encoder, Speaker-Level Context Encoder,和 **Emotion Classifier.**架构图如3
3.3.1 Sequential Context Encoder
因为,对话本质上是连续的,语境信息沿着这个顺序流动。我们将对话反馈给GRU,以获取以下上下文信息:
g
i
=
↔
G
R
U
S
(
g
i
(
+
,
−
)
1
,
u
i
)
g_i=\leftrightarrow{GRU}_S(g_{i(+,-)1, u_i})
gi=↔GRUS(gi(+,−)1,ui),对应
i
=
1
,
2
,
.
.
.
.
,
N
i=1,2,....,N
i=1,2,....,N,
u
i
u_i
ui和
g
i
g_i
gi分别是上下文无关的和顺序的上下文感知话语表示。
因为不管说话者是谁,都要对话语进行编码,所以与现有技术DialogueRNN相反,这种初始编码方案是说话者不可知的,
3.3.2 Speaker-Level Context Encoder
我们以图形网络的形式提出了Speaker-Level 上下文编码器模块,以捕获会话中依赖于说话者的上下文信息。有效地模拟说话人层面的语境需要捕捉参与者之间的相互依赖(inter-dependency)和自我依赖(self-dependency)。我们从顺序编码的话语中设计一个有向图来捕捉参与者之间的这种交互。此外,我们提出了一个基于局部邻域的卷积特征变换过程,以创建丰富的speaker-level上下文编码特征。框架在此详述。
首先:引入以下符号,具有N个话语的对话被表示为有向图
G
=
(
V
,
E
,
R
,
W
)
G=(V, E, R, W)
G=(V,E,R,W),节点/顶点
v
i
∈
V
v_i \in V
vi∈V,边标记(关系)
r
i
j
∈
E
r_{ij} \in E
rij∈E,
r
∈
R
r \in R
r∈R是边
v
i
,
v
j
v_i, v_j
vi,vj的类型,
a
i
j
∈
W
a_{ij} \in W
aij∈W是边的权重,
i
,
j
∈
[
1
,
2
,
.
.
.
,
N
]
i, j \in [1,2,...,N]
i,j∈[1,2,...,N]
Graph Construction该图由以下方式的话语构成
Vertices: 每个话语表示为在图中向量
v
i
∈
V
v_i\in V
vi∈V,每个顶点
v
i
v_i
vi用相应的顺序编码的特征向量初始化
g
i
,
i
∈
[
1
,
2
,
.
.
.
,
N
]
.
g_i,i\in[1,2,...,N].
gi,i∈[1,2,...,N].我们把这个向量称为顶点特征。当基于邻域的变换过程被应用于编码 speaker-level级别的上下文时,顶点特征会在下游发生变化。
Edges:边E的构造取决于要建模的上下文。例如,如果我们假设每个话语(顶点)在语境上依赖于对话中的所有其他话语(当编码speaker level级别信息时)那么就可以构造一个完全连通的图。也就是说,每个顶点都通过一条边与所有其他顶点(包括其自身)相连。然而,这导致边缘的数量为 O ( N 2 ) O(N^2) O(N2),这对于具有大量顶点的图来说在计算上非常昂贵。
一个更实际的解决方案是通过保持过去的上下文窗口大小为
p
p
p和未来的上下文窗口大小为
f
f
f来构造边。在这种情况下,
v
i
v_i
vi有
v
i
−
1
,
v
i
−
2
,
.
.
.
,
v
i
−
p
.
v
i
+
1
,
.
.
.
,
v
i
+
f
v_{i-1},v_{i-2},...,v_{i-p} . v_{i+1}, ...,v_{i+f}
vi−1,vi−2,...,vi−p.vi+1,...,vi+f
对于本文中的所有实验,我们考虑过去的上下文窗口大小为10,未来的上下文窗口大小为10
因为图形是有向的,所以两个顶点在两个方向上可以有不同关系的边。
Edge Weights:使用基于相似性的注意力模块来设置边缘权重。注意力函数的计算方式是,对于每个顶点,引入的边集的总权重为1,考虑过去和未来文本权重计算公式:
α
i
j
=
s
o
f
t
m
a
x
(
g
T
W
e
[
g
i
−
p
,
.
.
.
,
g
i
+
f
]
)
,
f
o
r
j
=
i
−
p
,
.
.
.
,
i
+
f
(
1
)
\alpha_{ij} = softmax(g^TW_e[g_{i-p},...,g_{i+f}]), for j={i-p},...,{i+f} \ (1)
αij=softmax(gTWe[gi−p,...,gi+f]),forj=i−p,...,i+f (1)
确保总权重1
Relations:根据两个方面来设置边缘
r
i
j
r_{ij}
rij的关系
r
r
r:
Speaker dependency -这种关系取决于构成顶点的两个说话者:
p
s
(
u
i
)
p_{s(ui)}
ps(ui)和
p
s
(
u
j
)
p_{s(uj)}
ps(uj)
Temporal dependency -这种关系还取决于对话中
u
i
u_i
ui和
u
j
u_j
uj出现的相对位置:无论i,j谁先说。如果对话中有M个不同的说话者,最多可以有KaTeX parse error: Undefined control sequence: \* at position 8: M(u_i) \̲*̲ M(u_j) \* 2前后位置 =
2
M
2
2M^2
2M2中不同的关系类型
对话中的每个说话者都受到其他说话者的独特影响,因此我们假设在图中明确声明这样的关系边将有助于捕捉说话者之间的相互依赖和自我依赖,这将有助于说话者级别的上下文编码。
举例来说,让双方 p 1 、 p 2 p1、p2 p1、p2参与具有5个对话的二元对话,其中 u 1 、 u 3 、 u 5 u1、u3、u5 u1、u3、u5由P1发出, u 2 、 U 4 u2、U4 u2、U4由 p 2 p2 p2发出。如果我们考虑完全连通图,边和关系将如表1所示构造。
Feature Transformation:我们现在描述使用图形网络转换顺序编码特征的方法。顶点特征向量 ( g i ) (g_i) (gi)最初是与说话者无关的,然后使用两步图形卷积过程转换成与说话者相关的特征向量。这两种转换都可以理解为基本可微消息传递方法的特例
在第一步中,一个新向量
h
i
(
1
)
h_i^{(1)}
hi(1)通过聚集向量
v
i
v_i
vi局部领域信息计算(在这种情况下,由过去和将来的上下文窗口大小指定的相邻话语)
h
i
(
1
)
=
σ
(
∑
r
∈
R
∑
j
∈
N
i
r
α
i
j
c
i
,
r
W
r
(
1
)
g
j
+
α
i
i
W
0
(
1
)
g
i
)
,
f
o
r
i
=
1
,
2
,
.
.
.
,
N
(
2
)
h_i^(1) = \sigma(\sum_{r \in R} \sum_{j \in Nir} \frac{\alpha_{ij}}{c_{i,r}} W_r^{(1)}g_j + \alpha_{ii}W_0^{(1)}g_i), for i=1,2,...,N \ (2)
hi(1)=σ(r∈R∑j∈Nir∑ci,rαijWr(1)gj+αiiW0(1)gi),fori=1,2,...,N (2)
α
i
j
\alpha_{ij}
αij和
α
i
i
\alpha_{ii}
αii是边权重,
N
i
r
N_i^r
Nir代表邻居节点i的关系
r
∈
R
r \in R
r∈R,
c
i
c_i
ci是一个特定于问题标准化常数,可以预先设置如
c
i
,
r
=
∣
N
i
r
∣
c_{i,r} = |N_i^r|
ci,r=∣Nir∣或者可以在基于梯度的学习设置中自动学习。激活函数自己设置如ReLU
在第二步中,在第一步的输出上应用另一个基于局部邻域的变换,
h
i
(
2
)
=
σ
(
∑
j
∈
N
i
r
W
(
2
)
h
j
(
1
)
+
W
0
(
2
)
h
i
(
1
)
)
,
f
o
r
i
=
1
,
2
,
.
.
.
,
N
(
3
)
h_i^{(2)} = \sigma(\sum_{j \in {Nir}} W^{(2)}h_j^{(1)}+W_0^{(2)}h_i^{(1)}), \ for i=1,2,...,N \ (3)
hi(2)=σ(j∈Nir∑W(2)hj(1)+W0(2)hi(1)), fori=1,2,...,N (3)
这一堆变换,Eqs.(2)和(3),有效地累积了局部邻域的归一化和(邻域的特征),即图中每个话语的邻域说话者信息。自连接确保了自相关特征变换
Emotion Classifier:将上下文编码的特征向量
g
i
g_i
gi(来自顺序编码器)和
h
i
(
2
)
h_i^(2)
hi(2)(来自speaker-level编码器)连接起来,并应用基于相似性的注意力机制来获得最终的话语表示:
h
i
=
[
g
i
,
h
i
(
2
)
]
,
(
4
)
h_i = [g_i, h_i^(2)], \ (4)
hi=[gi,hi(2)], (4)
β
i
=
s
o
f
t
m
a
x
(
h
i
T
W
β
[
h
1
,
h
2
,
.
.
.
,
h
N
]
)
,
(
5
)
\beta_i = softmax(h_i^TW_{\beta}[h_1, h_2, ..., h_N]), \ (5)
βi=softmax(hiTWβ[h1,h2,...,hN]), (5)
h
i
~
=
β
i
[
h
1
,
h
2
,
.
.
.
,
h
N
]
T
,
(
6
)
\widetilde{h_i}=\beta_i[h_1,h_2,...,h_N]^T, \ (6)
hi
=βi[h1,h2,...,hN]T, (6)
最后,使用完全连接的网络对话语进行分类:
l
i
=
R
e
L
U
(
W
i
h
i
~
+
b
l
)
,
(
7
)
l_i = ReLU(W_i\widetilde{h_i} + b_l), \ (7)
li=ReLU(Wihi
+bl), (7)
P
i
=
s
o
f
t
m
a
x
(
W
s
m
a
x
l
i
+
b
s
m
a
x
)
,
(
8
)
P_i = softmax(W_{smax}l_i + b_{smax}), \ (8)
Pi=softmax(Wsmaxli+bsmax), (8)
y
i
^
=
arg max
k
(
P
i
[
k
]
)
,
(
9
)
\widehat{y_i} = \argmax_k(P_{i}[k]), \ (9)
yi
=kargmax(Pi[k]), (9)
Training Setup:我们使用分类交叉熵和L2正则化作为训练过程中损失的度量:
L
=
−
1
∑
s
=
1
N
c
(
s
)
∑
i
=
1
N
∑
j
=
1
c
(
i
)
log
P
i
,
j
[
y
i
,
j
]
+
λ
∣
∣
θ
∣
∣
2
(
10
)
L=-\frac{1}{\sum_{s=1}^Nc(s)} \sum_{i=1}^N \sum_{j=1} ^{c(i)} \log P_{i,j}[y_{i,j}] + \lambda||\theta||_2 \ (10)
L=−∑s=1Nc(s)1i=1∑Nj=1∑c(i)logPi,j[yi,j]+λ∣∣θ∣∣2 (10)
N 样本/对话的数量,c(i)是样本i中的话语数量,
P
i
,
j
P_{i,j}
Pi,j是对话I的话语j的情感标签的概率分布,θ是所有可训练参数的集合
4. Experimental Setting
4.1 Datasets Used
IEMOCAP,AVEC,MELD
4.2 Baselines and State of the Art
CNN, Memnet, c-LSTM, c-LSTM+Att, CMN, ICON, DialogueRNN
5 Results and Discussions
5.1 Comparison with State of the Art and Baseline
为了解释这种性能差距,理解这些模型的本质是很重要的。DialogueGCN和DialogueRNN都试图对speaker-level的上下文进行建模(尽管不同),而其他模型都没有对speaker-level的上下文进行编码(它们只对顺序上下文进行编码)。这是基线模型中的一个关键限制,因为说话者级别的上下文在会话情感识别中确实非常重要。
由于循环编码器具有长期的信息传播问题,所以对于像这两个数据集中发现的长序列,说话者级编码可能是有问题的。相比之下,DialogueGCN试图通过使用基于邻域的卷积来模拟说话人级别的上下文来克服这个问题。
5.2上下文窗口的效果
我们在表3和表4中报告了DialogueGCN模型的结果,用过去和未来的上下文窗口大小(10,10)来构造边。我们还进行了上下文窗口大小减小(8,8),(4,4),(0,0)的实验,发现在IEMOCAP上F1的分数为62.48%,59.41%和55.80%,性能稳步下降。上下文窗口大小为(0,0)的DialogueGCN相当于只有顺序编码器的模型(因为它只有自己的边),性能预计会差得多。由于计算限制,我们无法在更大的窗口上执行大量实验,但我们预计在更大的上下文大小下性能会有所提高。
5.3 Ablation Study
在表5中,我们对不同级别的上下文编码器,即顺序编码器和speaker-level编码器进行了消融研究。
此外,我们还研究了边缘关系建模的效果。如第3.3.2节所述,对于有M个不同说话者的对话,总共有
2
M
2
2M^2
2M2不同的边关系。这些结果支持了我们的假设,即对话中的每个说话者都受到其他人的独特影响,因此,建立对话者依赖模型是基本的。
5.4 Performance on Short Utterances
短句的意思依赖上下文
5.5 Error Analysis
相似情感容易误差 愤怒-沮丧 兴奋-高兴