对话系统调查:最新进展与新前沿

7 篇文章 1 订阅

对话系统调查:最新进展与新前沿

paper:A Survey on Dialogue Systems: Recent Advances and New Frontiers

该paper来自于京东数据团队,论文引用了近124篇论文,是一篇综合全面的介绍对话系统的文章

简介

通常将现有的对话系统划分为面向任务和非任务(聊天机器人)的模型

传统的对话系统处理方法是将对话响应视为管道,使用手动规则来进行状态及空间的表示、意图检测和词槽填充,使部署真实对话系统变得昂贵而耗时,而且还限制了其在其他领域的使用

DL的方法尝试构建端到端的面向任务的对话系统,这种系统可以扩展传统管道系统中的状态空间表示,并有助于在注释的任务特定语料库之外生成对话

非任务导向系统的两种主要方法:

  1. 生成方法,如Seq2seq,在会话期间产生适当的响应
  2. 基于检索的方法,学习从存储库中选择当前对话的响应

屏幕快照 2018-08-25 上午10.11.54.png

TASK-ORIENTEDDIALOGUESYSTEMS

Pipeline Methods

屏幕快照 2018-08-25 上午10.02.13.png

基于管道的面向任务的对话系统的四个组成部分:

  • 语言理解。 它被称为自然语言理解(NLU),它将用户的语义解析为预定义的语义槽。

    屏幕快照 2018-08-25 上午10.12.47.png

  • 对话状态跟踪器。 它管理每个回合的输入以及对话历史并输出当前的对话状态。

  • 对话政策学习。它根据当前的对话状态学习下一步行动。
  • 自然语言生成(NLG)。 它将选定的动作映射到其表面并生成响应。

深度信念网络 (Deep Belief Network, DBN) 由 Geoffrey Hinton 在 2006 年提出。它是一种生成模型,通过训练其神经元间的权重,我们可以让整个神经网络按照最大概率来生成训练数据。我们不仅可以使用 DBN 识别特征、分类数据,还可以用它来生成数据。

End-to-End Methods

面向任务的对话系统的传统渠道有两个主要局限。一个是信用分配问题,其中最终用户的反馈很难传播到每个上游模块。第二个问题是过程相互依赖。组件的输入取决于另一个组件的输出。在将一个组件调整到新环境或使用新数据重新训练时,需要相应调整所有其他组件以确保全局优化。

屏幕快照 2018-08-25 上午10.13.56.png

端到端模型使用单个模块而不是传统管道,并与结构化外部数据库交互。

屏幕快照 2018-08-25 上午10.14.01.png

端到端强化学习的方法,在对话管理中联合训练对话状态跟踪和对话策略学习,从而更有力地对系统的动作进行优化。

NON-TASK-ORIENTEDDIALOGUESYS- TEM

通常,聊天机器人通过生成方法或基于检索的方法来实现

Neural Generative Models

生成响应比在语言之间进行翻译要困难得多。 这很可能是由于广泛的合理反应和帖子与答复之间缺乏词组对齐。

  • Sequence-to-Sequence Models

    屏幕快照 2018-08-25 上午10.15.44.png

  • Dialogue Context

    考虑对话的上下文信息的是构建对话系统的关键所在,它可以使对话保持连贯和增进用户体验。使用层次化的RNN模型,捕捉个体语句的意义,然后将其整合为完整的对话。

    (1)层次RNN通常优于非层次RNN,(2)对于上下文信息,神经网络倾向于产生更长,更有意义和更多样的回复。

  • Response Diversity

    在当前Seq2Seq对话系统中,一个具有挑战性的问题是,它们倾向于产生无关紧要的或不明确的、普通的、几乎没有意义的回复,而这些回复常常涉及到一些诸如“I don’t know”,“I am OK”这样的无意义回复。

    解决这类问题的一个很有效的方法是找到并设置一个更好的目标函数。除此之外,解决此类问题的一个方法是增加模型的复杂度。

    引入随机潜变量来产生更多样化的输出,通过结合潜变量,这些模型的优势在于,在生成时,他们可以通过首先对潜在变量的分配进行采样,然后确定性地解码来从分布中采样响应。

  • Topic and Personality

    明确对话的内在属性是提高对话多样性和保证一致性的另一种方法。在不同的属性中,主题和个性被广泛地进行研究探讨。

  • Outside Knowledge Base

    人类对话与对话系统的一个重要区别在于它是否与现实相结合。 合并外部知识库(KB)是一种很有前途的方法,可以弥合对话系统与人类之间的背景知识差距。

    记忆网络(Memory Network)是一种以知识库处理问题的经典方法。因此,它非常直接的别用于在对话生成中。实际研究表明,所提出的模型能够通过参考知识库中的事实来生成对问题的自然和正确答案。

  • Interactive Dialogue learning

  • 评价

    评估生成的响应的质量是对话响应生成系统的一个重要方面。任务导向的对话系统可以基于人为生成的监督信号进行评估。然而,由于响应的多样性,自动评估非任务导向对话系统产生的响应质量仍然是一个悬而未决的问题。

    自动评估非任务导向的对话系统所产生的响应的质量的方法:

    • 计算 BLEU 值,也就是直接计算 word overlap、ground truth和你生成的回复。由于一句话可能存在多种回复,因此从某些方面来看,BLEU 可能不太适用于对话评测。
    • 计算 embedding的距离,这类方法分三种情况:直接相加求平均、先取绝对值再求平均和贪婪匹配。
    • 衡量多样性,主要取决于 distinct-ngram 的数量和 entropy 值的大小。
    • 进行图灵测试,用 retrieval 的 discriminator 来评价回复生成

Retrieval-based Methods

基于检索的方法从候选回复中选择回复。检索方法的关键是消息-回复匹配,匹配算法必须克服消息和回复之间的语义鸿沟。

  • Single-turn Response Matching

    检索聊天机器人的早期研究主要集中在反应选择单轮的谈话,只有消息用于选择一个合适的回复。

    屏幕快照 2018-08-25 上午10.28.38.png

    目前比较新的方法是利用深度卷积神经网络体系结构改进模型,学习消息和响应的表示,或直接学习两个句子的相互作用表示,然后用多层感知器来计算匹配的分数。

  • Multi-turn Response Matching

    近年来,基于检索的多轮会话越来越受到人们的关注,在多轮回答选择中,将当前的消息和先前的话语作为输入。模型选择一个自然的、与整个上下文相关的响应。重要的是要在之前的话语中找出重要的信息,并恰当地模仿话语的关系,以确保谈话的连贯性。

    多轮对话的难点在于不仅要考虑当前的问题,也要考虑前几轮的对话情景。多轮对话的难点主要有两点:

    • 如何明确上下文的关键信息(关键词,关键短语或关键句)
    • 在上下文中如何模拟多轮对话间的关系。

    屏幕快照 2018-08-25 上午10.30.19.png

Hybrid Methods

将生成和检索方法结合起来能对系统性能起到显著的提升作用。基于检索的系统通常给出精确但是较为生硬的答案,而基于生成的系统则倾向于给出流畅但却是毫无意义的回答。在集成模型中,被抽取的候选对象和原始消息一起被输入到基于RNN的回复生成器中。这种方法结合了检索和生成模型的优点,这在性能上具备很大的优势。

讨论

深度学习能够利用大量的数据,从而模糊了任务导向型对话系统和非任务导向型对话系统之间的界限。值得注意的是,目前的端到端模型仍然远非完美。尽管取得了上述成就,但这些问题仍然具有挑战性。接下来,我们将讨论一些可能的研究方向。

  • Swift Warm-Up

    快速适应。虽然端到端模型越来越引起研究者的重视,我们仍然需要在实际工程中依靠传统的管道(pipeline)方法,特别是在一些新的领域,特定领域对话数据的收集和对话系统的构建是比较困难的。未来的趋势是对话模型有能力从与人的交互中主动去学习。

  • Deep Understanding

    深度理解。现阶段基于神经网络的对话系统极大地依赖于大量标注好的数据,结构化的知识库以及对话语料数据。在某种意义上产生的回复仍然缺乏多样性,有时并没有太多的意义,因此对话系统必须能够更加有效地深度理解语言和真实世界。

  • Privacy Protection

    隐私保护。目前广泛应用的对话系统服务于越来越多的人。很有必要注意到的事实是我们使用的是同一个对话助手。通过互动、理解和推理的学习能力,对话助手可以无意中隐蔽地存储一些较为敏感的信息。因此,在构建更好的对话机制时,保护用户的隐私是非常重要的。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值