摘要
理性和情感是人类的两个基本要素。具有理性和情感的生成agents是AI的主要目标之一。然而,在对话AI领域,大多数现有模型只专注于一个方面,而忽略了另一个方面,这通常会导致沉闷或无关的响应。在本文中,我们认为同时将理性和情感与对话agents相结合,可以提高响应的质量。为了测试该想法,我们专注于理性的一个基本方面,即常识,并提出了CARE,这是一种新的基于常识和情感的响应生成模型。具体而言,我们首先提出了一个框架,在给定输入消息和期望情绪的条件下,来学习和构建基于常识和情感潜在概念。然后,我们提出了三种方法来将常识和情感的潜在概念纳入到响应生成。在两个大型数据集的实验结果支持了我们的想法,并表明我们的模型可以生成更准确的基于常识和情感的响应,与仅专注于一个方面的SOTA模型相比,达到了更高的人类评分。
1.介绍
理性和情感是人类的两个基本要素,这对我们的社交互动是不可缺少的。具有理性和情感的生成agents是AI的主要目标之一。在最近对对话AI的研究中,对具有理性或情感的对话模型的研究趋势不断增加。具有理性的对话模型可以利用常识知识,并已被证明可以生成更合适和信息丰富的反应。具有情感的对话模型可以产生适当的情绪响应,从而提高用户满意度和与用户的长期关系。
理性和情感在人类对话中并不是独立存在的。事实上,情绪在社交互动中往往是伴随合理的。然而,大多数现有的对话模型只专注于一个方面并忽视了另一个,这通常会导致沉闷或无关的响应。例如,如表1所示,由于缺乏理性建模,所以最新的情绪对话模型(EmoDS)生产了通用或无关的情感响应。此外,现有的基于理性的对话模型,例如,基于常识的对话模型(CCM),无法生成情感响应,使他们难以与用户建立长期关系。
一项最近的工作提出将若干人类特征(如知识,人格和同理心)融入到对话agent,并在人类评估中获得了最新的性能。他们的实验分析表明,混合这些特征对于实现良好的人类评分至关重要。由于1)理性和情感是人类的两个基本品质,而且2)通过结合几种人类品质能实现模型的性能改善,因此我们认为将理性和情感结合到对话agent可以改善响应质量及其人类评分。
在本文中,我们将理性和情感的范围缩小到某个特定配置,以便更容易实现和评估。具体而言,我们专注于理性的一个基本方面,即常识,和情感的离散表示。常识是理性的重要基础和人类谈话的基础。情感的离散表示将情感分类为离散的基本情绪,例如喜悦,愤怒等,并且这在心理学中也有坚实的情感理论。为了测试我们的假设,我们提出了一种新模型,Commonsense-Aware Response generation with specified Emotions (CARE),并评估其性能。这项任务的两个主要挑战是:1)缺乏相关的数据集或资源;2)如何生成适当的基于常识的情感词。我们通过建立一个基于情感的常识知识图(EA-CKG),以整合常识和情感知识,从而解决第一个挑战。我们通过将由EA-CKG构建的理性和情感潜在概念融入响应生成来解决第二个挑战。具体而言,我们通过从情感对话中提取的情感三元组来增强外部CKG,以构建EA-CKG。然后,我们使用学习的EA-CKG嵌入来构建潜在的概念,通过在EA-CKG上推理来生成具有常识和情感的的响应。最后,我们提出了三种方法,以便在注意力,优化和采样期间顺序地和协作地融合潜在概念。CARE如图1所示。
2.相关工作
Rational Response Generation:具有理性的响应生成模型通常依赖于知识库,例如开放领域的响应生成,面向任务的响应生成和问答。Zhou et al. (2018b) 提出的CCM通过在具有1跳知识的三元组上应用注意力机制,从而在开放领域的响应生成中引入常识知识。Zhang et al. (2020) 提出了ConceptFlow将CCM扩展到多跳知识三元组。不同于CCM和ConceptFlow,我们的模型不受CKG覆盖范围的限制,可以学习用于响应生成的新知识三元组。
Emotional Response Generation:情感对话模型也在人们的研究工作中。Zhou et al. (2018a) 通过提出内部存储器模块来捕获情绪状态变化和外部存储器模块以生成情感词,从而扩展了Seq2Seq模型。Song et al. (2019) 提出了一种情感分类器来指导响应生成。相比之下,我们的模型通过利用由KG嵌入构成的情感潜在概念来生成情感相应。
Controlled Text Generation:最近的可控文本生成方法主要基于生成对抗网络(GAN),语言模型和Seq2Seq模型。Keskar et al. (2019) 在大语料中训练了一个基于Transformer的条件语言模型,以控制code来控制风格,内容和特定于任务的行为。Li and Sun (2018) 和 Peng et al. (2019) 提出了基于主题和情感的响应生成模型。相比之下,我们专注于常识,即单词的语义网络,而不是主题,即单词簇。
3.CARE Model
在本节中,我们介绍了任务的定义和CARE模型,其中包括构建潜在概念的框架和三种方法来引入潜在概念。
3.1 Task Definition
我们将 { X i , Y i , e i } , i = 1 , . . . , N \{X_i,Y_i,e_i\},i=1,...,N {Xi,Yi,ei},i=1,...,N,表示为 { m e s s a g e , r e s p o n s e , e m o t i o n } \{message, response, emotion\} {message,response,emotion}元组的集合,其中 e i e_i ei从预定义的一组情感列表中选择,并表示为 Y i Y_i Yi的情感类别 , N N N表示训练数据集中的对话次数。我们的任务可以定义如下:给定一条新的消息 X n e w X_{new} Xnew和情感类别 e e e,生成一个具有情感 e e e的自然且包含常识的响应 Y n e w Y_{new} Ynew。
3.2 Latent Concepts Construction Framework
在这一框架中,我们首先建立一个基于情感的常识知识图(EA-CKG),然后从EA-CKG中构建潜在概念。
EA-CKG。我们从情感对话中提取情感三元组,并将它们增强到外部CKG中以获得EA-CKG。我们使用ConceptNet作为我们的CKG。概念网络中的每个三元组都遵循
{
h
e
a
d
,
r
e
l
a
t
i
o
n
,
t
a
i
l
}
\{head, relation, tail\}
{head,relation,tail}格式,例如
{
b
e
e
r
,
A
t
L
o
c
a
t
i
o
n
,
b
a
r
}
\{beer, AtLocation, bar\}
{beer,AtLocation,bar}。请注意,我们使用n-gram与ConceptNet进行匹配,从而从话语中抽取出概念,并且忽略了停用词以及完全由停用词组成的n-gram。我们将情感三元组定义为
{
m
s
g
_
c
o
n
c
e
p
t
,
e
m
o
t
i
o
n
,
r
e
s
_
c
o
n
c
e
p
t
}
\{msg\_concept, emotion, res\_concept\}
{msg_concept,emotion,res_concept}格式,代表从消息概念到响应概念的情感链接。例如,给定消息“I heard there is a bar nearby with nice beer”及其对应的具有joy情感的响应“I love tasty beer”,那么三元组
{
b
e
e
r
,
j
o
y
,
t
a
s
t
y
}
\{beer, joy, tasty\}
{beer,joy,tasty}是一个有效的情感三元组。
我们提出了一种基于pointwise mutual information(PMI)的两步方法,以从情感对话中提取这种情感三元组。PMI可以测量语料库中的两个单词之间的关联。我们扩展了smoothed positive PMI,即
P
P
M
I
α
PPMI_α
PPMIα,如下所示:
P
P
M
I
α
(
w
1
,
w
2
)
=
m
a
x
(
l
o
g
2
P
(
w
1
,
w
2
)
P
α
(
w
1
)
P
α
(
w
2
)
,
0
)
,
(1)
PPMI_{\alpha}(w_1,w_2)=max(log_2\frac{P(w_1,w_2)}{P_{\alpha}(w_1)P_{\alpha}(w_2)},0),\tag{1}
PPMIα(w1,w2)=max(log2Pα(w1)Pα(w2)P(w1,w2),0),(1)
其中
(
w
1
,
w
2
)
(w_1,w_2)
(w1,w2)表示单词对,
P
α
(
w
)
=
c
o
u
n
t
(
w
)
α
∑
x
c
o
u
n
t
(
x
)
α
P_α(w)=\frac{count(w)^α}{\sum_xcount(x)^α}
Pα(w)=∑xcount(x)αcount(w)α表示
w
w
w的平滑概率,并且平滑系数
α
α
α设置为0.75,以减轻朝向稀有字的偏差。
在我们的两步方法中,我们首先在消息中及其对应响应的的概念中构建一个PPMI矩阵,以提取对话中强烈相关的概念对,表示为会话概念对(conversational concept pairs,CCP)。 注意,在这种情况下,等式1中的
w
1
w_1
w1指的是消息概念,
w
2
w_2
w2是指响应概念。然后,我们在CCP和他们表达的情感之间构建第二个PPMI矩阵,并提取能够充分表达情感的CCP。注意,在这种情况下,等式1中的
w
1
w_1
w1指的是CCP,
w
2
w_2
w2是指情感,且我们不对
P
(
w
2
)
P(w_2)
P(w2)进行平滑。通过使用这种两步的方法,我们可以有效地提取与某些情感共同表达的对话三元组。EA-CKG的统计数据呈现在表2中。我们的方法与基于补全方法的常识知识库具有相似之处,但是,它们不能普遍适应提取情感CCP。
Latent Concepts Construction。在训练和推理期间,给定消息
X
i
X_i
Xi和期望的情感
e
i
e_i
ei,我们基于EA-CKG Embeddings构建响应的潜在概念。具体来说,我们首先在整个EA-CKG上训练一个完善的知识嵌入模型,即TransE,以学习全局概念和关系嵌入。TransE中的嵌入是通过使正确的三元祖
(
h
,
r
,
t
)
(h,r,t)
(h,r,t)的得分
−
∣
∣
h
+
r
−
t
∣
∣
2
-||\textbf h+\textbf r-\textbf t||_2
−∣∣h+r−t∣∣2远高于损坏的三元组来学习到的,其中
h
,
r
,
t
\textbf h,\textbf r,\textbf t
h,r,t表示TransE中
h
,
r
,
t
h,r,t
h,r,t的嵌入,并且
∣
∣
h
∣
∣
2
=
1
,
∣
∣
t
∣
∣
2
=
1
||\textbf h||_2=1,||\textbf t||_2=1
∣∣h∣∣2=1,∣∣t∣∣2=1。因此,给定消息概念
h
h
h,关系
r
r
r和响应概念
t
t
t,通过
r
r
r,我们可以估计
h
h
h和
t
t
t的相关性 ,如下所示:
s
c
o
r
e
(
h
,
r
,
t
)
=
(
h
+
r
)
T
t
.
(2)
score(h,r,t)=(\textbf h+\textbf r)^T\textbf t.\tag{2}
score(h,r,t)=(h+r)Tt.(2)
然后,我们从EA-CKG中获取前
m
m
m个响应的相关潜在概念,
{
t
}
1
m
\{t\}^m_1
{t}1m,如下所示:
{
t
i
}
1
m
=
t
o
p
t
(
s
c
o
r
e
(
h
,
r
,
t
)
)
,
(3)
\{t_i\}^m_1=\mathop{top}\limits_{t}(score(h,r,t)),\tag{3}
{ti}1m=ttop(score(h,r,t)),(3)
其中
h
∈
C
X
i
,
r
∈
R
∪
{
e
i
}
h∈C_{X_i},r∈R∪\{e_i\}
h∈CXi,r∈R∪{ei},
C
X
i
C_{X_i}
CXi表示
X
i
X_i
Xi中的所有概念,
R
R
R表示ConceptNet中的所有36个关系,而
t
t
t是在EA-CKG的概念词汇表中进行搜索。对于没有任何概念的消息,我们使用空消息概念的嵌入,其嵌入是所有概念嵌入的平均值。
Framework Analysis。我们的框架为响应构建了理性的关系(
r
∈
R
r∈R
r∈R)和有情感的概念(
r
=
e
i
r=e_i
r=ei)。通过利用EA-CKG Embeddings,我们的框架继承了知识库补全的思想,并在现有模型中使用的图形搜索方法以查找相关概念具有两个主要优势:1)由于将情感三元组加入到了CKG中,我们的框架可以发现同时具有常识和情感的概念,例如,给定beer和joy,能够搜索到tasty,给定beer和sadness,能够搜索到bland;2)我们的框架不仅可以通过遍历EA-CKG,以在多跳链接中找到相关的概念,也可以使用等式3的发现任意数量的新的相关概念,而不受CKG覆盖率的限制(参见结果分析) 。
3.3 Incorporating Latent Concepts
获取潜在概念后,我们提出了三种方法来将它们整合到基于Transformer的对话模型中,如图2所示。注意,类似于角色嵌入的想法,我们还在我们的解码器中使用了情感嵌入层。
Emotion-Aware Graph Attention。受通过 (Zhong, Wang, and Miao 2019b) 的启发,在cross-attention层之前,通过使用基于情感的图注意力,我们将潜在概念纳入解码器中。 我们假设重要的潜在概念是与消息概念相关的,并且具有高的情感强度。概念之间的相关性从等式2获得。情感强度则基于emotion lexicon NRC_VAD和emotional intensity computation method来计算。使用同义词扩展,将NRC_VAD的大小从20K扩展到34K,以便更好地覆盖。
正式地,令
{
t
1
,
t
2
,
.
.
.
,
t
m
}
\{t_1,t_2,...,t_m\}
{t1,t2,...,tm}表示从等式3获得的响应
Y
i
Y_i
Yi的潜在概念,
{
s
1
,
s
2
,
.
.
.
,
s
m
}
\{s_1,s_2,...,s_m\}
{s1,s2,...,sm}是从等式2获得的相关性分数,
{
q
1
,
q
2
,
.
.
.
.
.
.
,
q
m
}
\{q_1,q_2,......,q_m\}
{q1,q2,......,qm}是基于NRC_VAD计算的情感强度,我们可以计算
Y
i
Y_i
Yi的潜在概念嵌入,即
C
Y
i
\textbf C_{Y_i}
CYi,如下所示:
C
Y
i
=
∑
i
=
1
m
β
i
t
i
,
(4)
\textbf C_{Y_i}=\sum^m_{i=1}\beta_i\textbf t_i,\tag{4}
CYi=i=1∑mβiti,(4)
其中
t
i
\textbf t_i
ti表示
t
i
t_i
ti的词嵌入,且
β
i
β_i
βi计算如下:
β
i
=
λ
i
e
x
p
(
δ
1
i
s
i
)
∑
j
e
x
p
(
δ
1
j
s
j
)
+
(
1
−
λ
i
)
δ
2
i
q
i
∑
j
e
x
p
(
δ
2
j
q
j
)
,
(5)
\beta_i=\lambda_i\frac{exp(\delta_{1i}s_i)}{\sum_jexp(\delta_{1j}s_j)}+(1-\lambda_i)\frac{\delta_{2i}q_i}{\sum_jexp(\delta_{2j}q_j)},\tag{5}
βi=λi∑jexp(δ1jsj)exp(δ1isi)+(1−λi)∑jexp(δ2jqj)δ2iqi,(5)
其中
λ
i
λ_i
λi表示相关性和情感强度之间的平和系数,
δ
1
i
,
δ
2
i
\delta_{1i},\delta_{2i}
δ1i,δ2i表示Softmax温度。注意,
λ
i
λ_i
λi,
δ
1
i
\delta_{1i}
δ1i和
δ
2
i
\delta_{2i}
δ2i是特定于概念的,并且可以在训练期间进行固定或学习。然后,在带入到cross-attention层之前,所得到的潜在概念嵌入
C
Y
i
\textbf C_{Y_i}
CYi和响应表示进行平均。
Dynamic Label Smoothing。Transformer通常采用Label smoothing,以提高翻译质量。我们提出了一种简单但有效的dynamic label smoothing(DLS)方法,在生成概念相关相应时,明确引入潜在概念的监督,并稳定学习过程。 具体地,从传统标签平滑开始,我们用训练步骤线性地增加潜在概念的平滑值,并降低词汇表中的其他单词的平滑值。请注意,目标字的平滑值保持不变。潜在概念的总平滑值的最大值是在实验中进行调整的超参数。我们优化模型参数以最小化KL损失。
Concept-Aware Top-K Decoding。