记忆网络之在对话系统中的应用
前面几天看了下Jason Weston等人在对话系统方面的工作,可以看成是对Memory Networks的扩展吧,应用到了对话领域中,主要看了下面三篇论文,基本上是按照发表时间顺序来的,接下来我们逐篇来介绍一下其主要工作内容:
- evaluating prerequisite qualities for learning end-to-end dialog system
- Dialog-based Language Learning
- learning end-to-end goal-oriented dialog
evaluating prerequisite qualities for learning end-to-end dialog system
这篇文章是15年发表的,主要贡献是提出一个评估端到端对话系统性能的指标以及相关的数据集。目前对话系统可以分成三个类别:
1,传统的对话系统中常常使用对话状态跟踪组件+对话相应生成组件来完成对话,这样就需要结合预先定义好的状态结构、用户话语、上一轮对话以及一些别的外部信息,而且每一轮对话都需要标记其内部状态并精准的分析用户意图,这就导致其很难推广到大规模应用。
2,基于神经网络的端到端对话系统,其不需要状态跟踪组件,直接根据对话的上下文和用户当前输入生成回复,并且可实现端到端的反向传播训练。但是这就导致了其没有办法使用之前的数据集进行训练和测试(都针对状态跟踪设计)。所以目前一般使用人工评分(很难扩展)或者BLEU得分来评价模型的效果,但是往往不能够达到评价的标准。
3,本文提出的数据集和模型,第二种方法的缺点主要在于BLEU在带有目的性的对话中不能够起到很好的效果,比如特定的领域,电影推荐、餐厅助手等。
本文作者认为一个对话系统应该具有下面的四种能力才可以很方便的推广到其他领域中。作者以电影推荐助手为切入点,使用OMDb、MovieLens、Reddit构建了四个数据集,分别解决四个问题。如下:
- QA:用于测试对话系统能否回答客观问题,类似于一个给予KB知识库的问答系统,给予SimpleQuestions数据集进行修改以适应本文的要求。其中每个问题会有一个答案列表,模型只需要生成一个答案列表即可