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

添加分支流程

前言

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

实现需求

新增一条对话流程,当命中外卖意图后,可以主动收集外卖来源,并进行答复。

新增对话流程

  • 添加外卖来源的词槽收集节点。
  • 并拖拽一条连线,条件为命中外卖意图。 添加外卖流程.gif
  • 添加外卖答复节点,与外卖来源的词槽收集节点连接,连线的,条件为命中外卖意图,操作如下图。 添加外卖流程-答复节点.gif
  • 此时我们有拥有了两条对话流程,发布之后,我们来体验下对话效果吧。 添加外卖流程-对话效果.gif

知识点

连线优先级

当出现同一个节点指出多条连线的时候,会出现流程分支,就涉及到了连线优先级的概念。 大家可能注意到了,每条连线名称前面都会有一个数字,这就是该连线的优先级。 同一个节点指出的连线优先级默认顺序递增,初始值为1,数字越小优先级越高; 当多条连线的条件被同时命中时,选择优先级高的连线执行对话流程。

可用的条件判断类型

  • 比较范围:分为四类,分别可以对用户Query输入内容、意图、词槽、全局变量进行判断。
  • 用户Query输入内容

    • 机器人接口的请求参数中

      • 用户输入的文本内容
      • 对应包含「等于」、「不等于」、「包含」和「不包含」四种
      • 手动输入需要判断的内容
  • 意图

    • 当前轮对话的解析结果中

      • 技能:下拉选择机器人下所有的技能

        • 意图:仅可选择【意图】
        • 比较方式:对应包含 「为空」、「不为空」、「等于」和「不等于」四种
        • 手动输入需要判断的意图名称
  • 词槽

    • 上下文对话的解析结果中

      • 词槽:下拉选择机器人中包含的词槽
      • 比较方式:对应包含「已填充」、「未填充」、「等于」、「不等于」、「包含」和「不包含」六种
      • 手动输入需要判断的内容
  • 全局变量

    • 全局变量中

      • 输入框,填写对应的全局变量名称
      • 比较方式:对应包含 「等于」和「不等于」两种
      • 手动输入需要判断的内容,这里需要注意的是,全局变量如果是一个复杂的结构,在“可视化模式下”想快速取到里面的内容来进行比较,可以使用.和[]的方式来取。'[]'用来选取数组,比如list[0]即为数组的第一个;'.'用来获取下一级内容,比如json结构的第二级内容就需要用'.'来获取。

注意事项

开始节点指出的连线条件不能为空,否则会引起对话流程错乱

接下来

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