DialogueGCN A Graph Convolutional Neural Network for Emotion Recognition in Conversation
Deepanway Ghosal, Navonil Majumder, Soujanya Poria, Niyati Chhaya, Alexander F. Gelbukh:DialogueGCN: A Graph Convolutional Neural Network for Emotion Recognition in Conversation. EMNLP/IJCNLP (1) 2019: 154-164
Abstract
在本文中,我们提出了对话图卷积网络(DialogueGCN), 其为一个基于图卷积神经网络的ERC方法。我们利用对话者的自我依赖和说话者之间的依赖来为情绪识别中对话的上下文进行建模。通过图网络,DialogueGCN解决了当前基于RNN的方法中存在的上下文传播问题。我们的经验表明,这种方法解决了这些问题。
Introduction
。。。
有关ERC的最新工作是使用递归神经网络(RNN)按顺序处理构成对话的话语。如图2中展示的方法,这依赖于向话语传播上下文和顺序信息。因此我们将对话信息馈入一个双向GRU单元.但是,与大多数当前模型一样,由于在基准数据集中对这些方面缺乏把握,我们也忽略了意图建模,主题和个性。理论上,向GRU,LSTM这样的RNN网络应该能够传播长期的上下文信息.但是,实际上并非总是如此.这影响了基于rnn的模型在各种任务中的有效性,包括ERC。
为了缓解这个问题,一些最先进的方法的变种,DialogueRNN使用注意力机制来对每一个目标话语池化整个或部分对话信息.然而这种池化机制没有考虑话语的信息以及目标话语与其他话语的相关位置.说话者的信息对于说话者之间的独立性建模是十分必要的,其可以使模型理解说话者是如何强迫他人改变情绪的。同样,通过引申,说话者间依赖或自我依赖有助于模型理解说话者个体的情绪惯性,即说话者抵制外界改变自己的情绪的影响。另一方面,考虑目标话语和上下文话语的相对位置决定了过去话语如何影响未来话语,反之亦然。过去话语对将来话语的影响是自然的,但反过来(将来的话语???),会帮助模型填补一些丢失的相关信息,即说话者一部分的背景知识,但这些背景知识在未来的对话中才会明确出现.我们通过使用有向图对会话进行建模来利用这两个因素(说话者的信息和当前话语与上下文的相对位置??)。图中的节点表示单个话语。一对节点/话语之间的边表示这些话语的说话者之间的依存关系,以及它们在对话中的相对位置。通过将这个图馈入一个由两个连续的卷积运算组成的GCN中,我们在遥远的话语之间传播上下文信息。我们认为与DialogueRNN相比,这些表示拥有更丰富的与情感相关的上下文.这在第5节中得到了经验证明。
2 Related Work
ERC的应用包括观点挖掘,医疗保健,推荐系统,教育等。图神经网络最近也很受欢迎,并已应用于半监督学习,实体分类,链接预测,大规模知识库建模以及许多其他问题.
3 Methodology
对话中情感识别的最重要策略之一是上下文建模。我们在ERC中确定了两种主要类型的上下文,顺序上下文和说话者级上下文。我们针对每个目标话语通过相邻话语对这两种类型的上下文进行建模。
上下文的计算建模还应该考虑对话中对话者的情绪动态.在二元和多方对话系统中,情感动态通常会受到两个主要因素的影响:说话者之间的依赖性和自我依赖性。说话者之间的依赖性是指说话人对对方产生的情感影响。这种依赖性与以下事实紧密相关:在对话过程中,说话者倾向于在对话过程中模仿对方以建立融洽关系。但是,必须考虑到,并非所有参与者都会以相同的方式影响说话者。相反,自我依赖,或情绪惯性,处理的是说话者在谈话中对自己产生的情绪影响。对话中的参与者可能会由于情绪惯性而坚持自己的情绪状态,除非对方激起了情绪的改变。因此,就对话中的情感动态而言,说话者之间的依赖性和自我依赖性之间总是存在一个主要的相互作用。
我们推测,将这两种截然不同但又相关的上下文信息方案(顺序编码和说话者级别编码)结合起来,将会创建增强的上下文表示,从而更好地理解会话系统中的情感动态。
3.1 Problem Definition
设再一次对话中有 M M 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构成的话语的情感标签(happy,sad,neutral,angry,excited,and frustrated),其中话语 u t u_t ut有当事人 p s ( u t ) p_{s(u_t)} ps(ut)说出,其中的 s s s表示话语与相应当事人的索引之间的映射.而且 u t ∈ R D m u_t\in R^{D_m} ut∈RDm是话语表示,使用下文所述的特征提取器获得.
3.2 Context Independent Utterance-Level Feature Extraction
使用一个CNN来从文本记录中提取文本特征.使用单卷积层后接一个max-pooling 和一个全连接层来获取话语的特征表示.网络的输入是300维的经过预训练的 840B GloVe向量.使用大小为3,4,5的过滤器,每个过滤器带有大小为50的特征映射.然后将卷积的特征进行最大池化,窗口大小为2,然后进行ReLU激活.这些之后会被连接并送入一个100维的全连接层,其激活形成话语的表示.这个网络在带有情感标签的话语级别进行训练.
3.3 Model
DialogueGCN 由三个部分组成:序列上下文编码器,说话者级别的上下文编码器和情感分类器.见图3.
3.3.1 Sequential Context Encoder
由于对话本质上是顺序的,因此上下文信息沿该顺序流动。将对话输入到一个双向的GRU中来捕获上下文信息:
g
i
=
G
R
U
s
↔
(
g
i
(
+
,
−
)
1
,
u
i
)
f
o
r
i
=
1
,
2
,
.
.
.
,
N
g_i=\overleftrightarrow{GRU_s}(g_{i(+,-)1},u_i)\;for\;i =1,2,...,N
gi=GRUs
(gi(+,−)1,ui)fori=1,2,...,N
,其中
u
i
,
g
i
u_i,g_i
ui,gi分别是上下文独立表示和序列上下文感知的话语表示(sequential context-aware utterance representations)
因为这些话语的编码与说话者无关,这个初始编码方案是与说话者无关的,这与DialogueRNN相反.
3.3.2 Speaker-Level Context Encoder
我们提出了一个以图网络形式的说话者级别的上下文编码器来捕获对话中与说话者相关的上下文信息.有效的对说话者级别进行建模需要捕获说话者之间和说话者自身的独立性.我们从顺序编码的话语中设计了一个有向图来捕获对话参与者之间的交互.此外,我们提出了一种基于局部近邻的卷积特征变换过程,以创建丰富的说话者级别的上下文编码特征。
首先,我们引入以下符号:
- 一个由N个话语组成的对话表示为一个有向图
G
=
(
V
,
E
,
R
,
W
)
\mathcal{G}=(\mathcal{V,E,R,W})
G=(V,E,R,W)
- 节点 v i ∈ V v_i\in\mathcal{V} vi∈V
- 带有标签的边
r
i
j
∈
E
r_{ij}\in\mathcal{E}
rij∈E
- 其中 r ∈ R r\in\mathcal{R} r∈R 是节点 v i , v j v_i,v_j vi,vj之间的边的关系类型
-
α
i
j
\alpha_{ij}
αij是带有标签的边
r
i
j
r_{ij}
rij 的权重
- 0 ≤ α i j ≤ 1 , α i j ∈ W 0\leq\alpha_{ij}\leq1,\alpha_{ij}\in\mathcal{W} 0≤αij≤1,αij∈W
- i , j ∈ [ 1 , 2 , . . . , N ] i,j\in[1,2,...,N] i,j∈[1,2,...,N]
Graph Construction:通过以下方式从话语中构建图
- Vertices(节点):对话中的每一个话语作为节点 v i ∈ V i n G v_i\in\mathcal{V}\;in\;\mathcal{G} vi∈VinG.每一个节点使用相应的序列编码特征 g i g_i gi 来初始化.我们将此向量表示为节点的特征.当基于近邻的转换过程用于对说话者级别的上下文进行编码时,节点的特征会在下游发生变化。
- Edges: 边 E \mathcal{E} E的构建依赖于被建模的的上下文.例如,当对说话者级别的信息进行编码时,我们假设每一个节点(话语)根据上下文依赖于对话中的所有其他话语,接着一个完全联通的图就会被构建出来.即每一个节点都与其他所有节点(包括他自己)联通.然而这会产生 O ( N 2 ) O(N^2) O(N2)量级的边,其对于拥有大量节点的图计算起来会非常耗时.一个更加实际的解决方案是通过维持一个大小为 p p p的过去上下文窗口和一个大小为 f f f的未来上下文窗口来构建边.在这种情况下,每一个话语节点 v i v_i vi与过去的 p p p个话语的节点: v i − 1 , v i − 2 , . . . , v i − p v_{i-1},v_{i-2},...,v_{i-p} vi−1,vi−2,...,vi−p,未来的 f f f个话语: v i + 1 , v i + 2 , . . . , v i + f v_{i+1},v_{i+2},...,v_{i+f} vi+1,vi+2,...,vi+f以及其自身有直接的边相连.本文的实验中 p = f = 10 p=f=10 p=f=10.由于图是有向的,两个顶点在两个方向上可以有不同关系的边。
- Edge Weights:边上的权重使用一个基于注意力机制的相似度模块来设置.注意力函数以下列方式计算:对于每一个节点,边的集合的权重总和为1,考虑窗口大小分别为
p
,
f
p,f
p,f的过去上下文窗口和未来上下文窗口,权重由下式计算:
α i j = s o f t m a x ( g i T W e [ g i − p , . . . , g i + f ] ) , f o r j = i − p , . . . , i + f (1) \alpha_{ij}=softmax(g_i^TW_e[g_{i-p},...,g_{i+f}]),for\;j=i-p,...,i+f\tag{1} αij=softmax(giTWe[gi−p,...,gi+f]),forj=i−p,...,i+f(1)
这确保了与节点 v i − p , . . . , v i + f v_{i-p},...,v_{i+f} vi−p,...,vi+f有边连接的节点 v i v_i vi在说话者级别的上下文中的总权重是1. - Relations:边
r
i
j
r_{ij}
rij的关系
r
r
r基于下列两个方面来设置
- Speaker dependency:该关系依赖于构成节点的两个说话者: p s ( u i ) p_{s(u_i)} ps(ui)(说出话语 v i v_i vi的人), p s ( u j ) p_{s(u_j)} ps(uj)(说出话语 v j v_j vj的人).
- Temporal dependency(时间依赖性) 该关系也依赖于 u i , u j u_i,u_j ui,uj在对话中出现的相对位置:即 u i u_i ui是在 u j u_j uj之前说出的还是之后说出的。若对话中有 M M M个不同的说话者,那么在图 G \mathcal{G} G中可能做多有 M × M × 2 = 2 M 2 M\times M\times2=2M^2 M×M×2=2M2种不同的关系类型 r r r.
对话中的每个说话者都会受到彼此唯一的影响,因此我们假设在图中明确地声明这些关系边,将有助于捕获说话者之间的相互依赖和自我依赖,这将进而促进说话者级别的上下文编码。
作为例证,设两个人 p 1 , p 2 p_1,p_2 p1,p2参与的动态对话中有5个话语,其中 U − 1 , u 3 , u 5 U-1,u_3,u_5 U−1,u3,u5由 p 1 p_1 p1说出.若我们考虑一个全连通的图,边和关系将会如表1那样构建
Feature Transformation:描述使用图网络转换顺序编码特征的方法。节点特征向量 g i g_i gi最初与说话者无关然后使用两步图卷积过程将其转换为说话者相关的特征向量。这两种转换都可以理解为基本的可微消息传递方法的特殊情况.
在第一步中,通过使用受(Schlichtkrull et al., 2018)启发的特定关系转换来聚合局部近邻信息(在这种情况下,由过去和将来上下文窗口大小指定的近邻话语)来计算节点
v
i
v_i
vi的新的特征向量
h
i
(
1
)
h_i^{(1)}
hi(1):
h
i
(
1
)
=
σ
(
∑
r
∈
R
∑
j
∈
N
i
r
α
i
j
c
i
,
j
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\limits_{r\in\mathcal{R}}\sum\limits_{j\in N^r_i}\frac{\alpha_{ij}}{c_{i,j}}W_r^{(1)}g_j+\alpha_{ii}W_0^{(1)}g_i),for\;i=1,2,...,N\tag{2}
hi(1)=σ(r∈R∑j∈Nir∑ci,jαijWr(1)gj+αiiW0(1)gi),fori=1,2,...,N(2)
其中
α
i
j
,
α
i
i
\alpha_{ij},\alpha_{ii}
αij,αii是边的权重,
N
i
r
N^r_i
Nir顶点
i
i
i在关系
r
∈
R
r\in\mathcal{R}
r∈R的相邻索引,
c
i
,
j
c_{i,j}
ci,j问题特定的规范化常数,其可以预先设置,如
c
i
,
j
=
∣
N
i
T
∣
c_{i,j}=|N_i^T|
ci,j=∣NiT∣,或者可以被自动的在基于梯度的学习设置中学习到.
σ
\sigma
σ是激活函数,比如ReLU,
W
0
(
1
)
,
W
r
(
1
)
W_0^{(1)},W_r^{(1)}
W0(1),Wr(1)转换过程中的可学习参数.
在第二步中在第一步的输出上应用了另一个基于局部近邻的变换,
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\limits_{j\in N^r_i}W^{(2)}h^{(1)}_j+W_0^{(2)}h^{(1)}_i),for\;i=1,2,...,N\tag3
hi(2)=σ(j∈Nir∑W(2)hj(1)+W0(2)hi(1)),fori=1,2,...,N(3)
其中
W
(
2
)
,
W
0
(
2
)
W^{(2)},W_0^{(2)}
W(2),W0(2)这些转换中的参数.
公式2,3这一堆转换有效地累积本地邻域(特征)的归一化总和,即图中每一个话语的近邻说话者的信息.自连接确保了自依赖的特征转换。
Emotion Classifier:(来自序列编码器中的)上下文编码的特征向量
g
i
g_i
gi与(来自说话者级别的编码器中的)
h
i
(
2
)
h_i^{(2)}
hi(2)被连接起来并且应用了一个基于相似度的注意力机制来获取最终的话语表示:
h
i
=
[
g
i
,
h
i
(
2
)
]
(4)
h_i=[g_i,h_i^{(2)}]\tag{4}
hi=[gi,hi(2)](4)
β
=
s
o
f
t
m
a
x
(
h
i
T
W
β
[
h
1
,
h
2
,
.
.
,
h
N
]
)
(5)
\beta=softmax(h_i^TW_\beta[h_1,h_2,..,h_N])\tag{5}
β=softmax(hiTWβ[h1,h2,..,hN])(5)
h
~
i
=
β
i
[
h
1
,
h
2
,
.
.
,
h
N
]
T
(6)
\tilde{h}_i=\beta_i[h_1,h_2,..,h_N]^T\tag{6}
h~i=βi[h1,h2,..,hN]T(6)
最终,使用全连接网络来对话语进行分类:
l
i
=
R
e
L
U
(
W
l
h
~
i
+
b
l
)
(7)
l_i=ReLU(W_l\tilde{h}_i+b_l)\tag{7}
li=ReLU(Wlh~i+bl)(7)
P
i
=
s
o
f
t
m
a
x
(
W
s
m
a
x
l
i
+
b
s
m
a
x
)
(8)
\mathcal{P}_i=softmax(W_{smax}l_i+b_{smax})\tag{8}
Pi=softmax(Wsmaxli+bsmax)(8)
y
^
i
=
arg max
k
(
P
i
[
k
]
)
(9)
\hat{y}_i=\argmax\limits_k(\mathcal{P}_i[k])\tag{9}
y^i=kargmax(Pi[k])(9)
Training Setup:我们使用分类交叉熵和L2正则化作为训练期间损失
L
L
L的量度:
L
=
−
1
∑
s
=
1
N
c
(
s
)
∑
i
=
1
N
∑
j
=
1
c
(
i
)
log
P
i
,
j
[
y
i
,
j
]
+
λ
∣
∣
θ
∣
∣
2
(10)
L=-\dfrac{1}{\sum\limits_{s=1}^Nc(s)}\sum\limits_{i=1}^N\sum\limits_{j=1}^{c(i)}\log\mathcal{P}_{i,j}[y_{i,j}]+\lambda||\theta||_2\tag{10}
L=−s=1∑Nc(s)1i=1∑Nj=1∑c(i)logPi,j[yi,j]+λ∣∣θ∣∣2(10)
其中
N
N
N是样本/对话的数量,
c
(
i
)
c(i)
c(i)是样本
i
i
i中话语的数量,
P
i
,
j
\mathcal{P}_{i,j}
Pi,j是对话
i
i
i中的话语
j
j
j的情感标签的概率分布,
y
i
,
j
y_{i,j}
yi,j是对话
i
i
i中的话语
j
j
j的期望类别标签,
λ
\lambda
λ是L2正则化权重,
θ
\theta
θ可训练的参数集合.
我们使用基于随机梯度下降的Adam(Kingma and Ba 2014)优化器来训练我们的网络。超参数使用网格搜索进行优化(值被添加到补充材料中)。
4 Experimental Setting
4.1 Datasets
三个数据集: IEMOCAP,AVEC,MELD .三个都含有每一个话语的文本,视频声音信息
Conclusion
imental Setting
4.1 Datasets
三个数据集: IEMOCAP,AVEC,MELD .三个都含有每一个话语的文本,视频声音信息
Conclusion
未来的工作将着重于将多模式信息纳入对话GCN,说话者级情感转移检测以及对话,情感推理的概念基础。