原文:https://arxiv.org/pdf/1702.01932.pdf
原论文的主要内容翻译与总结

摘要

Neural network 模型已经可以进行很自然的对话交互了。但目前来看,这些模型在基于任务的对话中并没有通过吸取其他形式的真实信息或背景实体(entity-grounded)观点来增强它们的服务水平。该论文就提出来一种新颖的,完全有数据驱动的,并且基于背景知识(knowledge-grounded)的神经对话模型。该论文意在没有槽位填充下产生内容更加丰富的回应。论文实验中以对话记录和外部的“事实”为条件,通过常见的seq2seq方法使模型在开放领域的设置中变的通用和可行。在人工测评中,论文的方法相比传统的seq2seq能输出更加丰富的信息。

概述

从(Ritter et al., 2011; Sordoni et al.,2015; Shang et al., 2015; Vinyals and Le, 2015)开始,前辈们的工作向我们展示了训练一个全数据驱动的端到端对话模型是可行的。但这样的全数据系统缺乏现实中的场景,而且不能访问任何额外的知识。这就使他很难产生实质性的回复。
该论文从全数据驱动和场外知识背景的相关研究中汲取经验。在对话中联系到其他数据是很关键的,因为那些存储在非对话的知识(如百科,书评和旅店评论等)对于对话来说是非常有用的。在对话中,agent通过上百万的对话记录学习到人们交流的主干后,我们再通过非对话的知识来丰富内容。需说明的是该论文的研究是以更加有意义的对话为目的。先前的全数据驱动对话模型已经应用在闲聊机器人,本研究通过额外的数据可以帮助用户做出更好的决策(例如推荐或QA系统)或完成特殊的任务(例如task-completion agents)。
该方法是在一般seq2seq框架基础上,在多任务的学习中结合对话和非对话数据。该方法的核心思想是在回复时不仅以对话记录作为条件,也吸收了相关的额外事实信息。我们的思想是只需要使用一种方法(例如简单的命名实体匹配等)在对话上下文中引入额外信息,这就提高了该模型在开放域中的多样性和可适用性。

构建

当前构建全数据驱动的对话模型所面临的的挑战是在已存在的对话数据库中,没有一个可以包括世界的所有知识。尽管这些数据库近年在不断的丰富,但和百科,评论或其他形式的数据相比还远远不够。
为了吸收为了向回复中灌输和对话上下文相关的事实信息,我们提出了一种知识场模型(如下图)。首先我们有一个可用的world facts,这是一个每行为一条词目的集合(例如百科,评论),并以命名实体作为关键词进行索引。然后在给定的source sequence S中,识别S的“focus”(即特征词)。这些foucs可以被用于关键词匹配或更先进的方法中,例如实体链(entity linking)或命名实体识别。这样query就可以检索到所有上下文相关的facts: F = {f1, f2, f3, ….., fk}。最后将对话对和相关的facts都喂到神经架构中去训练。下面章节里我们将会详细介绍。

相比传统的seq2seq响应生成方法,这种知识场方法更具有综合性,因为它使我们关心的那些具有差异的实体不用去学相同的对话模型。在实际中,即使给出一个在训练中没有出现过的实体(也就意味着在词典中也没有该实体),在这种情况下,我们的方法也能够依赖相关的facts来生成一个适当的响应。这也说明我们能够在不用重新训练整个模型的情况下通过facts来丰富我们的系统。
我们通过多任务并发式的学习方法(Luong et al., 2015)将对话数据和场数据及少量的非正式交换(例如对“hi, how are you”的回应)自然的联系起来。其中的两种类型任务是我们多任务中最具特点的:
(1)一个纯粹的会话任务,该任务使用无fact encoder的(S,R)获得模型。其中S表示对话记录,R表示响应;
(2)另外一个任务使用({f1,….,fk,S},R)训练样例来获得最终的模型。
这种去耦合的两种训练条件有以下几种优势:首先,它允许我们先使用对话库来做预训练,再以预训练获得的模型为基础做多任务训练。再个,它能给我们灵活性的揭露不同类型的会话数据。最后,一个有趣的观点是可以在任务(2)中使用facts中的一条fact(R=fi)来替换响应,这就使得任务(2)更像一个自编码器(autoencoder),可以帮助模型产生更具丰富的内容。在第4部分我们将会做更详细的讨论。

对话的编码与解码

对话的编码与解码组成一个Seq2Seq模型。如下图所示:

Facts Encoder

图3中的Facts Encoder与(Weston et al., 2014; Sukhbaatar et al., 2015)首次提出的记忆网络模型相似。它使用组合记忆来塑造和一个指定问题相关的facts。在我们案例中,当一个实体在对话中被提到,那么就会基于用户输入和对话历史对facts进行检索和加权并最终生成一个答案。记忆网络模型被广泛应用到QA中,通过保存在记忆中的事实来做推断。
在我们的适应性 记忆网络中,我们使用了一个RNN encoder将输入的sequence转化为一个向量,而不是使用之前记忆网络中使用的词袋表示法。这能够使我们在输入的不同部分之间能够更好的利用词间的依赖性(inter lexical dependencies),并且能够使记忆网络模型(facts encoder)更加直接的适应Seq2Seq模型。

形象化说明

我们给出一个sentence集合S={s1,s2,s3,…..,sn}和一个fact集合F={f1,f2,…..,fk}。fact集合是和对话记录(即S)相关的。RNN encoder按token依次读入一条sequence,并更新它的隐藏状态(hidden state)。读入整条sequence后,RNN encoder的隐藏状态 u就是这条sequence的概要。通过使用一个RNN encoder, 我们可以获得源sequence更丰富的表示。
我们首先假设u是一个d维的向量,ri是fi的v维词袋表示。基于(Sukhbaatar et al., 2015),我们有:

(公式1,2,3是求解相关fact条目i的向量,公式4将所有相关facts向量整合,公式5是将相关的facts向量与encoder向量整合)
其中 A,C是记忆网络的参数。然后,不同于原来版本的记忆网络,我们使用了一个善于生成响应的RNN decoder。RNN的隐藏态使用来初始化,而整合了输入sequence和相关知识场,最后通过该隐藏态来预测响应sequence的逐词生成。
为了替代公式5中的求和方式,我们也实验了串联方式,但求和方式的效果更好一些。(Weston et al., 2014)的记忆网络模型可以看做是一个多层结构。在该任务中,我们只用到了一层,因为不需要多层次的归纳。

A Knowledge-Grounded Neural Conversation Model相关推荐

  1. A Persona-Based Neural Conversation Model论文

    问题:同样的问题,不同的表述,生成的回复就不一致. 解决方法:在seq2seq的的decoder 加入了用户向量,类似词向量,利用用户帐号信息,如性别,方言等训练而成. 实验数据是Twtter的数据, ...

  2. 神经主题模型及应用(Neural Topic Model)

    主题模型一般会从一组文档中抽取若干组关键词来表达文档的核心思想,即"主题".首先看看最经典的概率主题模型,LDA模型. Latent Dirichlet Allocation 具体 ...

  3. 论文笔记 NLPCC 2016|A Convolution BiLSTM Neural Network Model for Chinese Event Extraction

    文章目录 1 简介 1.1 动机 1.2 创新 2 背景知识 3 方法 3.1 触发词标记 3.1.1 单词级别模型 3.1.2 字符级别模型 3.2 论元标记 4 实验 4.1 触发词标记 4.2 ...

  4. A Neural Conversational Model

    前面介绍过几篇seq2seq在机器翻译.文本蕴藏.自动文摘领域的应用,模型上每篇稍有不同,但基本的思想是接近的.本文继续分享一篇seq2seq在对话生成任务上的应用,是一篇工业界的论文,因此并没有什么 ...

  5. 【论文笔记8】Tree-Structured Neural Topic Model (分层神经主题模型 / TSNTM)

    Tree-Structured Neural Topic Model 树结构的神经主题模型 论文概述 题目:Tree-Structured Neural Topic Model 作者:Masaru I ...

  6. 论文导读:A Diversity-Promoting Objective Function for Neural Conversation Models

    Paper 链接 0. Abstract部分 0.1 用于生成对话的Seq2Seq NN(序列到序列神经网络模型) 倾向于产生安全,平常的反应(例如,我不知道,任何问题都能这么回答)而不考虑输入如何. ...

  7. Commonsense and Named Entity Aware Knowledge Grounded Dialogue Generation

    摘要 motivation: 以外部知识为基础,在对话历史背景下解释语言模式,如省写.回指和共同引用,对对话的理解和生成至关重要. this paper: 在本文中,我们提出了一种新的开放域对话生成模 ...

  8. 2017acl---An Unsupervised Neural Attention Model for Aspect Extraction笔记

    部分翻译: Abstract 观点抽取在情感分析中是很重要的一方面.现在的工作倾向于使用主题模型来进行这项工作.这篇文章提出了一个新的神经网络的方法来探索连贯性的aspect.该模型使用神经词向量通过 ...

  9. 《A NEURAL TEXT-TO-SPEECH MODEL UTILIZING BROADCAST DATA MIXED WITH BACKGROUND MUSIC》阅读笔记

    Motivation 现在从各种媒体获取语音数据越来越方便, 如可以从youtube上获取音频数据.因此希望可以利用这些数据来做语音合成. 但存在一个问题是: 这些数据里面干净的数据不多, 大多数包含 ...

  10. A Convolutional Neural Network Model for Predicting a Product’s Function, Given Its Form

    ABSTRACT 量化数字设计概念执行功能的能力目前需要使用昂贵的软件以及密集型解决方案,例如计算流体动力学.为了缓解这些挑战,这项工作的作者提出了一种基于3维卷积的深度学习方法,该方法可预测数字设计 ...

最新文章

  1. 多线程与网络之NSURLConnection发送请求
  2. javascript加载优化
  3. AngularJs 中ngModel绑定HTML5 date数据同步问题
  4. 士兵杀敌 三 --- O( 1 ) 的时间复杂度 .
  5. 百万生意难度跟十万一样,十万的也没做成
  6. ie9以下兼容html5,兼容ie9以下支持媒体查询和html5
  7. 根据银行卡号查询银行名接口目前免费阿里接口
  8. el-dialog中el-select的层级问题
  9. Python爬虫入门教程【7】: 蜂鸟网图片爬取之二
  10. CAD图纸的转换和批量打印
  11. flutter/dart通过ffi调用rust代码
  12. 成年男性如何挑选衣服
  13. 3.2 AJAX发布帖子 显示帖子详情
  14. 大专前端实习生如何挣到月薪 20k
  15. 磁盘的FAT,NTFS,exFAT等格式
  16. 最大k乘积问题---动态规划实验1
  17. 被蚂蚁金服P8大佬怼了:找不到自己钟爱一生的事业,你再996都是白搭!
  18. 安卓app软件开发教程!免费Android高级工程师学习资源,值得收藏!
  19. 雷蛇灯光配置文件_信仰绿轴?雷蛇RAZER黑寡妇蜘蛛X竞技版(背光款)点评
  20. 酷克数据简丽荣:“模型热”将引发云计算与数据库行业大变革

热门文章

  1. C++中string类
  2. 电信悦meYMB0300-CW-卡刷-刷机固件
  3. Python系列之面向对象编程
  4. windowsXP sp2 to sp3 的升级包
  5. iOS牛顿摆 小球撞击 物理学仿真模拟
  6. linux环境下,实现公共聊天室功能
  7. Day2-Python基础2---列表、元组操作
  8. 计算机专业博士发论文,计算机专业博士论文提纲范本模板 计算机专业博士论文大纲怎样写...
  9. super关键字详解
  10. 16、Mip-NeRF360