开发者学堂课程【智能语音对话机器人训练营课程:复杂多任务助理搭建】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/908/detail/14397
复杂多任务助理搭建
目录:
一、复杂场景设计
二、实操阶段
一、复杂场景设计
1、复杂场景案例
l 会员卡助理
l 对话流设计要点:
1. 抽象功能要点
2. 抓住高频路径
3. 采用 Visio 等工具画出草图
4. 小步快跑,快速选代
l 对话流构建的最佳实践:
1. 优先主流程,尽快跑通
2. 设计合理的异常流程,引导用户回到主流程
3. 节点命名表义清晰,有一定规范
4. 意图话术尽可能丰富多样
2、节点功能介绍
l 用户说:用户输入节点(用户说的内容)
l 机器人想: 判断节点 服务调用 函数节点 赋值节点
l 机器人回答:回复节点
l 系统能力: 填槽节点
例如会员卡助理
开始节点 输入我要查余额 机器人询问卡号
3、学会用调式窗分析和定位问题
例如
输入:我要查余额
机器人回复:请问卡号后四位是多少?
因此此时测试效果如下
机器人回复:请问卡号后四位是多少?
结果:查余额
匹配类型:Similarity
匹配细节:classifierType=Fewsh ot,from=Similariry
●开发前的准备: API 接口
●校验卡号是否合法的接口
https://1043547601975995.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/nick_dm/check_card_no/?card_no=0573
●返回0合法,返回1不合法
●查询余额接口
https://1043547601975995.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/nick_dm/get_balance/?card_no=0573
二、实操阶段
首先登陆官方网站(云小蜜) 然后点击机器人管理,点击对话工厂,新建三个对话流单元 ,分别是会员卡挂失 会员卡退卡 会员卡查余额,再在服务注册中心。
a.校验卡号是否合法的接口
https://1043547601975995.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/nick_dm/check_card_no/?Card_no=0573
返回0合法,返回1不合法
b.查询余额接口
https://1043547601975995.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/nick_dm/get_baLance/?Card_no=0573
c.挂失提交接口
https://1043547601975995.cn-shanghai.fc.aliyuncs.com/201608-15/proxy/nick_dm/report_Loss/?phone_no=15301694823
步骤: 设置服务设置的名称(校验卡号是否合法的接口 查询余额接口 挂失提交接口),服务接受参数为card_no,服务接口的名称和值和操作,值输入$(caard_no),如下图,设置三个,设置好了后,确定上线,点击对话流单元
1、会员卡查余额
设置好输入节点的名称为查询余额,新建配置 ,意图名称(查询余额),自己设计用户术语,例如 “我想查一下会员卡还有多少钱” 帮忙查一下会员卡的余额 查一下卡里的余额 设置回复节点的名称为询问卡号 ,设置文本回复为”你好,请问的你的卡号是多少“,之后进行检测。
输入节点的名称(忘记卡号),设置意图名称(忘记卡号),用户术语 例如“我忘了卡号多少了 记不得自己的卡号了 会员卡卡号我忘记了 我想不起来会员卡是多少了,回复节点名称(联系人工客服),文本回复(你好,请你联系我们的人工客服,电话是某某) ,设置输入节点名称(输入卡号),意图名称(输入卡号)。
用户术语”我的卡号是0778 会员卡是3498 1256 卡号是6655,可以设置语义标注,再设置填操节点名称(收集卡号) 设置通过反问配置收集缺失信息,反问问题(你好,请你再输入一遍卡号),完成好草稿如下流程
开始节点查询余额询问卡号
在调试窗开始手动调试,之后继续设置用户输入节点和回复节点,设置填槽节点的名称是收集卡号,设置反问问题和拉回回复,设置服务调用的名称为校准卡号合法性,选择校园卡是否合法的服务,设置服务接受参数$(输入卡号card_no),设置服务返回参数$( global.card_statuse ),设置判断节点的名称为判断合法性,条件分支连服务调式为合法,其他节支连回复节点为非法,不合法
设置名称(卡号有误) 文本回复 (你好,你输入的卡号有误,请重新输入)气质服务调式的名称为查询余额接口,
选择查询余额接口服务,设置好服务接受参数和返回参数,
回复节点的名称为卡号有误 回复为”你好,你输入卡号有无,请重新输入“,服务调用名称(查询余额接口),选择服务(查询余额接口),
设置服务接受参数$(输入卡号 card_no ),设置服务返回参数$( global.card_balance ),设置回复节点名称(告知余额),文明本回复(你好,我帮你查到你会员卡的余额是$( global.card_balance )),进行测试
第一次测试
输入:查询余额,
机器人回复 :你好,请问你的卡号是多少
输入 :我忘记了,
机器人回复 :你好,请你联系我们的人工客服,电话是4008006767,
因此本测试效果如下
单论对话
机器人回复 :你好,请你联系我们的人工客服,电话是4008006767,
结果 :忘记卡号
匹配类型:Lgf
匹配细节 :我忘记了
意图 :忘记卡号
第二次测试
输入:我要查询余额
机器人回复 :你好,请问你的卡号是多少
输入:7889
机器人回复 :你好,你的输入的卡号有误,请重新输入,
我们可以查看详细 看到收集卡号信息。可以发现测试没有问题,输入0573 发现有问题 这就需要将服务调用的服务接收参数修改为$(输入卡号 card_no—_origin ),
第三次测试
输入:我要查询余额,
机器人会回复: 你好,请问你的卡号是多少
注意如果你输入没有在你的设置配置之内,机器人会回复找不到匹配的触发节点,意图识别结果 UNKNOWN ,你可以在对话配置,选择自定义配置,设置拒识回复内容 不好意思,麻烦你在输入一遍,来领导你下一步做什么。
最终设计流程如下
2、会员卡退卡
设置用户输入节点名称(会员卡挂失),设置意图名称会员卡退卡,用户术语 退卡 退卡怎末操作等,设置回复节点名称不支持退卡,文本呢回复(你好,暂时不支持机器人退卡,请联系人工客客服),测试没有问题,
最终设计如下流程
开始节点会员卡退卡不支持退卡
3、会员卡挂失
设置用户输入节点名称(挂失会员卡),意图名称(该市会员卡) 用户术语 挂失会员卡等,
设置回复节点名称询问手机号,文本回复你好,请问你的手机号是多少,设置用户输入节点名称输入手机号,意图名称输入手机号,
我的手机号是15623781189等,
不要忘记语义槽白标注,设置填槽节点的名称收集手机号,
设置反问问题,请你再输入一遍手机号,
设置服务调用名称(提交挂失),选择服务(卡挂失提交接口),服务接受参数$(输入手机号. phone_no ),
服务返回参数$( global.stats )设置回复节点名称(告知挂失结果),文本回复:你好,你的卡挂失成功,进行测试,结果没有问题。
最终设计如下流程