Gavin老师Transformer直播课感悟 - Rasa对话机器人项目实战之保险行业Insurance Bot调试、interactive learning解密及项目总结(五十九)

84 篇文章 16 订阅

    本文继续围绕工业级业务对话平台和框架Rasa,对Rasa对话机器人项目实战之保险行业Insurance Bot进行调试,并使用Rasa提供的interactive learning的模式对交互过程中出现的不符合预期的行为进行纠正。纠正包括两个方面,一是intent预测纠正,另外一方面是针对action的预测纠正,然后通过生成新的训练数据来改进对话机器人。

一、Rasa对话机器人项目实战之保险行业Insurance Bot调试、interactive learning解密及项目总结

  1. 使用Debugging模式解密Insurance Bot中的Check Claim Status全生命周期

  下面是对话机器人给出的选项:

选择第1个选项后输出信息:

选择Yes后输出信息:

这时如果随意输入ID值,就不能通过验证:

下面是调试信息,显示对slot “claim_id”的值进行验证:

为了进行验证,需要调用action server的微服务”validate_get_claim_form”:

在action server输出信息里可以看到收到了这条要求执行验证action的请求:

这是action类:

在下面的验证方法里,会从模拟测试数据中获取用户理赔信息,然后从tracker中获取slot “claim_id”,如果slot的值在用户理赔信息中不存在,则判定为无效的claim_id:

这是模拟测试数据之一:

使用测试数据中的claim_id值作为输出,可以看到通过了验证并显示claim的状态信息:


 

 2.  使用Debugging模式解密Insurance Bot中的Pay Claim 全生命周期

输入Yes后输出信息:

输入金额信息:

输入Yes后输出信息,这时已经执行了支付操作:

下面是tracker的状态,包含了以下信息:

-用户intent信息

-依次显示了执行的各个action以及激活的form信息

-每个action和form使用的slots信息

ActionPayClaim类:

下面是run方法,首先从tracker中获取各个slots的值,然后检查用户理赔信息,对当前用户请求的claim_id所对应的balance金额进行更新,最后在return语句里对所有slots的值设置为None:

 3.  使用Rasa Interactive Learning启动Insurance Bot过程

运行命令rasa interactive启动交互式模式,注意下面的输出信息显示是直接加载训练好的模型,这是因为模型在加载前没有修改所以不需要重新训练:

 4.  使用Rasa Interactive Learning解密Insurance Bot的order a new card的全生命周期

输入信息hi,然后输出信息:

运行action “utter_greet”输出信息如下:

选择第2个选项,输出信息:

并提示需要验证地址信息:

输入Yes后会输出地址信息让用户进行确认:

确认运行微服务action:

这是action类:

下面是run方法,只是输出信息而已,在实际生产环境中需要和第三方服务进行集成:

 5.  使用Rasa Interactive Learning解密Insurance Bot的file a claim的全生命周期及纠正Insurance Bot的NLU行为和Policies Prediction行为

输入信息,这时intent为”bot_challenge”:

确认后输出信息:

再次输入同样的信息后,可以看到第2次识别到的intent为”nlu_fallback”,这是因为confidence低于了定义在config.yml中的FallbackClassifier的threshold:

然后会使用rules.yml中定义的rule进行处理:

这是在domain.yml中定义的模板化response:

再次输入同样信息得到intent为”bot_challenge”时,选择No,则返回下面的intent list:

这时选择ask_for_help,输出信息:

确认执行action后输出信息:

确认执行action后输出信息:

选择下面第4个选项:

这是form定义:

输入理赔金额信息:

确认以下信息:

这是微服务action:

这是run方法中当选择确认时的业务逻辑操作:

Slots信息如下:

输入信息:

输出信息:

根据提示输入claim id信息:

可以看到intent为”deny”是不正确的,所以输入No,这时返回intent list:

选择inform,并执行”pay_claim_form”,输出信息:

再次输入claim id:

可以看到intent为”deny”是不正确的,输入No,这时返回intent list:

再次选择inform,执行后提示是否要执行fallback action:

输入No,返回action list:

选择执行action_pay_claim,这时从action server输出看由于缺少数据导致执行微服务action报错:

 6.  基于使用Rasa Interactive Learning生成的新增数据分析及对话机器人训练

在交互式模式下选择No,导出刚刚交互时使用的训练数据:

然后进行训练:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值