任务式会话
任务式会话
相关名词解释
- 实体:作为任务式会话配置的判断条件使用,具有父子集关系的本体可通过实体进行创建。例如在身份验证中,创建“身份证号实体”、“手机号码实体”、“手机验证码实体”。
- 用户实体:用户实体为用户在系统中的自建实体。
- 系统实体:系统实体为系统中自带的通用实体。
- 实体值:某实体集合所包含的元素,如手机验证码实体所对应的实体值如:123456、348902、673920等。
- 意图:用户明确表示的想要办理的业务和意愿可通过意图进行创建。例如在银行业务中,创建“信用卡账单查询意图”、“理财方式询问意图”。
- 用户意图:用户意图为用户在系统中的自建意图。
- 系统意图:系统意图为系统中的通用意图。
- 意图示例:能够触发某意图的问法。如信用卡账单询问意图,意图示例:上个月花了多少钱、我账单是多少、我花了多少钱等。
- 意图关键词/规则:用户表述中包含意图的对应关键词或匹配到模板表达式时,即回答此意图下答案。在项目初期语料不足和长难句难以识别的情况下,添加关键词和模板规则有利于识别用户意图并做出回复。
- 流程片段:为实现某一任务按照一定逻辑组织起来的节点集合,流程片段内的节点会有默认的前后顺序,以虚线连接,可手动调整。流程片段只能有一个根节点。
- 流程片段池:所有流程片段的集合。
- 接口:接口是系统对接业务系统配置流程时的第三方服务地址。
- 指令:指令是系统对接业务系统配置流程时的协议指令。
实体
实体包括用户实体和系统实体,用户实体支持增加、删除、修改,系统实体仅支持启用、禁用和实体值的增加。
用户实体
新建实体
在“任务式会话”中点击“实体”,在“用户实体”下点击“新建实体”,填写实体名称、实体ID、实体描述后点击“保存”即可。
编辑实体
在需要编辑的实体右侧操作下,选择“详情”,进入实体编辑页面。
可对实体名称、实体ID、实体描述进行修改。
可对实体值进行增删改查。
实体值可添加同义词,在需要添加同义词的实体值右侧点击“编辑”,在右侧输入框中可添加同义词。
删除实体
点击右侧的“删除”,可删除实体及其所包含的所有实体值。
系统实体
系统预设了一些实体,如日期、年、月、人名、地点等。
启用/禁用系统实体
如需使用仅需在“实体-系统实体“下点击“启用”,点击“禁用”可停止使用。
系统实体维护
点击实体名称,可进入系统实体详情,暂不支持修改
导入、导出实体
点击右上角导入、导出按钮,可以对实体进行导入、导出。
意图
意图包括:用户意图,系统意图。用户意图支持增加、删除、修改,系统意图仅支持启用、禁用和意图示例的增加。
用户意图
新建意图
点击左上角“新建意图按钮”,填写意图名称、意图ID、意图别名和意图描述。
编辑意图
对于已经添加的意图,点击“详情”进入意图详情界面。
可对意图名称、意图ID、意图别名、意图描述进行修改。
可对意图例句进行增删改查。
添加字符、@实体ID或模版表达式作为意图关键词或模板,当语句中包含所对应字符、实体值或模版时,此意图即被命中。此方法可大幅提高意图识别率,有利于长难句的意图识别。
删除意图
点击所选意图右侧操作下的“删除”,即可删除意图及其包含的所有意图示例、意图模板等信息。
系统意图
除用户自建意图外,系统还提供一些自带意图方便用户直接调用。
启用/禁用系统意图
点击任务式会话中的意图,左上角转化到系统意图。通过“点击启用”、“点击禁用”实现开启或关闭系统意图。禁用后,触发此意图的问题不会被回复。
系统意图维护
点击意图名称,可进入系统意图详情,进行系统意图的维护,包括对意图示例和意图关键词/模板的增删改操作。
行业意图
选择Agent时,可选择不同的行业,选择行业之后,意图中随即出现系统内置的行业意图。行业意图目前支持银行和航空两个行业。下面以银行行业的Agent举例:
选择好行业并创建Agent:
进入意图模块:
使用行业意图:
点击添加至用户意图即可将此行业意图添加至用户意图,但内置的意图示例数据不可见也不可修改。
添加成功后,可以对此意图进行添加示例、删除示例的操作;删除此意图视作对对应行业意图的禁用;同一行业意图一次只能添加一个至用户意图列表。
意图关键词/规则配置
关键词:用户输入的任意字符(包含中英文、数字、下划线)
规则:用户编写的问法模版(除中英文、数字、下划线外,包含其他字符)
1.编写规则
以下写法可以进行任意组合:
2.命中规则
(1)完全匹配。
对于模版表达式(除中英文、数字、下划线外,含有其他字符),用户语句中必须完全匹配模版表达式,首位及句中均不能存在多余信息。
例如:当模版为“ [@card_type]额度 ”时,(@card_type包含信用卡、借记卡等实体值)
以下语句均「可命中」该模版:
信用卡额度
借记卡额度
以下语句「不可命中」该模版:
查一下信用卡额度
借记卡额度多少啊
查查信用卡额度可以吗
信用卡的额度
若期望包含某一特定字段时,可在字段首位加[W:0-20],表示字段首位可含有0-20个任意字符。
例如:当关键词为“[W:0-20]信用卡额度[W:0-20]”时,
以下语句均「可命中」该模版:
信用卡额度
查一下信用卡额度
信用卡额度多少啊
查查信用卡额度可以吗
以下语句「不可命中」该模版:
信用卡的额度
(2)有序。
用户语句中各词顺序必须与模版一致。
例如:当模版为“ 查一下[@card_type]额度 ”时,
以下语句均不可命中该模版:
查一下信用卡的额度 (语句内包含不可识别的多余信息“的”)
借记卡额度查一下(顺序与模版不统一)
3.编写技巧
(1)关键词简洁聚焦
配置通配符
当期望配置关键词时,即语句中只要含有该关键词即为命中。可以通过配置通配符的方式实现。 关键词支持:中英文、数字、下划线
例如:
配置目标:希望用户中只要含有“租车”即判定为#car_rent意图
错误配置:租车
正确配置:[W:0-20]租车[W:0-20]
覆盖同义词
为保证覆盖范围更广,应综合考虑关键词同义词或表达相同意图的词语
例如1:
配置目标:用户希望了解优惠政策
错误配置:优惠
正确配置:[W:0-20][优惠|折扣|打折][W:0-20]
例如2:
配置目标:用户表示正忙
错误配置:忙
正确配置:[W:0-20][忙|吃饭|开会][W:0-20]
(2)模版片段组合使用
“|”关系可与“?”关系混合使用,“|”优先级较高
例如:
写法:[W:0-20][查询?|查看?|查查?]天气[W:0-20]
含义:“查询”“查看”“查查”存在或不存在均可,但不同时存在。“天气”为必须字段。
可命中语句:查询天气;查看天气;查查天气;天气
[W:a-b]、[@实体ID]、xx可与“?”、“|”混用
例如1:
写法:[@card_type?]额度 (@card_type包含信用卡、借记卡两个实体值)
含义:@card_type中的任一实体值存在或不存在均可,“额度”为必须字段。
可命中语句:信用卡额度;借记卡额度;额度
例如2:
写法:[W:0-2|帮我看看]余额
含义:任意0-2个字符或“帮我看看”存在,“余额”为必须字段
可命中语句:帮我看看余额;查查余额;余额;查余额;xx余额 ……
例如3:
写法:[卡片|@card_type?]额度 (@card_type包含信用卡、借记卡两个实体值)
含义:(1)“卡片”存在 或 (2) @card_type中的任一实体值存在或不存在,“额度”为必须字段。
可命中语句:卡片额度;信用卡额度;借记卡额度;额度
导入导出意图
可通过右上角导入、导出功能将本地意图导入系统,或将已经创建好的意图导出到本地,实现多账号间意图的转移。
意图不响应问
当某问题被设置为意图不响应问时,用户的提问不会触发任何意图下的回复,相当于问题被加入了意图的黑名单。
可通过右上角意图不响应问题,为某些意图设置黑名单,使系统不响应该意图。
进入意图不响应问详情页,可对不响应问进行增删改查操作。
会话流程
通过创建流程片段,实现针对某项任务的会话流程配置,配置完成后系统可与用户开展任务式对话,在会话流程中涉及几个关键名词:
- 节点:是会话流程中的最小模块,以一个触发区域和多个条件执行跳转组合模块为整体。节点可以具有父子关系,如果不满足父节点的触发条件,则子节点也会被跳过。
- 根节点:一段流程的起始节点,如果不满足根节点的触发条件,则整个流程片段被跳过。
- 流程片段的引用:可以在一个流程片段内引用其他的流程片段,引用不产生新的副本,仅仅是指向流程片段池中已有片段。对于引用的流程片段,可以跳转到其内部的非根节点。
新建流程片段
新建流程片段可以通过「新建」或者「导入」。在“任务式会话-会话流程”中,点击“流程片段”,选择“导入流程片段”上传文件,或选择“新建流程片段”,填写名称和描述。
管理流程片段
点击"管理"按钮,可进入到流程片段的画布页面,并对会话树进行编辑。
编辑节点的触发条件决定是否执行节点内部配置的信息。
交集/并集关系:「以下全部条件」为交集关系,必须满足该节点的所有触发条件,才算进入该节点;「其中任何条件」为并集关系,只要满足该节点中所有触发条件中的任意一个,均可进入该节点。
同时,配置时可以选择系统内置的多种类型节点,自动填入相应触发条件。
节点中的执行模块决定此流程片段的此节点如何回复用户。
-
节点级操作
- 启用webhook,启用后会通过webhook配置的地址进行指令的传输
- 清除上下文,当此节点执行完成后会清空遍历到此节点位置所有的变量赋值和系统状态
- 完成节点,用于节点完成率统计,如果认为某个节点输出可视为节点完成则勾选该标记
- 允许打断,本节点播报过程中,用户输入的语句能否打断机器人回复。
-
执行模块
- 执行模块条件,可为空,为空代表任何情况下都执行
- 回复内容,执行该模块后机器人会对用户输出的内容,如果是多个节点连续跳转则回复内容会拼接到一起;可支持文本、录音、录音拼接变量的形式;回复内容中可以以'{%&变量名%}'的形式拼接变量内容。
- 变量赋值,可以设置多个变量存储用户输入或者系统返回或者采集到的实体等;需要先在变量管理中注册才可以在节点中使用
- 指令,用来标记需要业务系统或其他系统执行的命令;需要先在指令管理中注册才可在节点中使用
- 跳回话术:当被系统自动拉回时回复的内容。为了使对话承接更加自然,建议是“回复内容”的简化版,并且加适当引导,比如“那我们继续刚刚的问题哈,您这边可以(本节点内容)吗?”。当“跳回话术”不存在时,被系统拉回则会播报“回复内容”。
- 信息收集:进入本节点后收集的信息标签。可用来区分客户意向,记录关键问题回复等。可在呼叫任务导出表单中展现。
-
节点跳转
- 无,执行完该执行模块后不跳转,等待用户输入后继续遍历当前节点下的子节点
- 节点触发,执行完该执行模块后跳转到指定节点的进入条件,如果符合则进入指定节点,如果不符合则继续遍历指定节点的兄弟节点
- 节点跳转,执行完该执行模块后跳转到指定节点的执行模块,无需判断该节点的进入条件;按顺序判断执行模块的条件,如果有满足条件的则执行该模块,如果没有则停留在该节点等待用户再次输入
使用会话测试功能进行流程片段测试并确定编辑无误。之后点击"确认生效",此流程片段的会话树内容才能生效并被bot引用。
填写对应的版本名称以及相关的版本描述,即可提交生效。
点击"查看历史版本",可以查看最近生效的10个流程片段历史版本。
点击弹窗中"查看",可以查看对应版本的流程片段画布信息。
点击弹窗中"恢复至画布",将对应版本的流程片段画布信息恢复至流程片段画布。
复制流程片段
点击每条会话右侧向下按钮中的“复制”,可复制已经存在的流程片段。
填写复制后流程片段的名称和描述。
编辑流程片段
点击每条会话右侧向下按钮中的“编辑”,进行编辑操作。
编辑内容为对话名称和描述。
删除流程片段
点击每条会话右侧向下按钮中的“删除”,可删除会话及其包含的所有信息。
流程画布详细说明
在配置一个会话流程时,最核心的工作就是利用流程画布绘制流程,设计对应的条件分支和处理节点,这项工作就需要使用到流程画布。本节具体介绍流程画布的功能和使用方式。
画布典型功能布局
流程画布的基本元素及关系
流程画布最核心的元素就是节点,图中每一个独立的小卡片就是一个节点
除了默认的树型的遍历顺序以外,产品也支持手动指定跳转到某个节点以改变条件触发时遍历顺序
- 一个流程由一个根节点(即处于最顶部无兄弟节点的那个节点)和若干子节点组成
- 每一层节点为其有连线的下方节点的父亲节点,下方节点成为其子节点,每次遍历时都会从某个节点的第1个子节点(最左边的)开始进行进入条件触发判断
- 节点本身存在“节点进入条件”和“节点执行模块”两个部分,满足节点进入条件才会进入节点执行模块
- 节点进入条件若空置即代表无任何条件可触发进入该节点(但仍然可以通过指定跳转到执行来跳过节点进入条件的判断,节点内容详细解读见下一部分)
- 在执行流程时,节点有一个默认遍历顺序(即树的前序遍历),由根节点触发,自上而下自左至右进行条件触发判断的遍历,一旦满足某个节点条件则进入该节点,从而可以根据节点执行的配置来进行相应处理
- 一个节点可以有多个执行模块,会自第一个模块开始判断条件,若满足执行模块的条件就执行该模块,执行完成后就直接结束节点,等待用户再次输入或跳转到其他节点(即在一轮对话中,即使进入了一个多执行模块的节点,也至多只有一个执行模块会被执行)
- 与节点条件不同的是,若执行模块不配置条件,则代表该执行模块无条件执行
流程画布的节点菜单
在一个节点上右键或者点击节点卡片右侧的更多按钮,可以进行节点菜单操作
- 查看节点,查看节点详细内容
- 显示/隐藏节点跳转管理,可以同时查看某个节点的跳转关系
- 添加子节点,在该节点所有子节点前创建一个子节点
- 添加兄弟节点,在节点后创建一个兄弟节点
- 添加实体采集模板,填写一个表单后自动创建采集实体的流程
- 复制节点,在该节点后复制出一个与该节点内容相同的兄弟节点
- 复制节点分支,在该节点后复制出一个与该节点分支(所选节点及其所有子节点)相同的兄弟节点分支,其中分支内部的跳转关系会保留,跳转到分支外部的跳转关系也会保留,跳转到分支内部的跳转关系会忽略
- 编辑进入条件,即编辑节点的进入条件
- 编辑节点,即编辑节点的内容,包括执行模块
- 删除节点,删除该节点及其所有子节点
- 除菜单操作外,画布还提供几个全局功能
- 节点拖动
- 画布缩放
自动跳回类型流程片段
平台还提供了一种自动跳回类型流程片段,在创建时可以选择,适用于需要多次复用的流程片段。此功能有两个作用:第一,设置自动跳回节点;第二,屏蔽意图切换功能。
创建完成后可以在流程中对某个节点设置自动跳回。
自动跳回功能是指:若进入此流程片段是由外部节点(即其他流程片段的节点)跳转而来的,且此时流程执行到设置了自动跳回的节点,当该节点执行完成后会自动返回跳转到该流程片段的外部节点上。
接口指令
在任务式会话中点击“接口指令”,进入接口指令编辑页面。
新建指令
点击指令左上角“新建指令”,填写指令名称、标识、描述。
使用指令
在流程片段中配置指令,流程片段会将指令标志一并传入上游,由上游解析,使用。
编辑指令
可对指令进行增删改查操作。
配置接口
点击接口,进入接口页面,点击右上角“编辑”按钮,进行接口配置
操作步骤:
- 点击“启用”启动webhook。
- 填写基础信息:URL地址、用户认证。
3.填写headers,headers支持增删改。