资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

对话答复节点

前言

  上一个章节,我们通过添加分支流程,给对话流程丰富了词槽收集的能力,本章节就会通过添加多条件判断赋予TaskFlow控制流程走向的能力。

实现需求

  1. 快递答复结束后,主动询问用户是否还有其他事情,并新增通用答复。完成以下对话流程。

快递员:“你好”
机器人:“hi~”
快递员:“请取快递”
机器人:“请问您是哪家快递公司?”
快递员:“顺丰快递”
机器人:“好的,您可以先放到收发室,稍后我通知机主来取。”
机器人:“您还有其他事吗?”
快递员:“没事了”
机器人:“好的,感谢您的来电,再见”

  1. 新增一个对话流程,用来处理用户问答型的Query。

新增对话流程1

  • 更改取快递的答复节点内容为:“好的,您可以先放到收发室,稍后我通知机主来取。”。调整该节点的高级选项,答复后动作-是否等待用户输入选择否。
  • 新增一个答复节点,并与快递答复连接起来。调整该节点的高级选项,打断恢复-打断后是否支持恢复选择否。

快递答复后新增询问.gif

  • 新增一个开始节点指出的流程,对没事的意图进行答复。

新增没事了的答复.gif

  • 最后让我们来体验下对话效果吧。

  配置完成后,点击【发布】按钮,当状态显示为运行中时,即可开始对话。

新增没事了的答复-对话效果.gif

新增对话流程2

  • 添加对话答复节点,选择使用技能应答,并选择需要的问答技能。
  • 拖拽一条连线,条件为命中问答技能的问答对(问答对ID不为空),操作如下图所示。

添加问答答复节点.gif

  • 让我们来体验下对话效果吧。

  配置完成后,点击【发布】按钮,当状态显示为运行中时,即可开始对话。

体验效果.gif

注意

1. 对话答复节点高级选项-答复后动作:

  • 重置对话状态:默认为否,若选择是,则会清空之前所有的对话信息,包括之前收集的词槽等信息均被置空,下一个节点时对话会重新开始。
  • 是否等待用户输入:默认为是,该节点完成所有动作后,接收到用户输入才会继续向下执行;若选择否,则不再等待,直接执行下一个节点的内容。

2. 对话答复节点包含两种类型的答复:

  • 使用技能应答:可以使用技能原有的答复内容,目前支持该类型的技能包括

    • 问答技能,对话式文档问答,部分预置技能(垃圾分类,笑话,单位换算,进制转换,计算器,成语问答,智能对联,智能写诗,名词解释,智能问答,问候,闲聊)。
    • 后续还会支持更多的技能,敬请期待。
  • 自定义话术应答

    • 用户自己随意配置话术。
    • 还可以在回复中引用变量,变量引用只在“可视化模式”下使用,为了能够不用编程就取到意图、词槽、变量等内容。具体方式查看下文。

引用意图词槽全局变量中的值

范围 变量 引用方式 举例(变量引用 → 变量值)
意图# 技能意图 {#技能ID.intent} {#12345.intent} → WEATHER
词槽@ 词槽原始值 {@词槽名.origin} {@user_loc.origin} → 北京
词槽@ 词槽归一化值 {@词槽名.normal} {@user_loc.normal} → (NERL_PLUS_LOC_ROOT)>北京市
全局变量$ 全局变量值 {$参数名} {$count} → 100

全局变量可能是一个字符串或者数字,也可能为list或者dictionary的结构体,此时还会存在二次引用。

注意:list和dictionary均为python的数据类型

存在全局变量 list = [1, 2, 3, 4] 和 dictionary = {'bar': 3, 'egg': 2, 'spam': 1}

变量类型 操作方式 引用方式 举例(变量引用 → 变量值)
list [] {$参数名[]} {$count[0]} → 1
dictionary . {$参数名.} {$count.bar} → 3

接下来

  接下来我们会通过将配置通用答复,调取业务系统资源等能力添加到对话流程中,带领大家一步一步熟悉TaskFlow的使用。

上一篇
连线节点
下一篇
配置通用流程