论文笔记 Personalizing Dialogue Agents: I have a dog, do you have pets too?

ABSTRACT

现有的chit-chat模型的缺点:缺乏特异性,没有一贯的性格,不吸引人。
这个工作通过在profile information上进行训练使得chit-chat more engaging。

收集数据训练模型,to :
1)在profile information 上进行训练
2)在对方的information上进行训练

2)最初是未知的,因此模型可以讨论私人话题,然后开启对话,开启的对话用来2)

1 INTRODUCTION

人际交流仍处在发展初级阶段
神经模型容量足够,能够处理大规模数据集使得meaningful-chit-chat变得现实
但稍微聊一会儿就会展现缺点(Serban 2016)

现有c-c model的缺点:
1)缺乏consistent的性格,因为总是基于不同人的数据进行训练(Li 2016)
2)长期记忆的缺失,因为他们每次产生回答都是基于最近的dialogue history(V L 2015)
3)经常出现 I don't know这样的回答
我们认为这些问题的一大原因是没有好的数据集。

由于模型很烂,然后模型也很难evaluate,所以c-c模型发展被遗忘。
一些面向特定任务的(task-oriented)发展很快。
但显然人类交流很大程度上都是关于socilazition,personal interests,chit-chat的。
twitter上只有不到5%的是问题,80%是上面。

本工作中我们给予C-C模型一个可配置且有一贯性性格persona。
这个性格是是通过很多相关的文本句子来编码的,称为profile。
把profile存在memory-argumented network里
从而产生更加吸引人并且拥有一贯性的回答。

同理,关于小伙伴的information也可以这么用。
模型被训练来ask以及answer,产生的对话来对小伙伴的persona进行建模。

为了支持模型训练,我们构造了PERSONA-CHAT数据集。
包括了16w+的对话。
标记者随机配对,并被要求扮演我们给定一个persona的角色。
标记者被要求自然交流,并试图去了解对方。
这就会产生一些有趣的对话,来让我们的模型去学习模仿。

那么如何产生下一个utterance,我们比较了很多模型:
Seq2seq,MEMNN,other 检索模型
不论是生成式还是检索式,有了Persona information的模型效果都好

2 RELATED WORK

传统的对话系统由buidling blocks组成,并且广泛应用到特定任务中。
最成功的goal-oriented对话系统采用部分可观测的马尔科夫决策(POMDPS)(Young 2013)
但这些都不考虑chit-chat

最早的Non-goal driven对话系统追溯到1966年,还是hand-coded。
现在开放式对话系统结合了hand-coded & machine learning。
最简单的就是检索式,基于recent dialogue history来检索和rank。
本工作的baseline便是IR。

端到端的neurla approaches最近很hot。
一类generative recurrent system很popular像Seq2Seq(很多参考文献)
他们能够产生连贯的新颖的回应,但记忆不行。
缺乏一贯的性格和长期的连贯性
解决方法是使用memory-argumented network(Sukhbaatar 2015,Dodge 2015)

一篇论文(Serban 2015)列出了对话系统可用语料库
与c-c最相关的:OpenSubtitles,Cornell Movie-dialogue Corpus,以及网络平台如Twiiter,Reddit。
但基于这些的训练会使得结果没有一致的性格
并且这些数据几乎不能用于了解说话者的性格。

对于c-c setting,最相关的工作是Li 2016a。
他们对Twitter的每个人进行了捕捉,建立了性格,提升了他们的Seq2Seq模型。
但他们的模型没有试图去了解小伙伴。
因此我们focus on explicit profile information,而不是难以解释的参数变量。

3 THE PERSONA-CHAT DATASET

本工作的目标是使得c-c更个性化更吸引人。
PCD数据集众包,标记者随机配对,并被要求扮演我们给定一个persona的角色。
数据收集包括以下三个阶段:
(i) Personas。众包获得了1155个personas,每个包括至少5个句子,100个用于validation,100个用于测试。
(ii)Revised Personas。为了避免模型对一些word overlap过分关心,我们重写了1155个Personas,使得模型任务更加challenging一些。
(iii)将turkers两两配对,分配随机两个personas,然后chat。
产生了16w+个utterance(发言),10000个对话。其中分出验证集和测试集。

最终的数据集和模型公开。
接下来详细介绍一些每个阶段:

Personas

每句不会超过15个词。太长了turker会感到厌烦,并且机器也会觉得难。

Revised Personas

构建对话数据集的一大难点是
数据集对于现有技术不要太难也不要太简单

human可能会再无意中逐字说出profile information或者重叠词太多
这会降低任务难度,降低模型泛化能力。
因此我们revise了personas。
包括:rephreases,generalizations,specialization.

Persona Chat

接着我们就要收集dialogue。
收集过程中发现人们倾向于光谈论自己,所以要他们问答,来了解对方。
对话是turn-based,每句不超15词。
不能重复persona。
每个对话最低6-8轮。

Evaluation

我们focus on于预测下一个utterance。
但我们对模型有没有给Profile information都进行考虑。
四种情况:
没有persona,只有你自己的persona,只有对方的persona,以及都有。

评估方法:
(i) log likeihood
(ii) F1 score
(iii) next utterance classification(Lowe 2015)

4 MODEL

考虑两类:生成式和检索式(ranking)
检索式从把training set中每一个发言都作为候选
生成式根据dialogue history(也可能是Persona),word-by-word生成句子。

我们在evaluate时可以把生成式认为是检索式:
计算生成一个候选集的概率,然后排序。

Baseline ranking models

两个baseline model:
IR baseline(Sordoni 2015)
Starspace(Wu 2017)

使用margin ranking loss,k-negative sampling。
在以上两个中引入Profile的方法:直接将Profile和查询向量(bag of words)连接

Ranking Profile Memory Network

显然上边两个Baseline是无法对profile和dialogue history进行区分的
使用Memory Network,把dialogue history作为输入,profile作为Memory。
通过对memory的attention计算q+,进而计算q+与候选集c们的相似度。

也可以进行多轮,但在我们的实验中效果不甚显著。

Key-Value Profile Memory Network

attention on key
output value
在这里把dialogue history当做key,把the next utterance当做value。
计算q++,然后再去和c计算相似度来rank。

这样的话势必key-value pairs特别大,训练将特别慢。
因此我们只训练了一个简单的profile memory network
然后把参数拿过来,只在测试时使用这个K-V架构。
事实证明即使如此这样的效果也是beneficial的。

Seq2Seq

使用Glove作为embedding方法。
通过直接将profile和sequence串联来加入profile

Generative Profile Memory Network

生成式模型,在Seq2Seq基础上。

5 EXPERIMENTS

首先介绍一些自动评估指标,之后介绍人为评估。

Automated metrics

生成式中Profile Memory相比Seq2Seq改进了ppl
检索式全部提高了hits@1

Ranking vs. Generative

Ranking模型都远好于Generative模型
可能是由于生成式使用的是基于单词的概率
而ranking需要的是基于句子的概率

Ranking Models

Starspace > IR baseline:是由于Starspace能够学出相似度度量的标准
PMEMM > Starspace:attention(关注)了profile。
KVMEMM>PMEMM on no persona:能够考虑与当前对话相似的kv对。

Revised Personas

修改以后确实使任务变难了
但PMEMM确实效果是提升了

见附录Table6可知用Revised Personas训练可以改善效果
可能是因为Revised personas没有overlap,使得模型更具概括能力

Their Persona

如果只使用Their,那么效果提升不显著
因为大多数speaker更倾向于谈论自己

Human Evaluation

要求turkers给对话打分、并且给他们测试看他们是否detect出了对方的性格。
对比了有Persona和无Persona,PERSONA-CHAT与TWITTER。

下一步研究的挑战:对话各项指标的平衡。

Profile Prediction

PERSONACHAT适合解决的问题:
1)next utterance prediction during dialogue
2)profile prediction

6 CONCLUSION & DISCUSSION

本工作介绍了PERSONA-CHAT数据集。
每个标注者扮演一个角色,并且这个角色的描述有另一个版本(revised)

我们测试了一些基于PERSONA-CHAT的模型,发现能够访问到persona的模型会更加consistent,但缺少engaging。
另一方面,使用PERSONA-CHAT的模型相比使用twitter等数据集的会更engaging。

我们相信PERSONA-CHAT会帮助日后旨在拥有consistent personality的对话系统。

另外,还可以用于预测profile。并且由于我们有revised版本,使得不会作弊。

同时,original和revised也是一个有意思的语义相似度数据集。
我们希望这个数据集能够帮助一个机器了解对话者性格,记住他们的答案,然后在对话中流畅运用。

你可能感兴趣的:(论文笔记 Personalizing Dialogue Agents: I have a dog, do you have pets too?)