(引用自阿里云云栖号)
从人工智能的研究初期开始,人们就致力于开发高度智能化的人机对话系统。图灵在1950年提出了图灵测试,并且认为如果人类无法区分和他交谈的是机器还是人类,那么就说明该机器通过了图灵测试,并拥有较高的智能。

对话系统的演进

1⃣️ 第一代对话系统主要是基于规则的对话系统,后来分别产生了基于模版匹配的聊天机器人、基于流程图的对话系统(采用有限状态自动机来建模对话流程中的状态转移)。他们的优点是内部逻辑清晰透明,易于分析调试,但是高度依赖专家的人工干预,灵活性较差。

2⃣️ 基于统计学的第二代对话系统伴随着大数据时代来临而兴起,在这个阶段,强化学习被广泛使用。统计对话系统在鲁棒性上显著优于第一代对话系统,它通过对观测到的语音识别结果进行贝叶斯推断,维护每轮对话状态,再根据对话状态进行对话策略的选择,从而生成自然语言回复。使用强化学习的框架,使得系统在和用户交互的过程中得到奖励积分来优化对话策略。统计对话系统是一个模块化系统,它避免了对专家的高度依赖,但是缺点是模型难以维护,可拓展性也比较受限。

3⃣️ 近些年,伴随着深度学习在图像、语音及文本领域的重大突破,出现了以运用深度学习为主要方法的第三代对话系统,该系统依然延续了统计对话系统的框架,但各个模块都采用了神经网络模型。由于神经网络模型表征能力强,语言分类或生成的能力大幅提高,因此一个重要的变化趋势是自然语言理解的模型从之前的产生式模型(如贝叶斯网络)演变成为深度鉴别式模型(如CNN、DNN、RNN),对话状态的获取不再是利用贝叶斯后验判决得到,而是直接计算最大条件概率。在对话策略的优化上大家也开始采用深度强化学习模型。
另一方面,由于端到端序列到序列技术在机器翻译任务上的成功,使得设计端到端对话系统成为可能,Facebook研究者提出了基于记忆网络的任务对话系统,为研究第三代对话系统中的端到端任务导向型对话系统提出了新的方向。总的来说,第三代对话系统的效果优于第二代对话系统,但也需要大量带标签的数据才能得到训练,因此提升模型的跨领域的迁移拓展能力成为热门的研究方向。

对话系统的分类

1⃣️ 聊天型对话
机器产生有趣且含有一定信息量的回复使得对话过程可以持续下去。

2⃣️ 问答型对话(QA)
多指一问一答,用户提出一个问题,系统通过对问题进行解析和知识库查找以返回正确答案。

3⃣️ 任务导向型对话(以下简称任务型对话)
是指由任务驱动的多轮对话,机器需要通过理解、主动询问、澄清等方式来确定用户的目标,调用相应的API查询后,返回正确结果,完成用户需求。通常,任务型对话可以被理解为一个序列决策过程,机器需要在对话过程中,通过理解用户语句更新维护内部的对话状态,再根据当前的对话状态选择下一步的最优动作(例如确认需求,询问限制条件,提供结果等等),从而完成任务。

下面重点讨论任务型对话
从结构上,分为两类:pipeline和end-to-end。
pipeline是模块化结构,一般含有四个关键模块:

  • 自然语言理解(NLU)或者口语语言理解(SLU):对输入口语文本进行解析,得到意图(intent)和槽值(slot)等计算机可以理解的语义标签,并将其结构化输出。
  • 对话状态跟踪(DST):根据对话历史,产生当前时间步的对话状态,对话状态是对整个对话系统的累计语义表示,一般就是包含0时刻到t时刻的对话历史、用户目标、意图和槽值对的数据结构。
  • 对话策略(DP):根据当前的对话状态输出下一步系统动作。一般DST和DP统称为对话管理模块(DM)。
  • 自然语言生成(NLG):将系统动作转化为自然语言输出。

这种模型的模块化结构的可解释性强,易于工业界落地,但缺点是不够灵活,各个模块之间相对独立,难以联合调优。另外由于模块之间的误差会层层传递,单一模块的升级可能会造成整体的调整。
image.png

任务型对话系统的另一种实现方式是端到端系统(了解),也是近些年来学术界比较热门的研究方向。这类结构希望训练一个从用户端自然语言输入到机器端自然语言输出的整体映射关系,具有灵活性强、可拓展性高的特点,减少了设计过程中的人工成本,打破了传统模块之间的隔离。缺点是,端到端模型对数据的数量和质量要求很高,并且对于填槽、API调用等过程的建模不够明确,现阶段业界应用效果有限,仍处在探索中。
image.png
随着用户对产品体验的要求逐渐提高,实际对话场景更加复杂,对话管理模块也需要更多的改进和创新。传统的对话管理模型通常是建立在一个明确的话术体系内,一般会预定义好系统动作空间、用户意图空间和对话本体,但是实际中用户的行为变化难测,系统的应答能力十分有限,这就会导致传统对话系统可拓性差的问题(难以处理预定义之外的情况)。另外,在很多的真实业界场景,存在大量的冷启动问题,缺少足量的标注对话数据,数据的清洗标注成本代价高昂。而在模型训练上,基于深度增强学习的对话管理模型一般都需要大量的数据,大部分论文的实验都表明,训练好一个对话模型通常需要几百个完整的对话session,这样低下的训练效率阻碍了实际中对话系统的快速开发和迭代。

当前对话系统的局限性

综上,针对传统对话管理(DM)模型的诸多局限,近些年来学界和业界的研究者们开始将焦点放在如何加强对话管理模型的实用性上,具体而言有三大问题:

  • 可拓展性差
  • 标注数据少
  • 训练效率低

来自:https://zhuanlan.zhihu.com/p/100825157