对话系统简介

口语对话系统(Spoken Dialogue System, SDS)在虚拟个人助手(virtual personal assistants ,VPAs)方向上是一个比较重要的应用。在这些VPA中,Microsoft的Cortana,Apple的Siri,Amazon Alexa,Google Assistant和Facebook的M已在各种设备中集成了SDS模块,这些模块使用户能够自然说话,从而更有效地完成任务。

传统的对话系统具有相当复杂的模块化的pipeline。深度学习技术的进步最近已将神经模型应用于对话建模。然而,将深度学习技术用于构建健壮且可扩展的对话系统仍然是一项艰巨的任务,也是一个开放的研究领域,因为它需要对经典管道的深入理解,以及对先前工作和最新模型基准的详细了解最新的工作。

在这里插入图片描述
主要分为3个部分:
当用户使用SDS可能是语音(speech)输入,也可能是文本(utterance)输入,如果是语音,则需要ASR把语音转化为文本。

  • LU模块
    以图片中的例子:Are there any action movies to see this weekend? 问最近的动作电影有哪些。Language Understanding 模块对问句进行意图识别和实体识别,然后进行槽填充。
    每个一个意图可以认为是一个表单(Form),上面有很多的槽位需要来填充。而填充槽位的值则来自实体识别。经过填槽后,在进入对话管理中。
  • DM模块
    对话管理有两个挑战:(1)当对话依赖于之前对话时,需要把上下文(context)信息加入到intention classifier和slot tragger 中。(2) 如果当前对话突然转化的话题,这个时候需要把历史的槽位清除,并且不使用历史信息。在这个例子中,发现槽位是缺少location的,所以选择Policy,对用户进行询问request_location,以补全槽位信息。
  • NLG模块
    回复用的模板配置,或进行语音合成

如果我们对整个系统进行概述,则如下所示:我们有一个用户,我们从他或她那里得到语音或文本,然后,我们有了自然语言理解模块,该模块可以为我们的话语输出意图和内容。然后,我们有一个对话管理(Dialogue Management)的模块,而对话框管理器负责两个任务。第一个是对话框状态跟踪(Dialogue State Tracking),因此,我们需要在整个对话中了解用户的需求并跟踪该状态。而且,它还执行对话框策略管理(Dialogue Policy Management),因此,有一个确定的策略。如果状态为以下状态,那么我们需要向用户查询一些信息或向用户请求一些信息,或者我们只是通知用户某些事情。我们还可以查询后端服务,例如Google Maps或Yelp,当我们准备向用户提供一些信息时,我们使用自然语言生成(NLG)框为用户输出语音,因此这是一次对话。

参考:
Introduction to Dialogue Systems (Part 1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值