课时2:复杂多任务助理搭建(二)|学习笔记

简介: 快速学习课时2:复杂多任务助理搭建

开发者学堂课程【3节课走进云小蜜产品:课时2:复杂多任务助理搭建】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/298/detail/3496


课时2:复杂多任务助理搭建(二)


三、实操

1. 余额查询

在实际操作之前,需要进行API的准备。将输入输出定义清楚,拥有API信息之后,配置时会较为方便。

校验卡号是否合法的接口:

(1)https://1043547601975995.cn-shanghai.fc.aliyuncs com/2016-08-1 5/proxy/nick_ dm/check card no/?card_ no=0573

(2)返回0合法,返回1不合法

查询余额接口:

(1)https://1043547601975995.cn-

shanghai.fc.aliyuncs.com/201 6-08-15/proxy/nick_ _dm/get_ balance/?card_ no=0573

首先登录云小蜜管理后台,找到机器人管理页面,创建机器人,完成云会员卡助理机器人的创建。

image.png

点击进入会员卡助理机器人往下滑,找到对话工厂:

对话工厂当中存在对话流管理页面:

助理的场景包含挂失,查询余额和退卡三个任务。所以此时需要创建三个对话流:会员卡退卡、会员查余额、会员卡挂失

拥有以上三个流程之后,在设计对话流时也涉及到 API 的调用。API 在流程当中可以通过服务调用节点来访问,首先需要在服务注册中心将服务新建好之 后可以直接使用:

首先是校验卡号是否合法的接口:

其次是查询余额接口:

最后是卡挂失提交接口:

需要参数是手机号。

将以上三个服务接口设置为可上线状态:

注册完对话流需要的服务接口之后,回到对话流的配置,从较为复杂的差异和流程开始讲解如何配置。在查余额时,余额表述方面,用户需要表达查余额的诉求。首先将节点命名为查询余额,此时涉及到意图,用户表达的意图将其称为查余额,将典型话术进行配置。例如 “我想查一下会员卡还有多少钱”,“帮忙查一下会员卡的余额”,“查一下卡里的余额”:

配置完话术之后点击确认。此时话术在对话工厂中呈现:

以上是触发节点的配置,将开始节点和触发节点连接。此时涉及到如何回复用户,机器人需要询问用户卡号是多少:

以上是较为基本的流程进行测试。用户端发送“我想查一下卡里的余额”,机器人回复正常:

询问用户卡号之后,用户可能会忘记卡号是多少。此时可以配置用户输入节点,节点名称为忘记卡号:

设置意图:

意图名称为忘记卡号,并配置对应的用户话术,例如“我忘了卡号多少了”,“记不得自己的卡号了”,”卡号我忘了”。

配置完成之后需要设置回复节点,称为联系人工客服。文本回复内容为您好,请您联系我们的客服,电话是4008006767:

将以上节点连接:

用户也可正常输入卡号。创建用户输入节点,节点名称为输入卡号,创建意图,意图名称为输入卡号,并配置相应用户话术,例如“我的卡号是0787 “,“会员卡是3498”,” 1256”:

用户表达信息之后,需要将信息收集,所以需要对涉及到的槽进行标注:

将涉及到的槽位取较为易懂的名字:card_Number。

之后的标注不用选择 number,可以选择已有的类型,此时标注完成,点击确定,此时得到输入卡号的节点。接下来需要将信息收集,插入一个填槽节点,承载收集到的信息:

名称为收集卡号。如果用户卡号有问题,就需要反问,反问问题为“您好,请您再输入一遍卡号”:

点击确认,将其连接。

接下来需要做卡号合法性校验。调用名称为校验卡号合法性,选择服务,可以选择之前注册的接口,需要将原来收集到的信息输入,但需要将信息关联才能够识别,填入对应服务接收参数。:

需要将系统返回的信息存在变量当中,此时配置一个全局变量:

有了以上信息之后,需要基于以上卡号状态做分支判断。如果返回0,是合法的卡号,就继续往下,如果返回1,就是不合法,此时需要使用判断节点,将其连接进行判断。添加判断节点,名称为判断合法性:

如果是为0的状态,就需要继续往下进行查询余额的服务,如果不合法就需要给出提示,希望用户继续输入,拥有两个分支:

当中涉及到判断逻辑,首先需要将获取到的变量信息进行判断。卡的状态如果为0,就是合法,如果是其他情况就是不合法:

如果不合法,就需要设置回复节点,告诉用户卡号有误,所以新建回复节点名称为卡号有误,文本回复为“您好,您输入的卡号有误,请重新输入”:

如果是合法,在服务调用节点当中,就可以调用余额查询接口,获取返回内容:

此时需要入参,入参是输入卡号。返回内容需要另一个全局变量作为参照。所以建立全局变量如下:

获取到余额之后需要调用回复节点。告诉用户具体的余额,名称为告知余额:

将所有节点连接,点击测试,点开调试窗。查看是否正常运行:

用户输入:查询余额

机器人回复:您好,问您的卡号是多少?

此时客户端回复:我忘记了

机器人回复:您好,请您联系我们的人工客服,电话是4008006767

此时的状况是进行到了联系人工客服节点。说明右边节点能够进行畅通。测试左边节点逻辑:

用户输入:我要查询余额

机器人回复:您好,请问您的卡号是多少?

用户输入:7889

机器人回复:您好,您输入的卡号有误,请重新输入。

证明中间存在问题。可以点击查看详情:

槽位收集的结果卡号是7889,回复是使用户重新输入,符合逻辑,中间会有意图识别结果,包括槽位收集结果,主要查看外部接口的调用,配置了卡号合法性校验的逻辑,调用 HTTP 链接,链接当中的卡号是7889,正确,返回的结果 status 是1,表示不合法。通过查看详情可知流程正确。由于卡号是以0开头,所以7889是不合法的卡号,所以更换卡号,输入0573。此时机器人复输入卡号有误,所以需要具体定位问题。查看详情,详情当中实体识别是0573,较为关键的是涉及到 web 接口调用的部分。Status 返回1,表示不合法请求,调用的是 url 链接。详情当中的卡号是573,不存在0,所以可以对该问题进行详细分析。实体识别是0573,不存在问题,实体名是 car number。Normal value,也就是作为归一化之后,由0573变为了573。在定义car number 时,选择类型为数字型,在数字整数型之前,加上0,会被归一化,,就会将零去掉,以上就是问题所在。槽位收集的时候,归一化的结果没有零,但是原始用户输入包含零,所以需要在调用 web 接口时,将 number 换一个类型,即可解决问题,点击保存测试:

测试结果如下:

本次查询成功,查询到了具体余额。点击查看详情,你查看调用是否畅通:

此时调用的是0573。之后还存在一个接口,会真正得到查询余额的接口。但此处还存在问题,仍然是573,并不是0573:

此时查询到的余额是573的余额,而不是0573的余额,所以还需要进行更改:

再次进行测试,测试结果如下:

点击查看详情,定位到之前的问题。此时输入是0573,校验合法性也是0573,表示测试成功。此时可以尝试异常情况,如果存在问题,如何做修正:

如果识别是 unknown,机器人就无法正确引导,会给予用户默认回复,用户体验并不好,所以需要继续引导用户,让用户再次输入卡号。以上问题可能还存在许多情况,除了正常输入和忘记卡号,还会有其他异常情况,但希望用户再次输入卡号,所以需要针对 unknown 情形做正确配置。在询问卡号的回复节点当中会有对话流配置,此时存在两种情形:拒识,也就是 unknown 情形,如果在语音场景下互会有超时的情况,也就是用户寂寞一段时间也需要给予用户引导。在拒识情况下,需要给予引导话术:

“不好意思,麻烦您再输入一遍卡号”。再次进行尝试:

此时识别结果仍然是 unknown 暂时回复,话术不同会给予用户更好的使用体验。让用户知道下一步该做什么,以此进行较为顺畅的多轮交互。以上是在该情景下的基本配置。还存在一些子任务,包括挂失和退卡,配置完成,只要是任务之间的来回穿插进行调试。对于余额部分可以先进行发布:

2.退卡流程

退卡流程是一问一答。创建用户输入节点,节点名称为会员卡退卡,创建意图,意图名称为会员卡退卡,用户话术如下:

“我要退卡”,“退卡”,“帮忙退一下会员卡”

在退卡部分会有回复,目前机器人不支持退卡,告知用户联系人工客服,所以设置回复节点名称为不支持退卡。文本回复为“您好,暂时不支持机器人退卡,请联系人工客服”:

进行测试:

3.会员卡挂失

会员卡挂失主要涉及到收集用户手机号,同时将手机号提交到后台,之后人工再将其操作,完成挂失的操作。首先创建用户输入节点,节点名称为挂失会员卡,创建意图,意图名称为挂失会员卡,用户话术如下:

“我要挂失“,“挂失会员卡”,” 我想挂失卡”:

接下来收集用户手机号,设置回复节点,名称为询问手机号文本,回复内容为“您好,请问您的手机号是多少”:

将两个节点连接。

接下来设置用户输入节点,节点名称为输入手机号:

创建意图,意图名称为输入手机号:

还需要添加标注:

保存结果如下:

连接以上三个节点,接下来添加填槽节点名称为收集手机号,选择意图为输入手机号:

编辑反问问题:

输入完手机号之后,需要通过服务调用节点将收集到的手机号提交,由此需要添加服务调用节点,名称为提交挂失,选择服务为卡挂失提交接口,设置对应服务接收参数:

接下来再接入回复节点,名称为告知挂失结果,文本回复内容为:“您好,您的卡挂失成功”。此时也可能存在两种情形,但将其简化为凡是调用该接口都视为成功。调用接口当中服务接收参数是输入手机号:

返回参数需要全局变量作为载体,也就是挂失的状态:

真实情况下可以将其配置更完整,进行测试。测试结果如下:

此时也可以通过查看详情的方式,查看是否确实成功运行。以上是任务执行情况。在用户执行过程当中可能会有任务执行的穿插,例如用户刚开始需要挂失,但询问手机号时,用户突然想查看卡中是否有余额,如果有余额就会进行挂失,如果余额不多,那就会结束挂失。此时就存在任务的打断:

当前进行的是挂失,但如果要查询余额,就会进行到下一个流程,也就是查询余额的流程。此时机器人询问卡号是多少,用户输入卡号0573。机器人调用API之后回复用户,告诉用户余额是多少。接下来继续输入手机号,完成挂失:

以上是本课程的主要内容。

相关文章
|
11月前
|
机器学习/深度学习 人工智能 弹性计算
【MindStudio训练营第一期】--【新手班】学习笔记②
【MindStudio训练营第一期】--【新手班】学习笔记②
|
11月前
|
机器学习/深度学习 弹性计算 开发工具
【MindStudio训练营第一期]--【新手班】学习笔记①
【MindStudio训练营第一期]--【新手班】学习笔记①
|
自然语言处理 算法 机器人
课时2:复杂多任务助理搭建(一)|学习笔记
快速学习课时2:复杂多任务助理搭建
65 0
课时2:复杂多任务助理搭建(一)|学习笔记
|
自然语言处理 算法 机器人
复杂多任务助理搭建(一)| 学习笔记
快速学习复杂多任务助理搭建。
69 0
复杂多任务助理搭建(一)| 学习笔记
|
自然语言处理 机器人 API
复杂多任务助理搭建(二)| 学习笔记
快速学习复杂多任务助理搭建。
76 0
复杂多任务助理搭建(二)| 学习笔记
|
自然语言处理 算法 机器人
课时3 :高级能力和算法效果优化(二)|学习笔记
快速学习课时3 :高级能力和算法效果优化
98 0
课时3 :高级能力和算法效果优化(二)|学习笔记
|
机器学习/深度学习 自然语言处理 算法
课时3 :高级能力和算法效果优化(一)|学习笔记
快速学习课时3 :高级能力和算法效果优化
86 0
课时3 :高级能力和算法效果优化(一)|学习笔记
|
机器学习/深度学习 自然语言处理 算法
课时3 :高级能力和算法效果优化(三)|学习笔记
快速学习课时3 :高级能力和算法效果优化
134 0
课时3 :高级能力和算法效果优化(三)|学习笔记
|
存储 JSON 自然语言处理
课时1:简单对话场景搭建和云小蜜接口集成(三)|学习笔记
快速学习课时1:简单对话场景搭建和云小蜜接口集成
143 0
课时1:简单对话场景搭建和云小蜜接口集成(三)|学习笔记
|
自然语言处理 机器人 测试技术
课时1:简单对话场景搭建和云小蜜接口集成(二)|学习笔记
快速学习课时1:简单对话场景搭建和云小蜜接口集成
167 0
课时1:简单对话场景搭建和云小蜜接口集成(二)|学习笔记