对话工厂(旧版控制台)

更新时间: 2024-12-13 14:00:57

本文介绍了对话工厂的基本概念,功能组成以及实用示例。

重要

自2024年08月14日起,智能对话机器人将不再提供对话工厂功能模块。

基本概念

多轮对话(对话工厂)可以被理解为根据上下文内容进行连续交流,以达到解决某一类特定任务为目的的对话。也就是说,如果在用户与机器人之间的单次问答中无法完全实现对话目的,则可视为多轮对话。具体示例如下图所示:

image

说明

在多轮对话示例中,用户可以直接询问今天杭州的天气,此时机器人将直接回复杭州的天气信息。然而,并非所有用户在询问天气时都会附上地址,因此机器人必然会反问用户以获取地址信息,然后再回复天气信息。换言之,对于机器人而言,判断一段对话是否为多轮对话,不应依据达成对话目的的最简洁问答轮次,而是最复杂对话方式的对话轮次。

功能组成

机器人多轮对话大致是由预设用户可能输入信息、预设机器人回复内容和触发规则这三部分组成的。机器人能够与用户进行多轮对话,是因为人工已提前预设好有关用户可能输入信息和对应的机器人回复内容,用户的输入信息后将会触发机器人进行回复内容播报。

预设输入信息

意图

意图可理解为是不同表达形式的同一类型的内容。如用户说:“你真棒啊、太厉害了、你好专业、你语气太温柔了吧”等都可以归于“用户表扬意图”。通过新建意图可配置用户可能输入的信息。以查天气为例,设置“查天气意图”和对应意图的回复内容,当用户输入信息是有关查天气,则将触发匹配“查天气意图”,机器人将输出对应的回复内容。

实体

实体是同类型单词的合集,如:城市、日期、颜色等。对同一个意图加上不同的属性时,则会衍生出一个新的意图,如“查天气意图”加上“地址”属性后,则会衍生出“查询杭州天气意图”“查询北京天气意图”“查询江西天气意图”等意图,且所衍生出的各意图对应回复内容不尽相同。通过实体配置则可将此类意图归结为“查询某地址天气意图”,此处地址即为一个实体,对应的通过调用实体信息的方式配置对应意图的回复内容,大大提升了列举意图及其对应回复内容的效率。

说明

意图与实体的配置请参见意图管理对话工厂实体管理

预设回复内容

节点

节点可理解为是在整个多轮对话流中的一个个对话状态。可在节点中配置机器人回复内容。此外,机器人回复后,用户可能会根据机器人回复内容再做出信息输入,可在节点中进行意图的引用以预设用户可能输入的信息。

说明
  • 意图与实体可在“对话流节点”中调用,具体调用方法可参考《对话流设计》;

  • 对话设计中,除了设计正常用户回复流程,还需要在“节点”中对以下各种异常情况进行设计:

    • 用户无输入

    • 拒识:机器人不理解用户意图;

    • 不确定:机器人不确定用户意图。

对话流

对话流由一个个节点连接形成的,表示多轮对话的整体流程。对话流是对节点能力的集成,用以完成整体多轮对话的对话目的。

触发规则

多轮对话中,用户的输入信息在触发已经设置的意图后,机器人会对该意图下的回复内容进行播报,而触发这一动作是通过机器人内置算法自动实现的。

示例

应某业务需求,现在要对用户当前体温状态进行了解,并对体温在37度以上和以下的用户进行不同的话术回复。有关对话流设计可参考如下图:

image

当以上对话流设计完成后,需进行对话流发布使其生效,且要绑定到机器人上,机器人则可具备多轮对话的能力。具体有关对话流发布与绑定操作请参见对话流设计

参数

说明

槽位

在填槽节点上配置的槽位,使用 slotVars['完整槽位名'] 或 slotVars['完整槽位名.origin']语法进行引用,求值结果为对应的槽位值,该值在当前开启意图内有效。

变量

客户自己在平台机器人内定义的变量,使用 botVars['变量名称']语法进行引用,求值结果为对应的变量值,该值在整通对话有效。

服务返回参数

全局服务、自定义函数内返回的参数,使用 svcVars['xxx']语法进行引用,该值在整通对话有效。

环境参数

上游系统随路传入的变量,使用 envVars['环境参数名称']语法进行引用,求值结果为对应的变量值,该值仅当前轮对话有效。

系统参数

机器人问答过程中,系统自动维护的变量,使用 sysVars['xxx']语法进行引用,在整通对话有效。

上一篇: API插件 下一篇: 意图管理
阿里云首页 智能对话机器人 相关技术圈