本文继续围绕工业级业务对话平台和框架Rasa,对Rasa项目实战之电商零售Customer Service智能业务对话机器人运行流程进行剖析,并使用Rasa shell debug模式来演示对话过程及调试问题。
一、Rasa项目实战之电商零售Customer Service智能业务对话机器人运行流程及项目Bug调试全程演示
- 电商零售Customer Service智能业务对话机器人功能分析
在这个项目中会实现一些核心功能:
-查询订单状态
-取消购买的商品
-退回购买的商品
-检索是否有想购买的商品
-商品信息订阅功能
通过这个项目结合Rasa提供的框架可以扩展到任何的零售行业或者电商行业的智能业务对话机器人。在开发中有几个关键点需要注意,一是能否更精细地理解零售或者电商行业的数据,判断用户所要表达的意图和想要做的事情,二是决策系统或者说对话管理系统如何设计,三是对话机器人的异常处理和版本迭代,这是因为任何对话机器人都会面临人的语言的不确定性,需要考虑如何更好地处理这种情况,尤其在前期的版本中,理论上不大可能覆盖用户所有的情况,所以从这个角度来说,是一个持续改进的过程。
2. 电商零售Customer Service智能业务对话机器人运行流程
运行命令rasa visualize获取对话流程可视化图:
执行完成后会自动弹出网页显示可视化流程图,可以看到整个流程比较复杂。
下面是左边部分的流程图:
从图中可以看到,主要使用了以下forms:
-cancel_form:订单取消表格
-return_form:商品退回表格
-product_updates_form:产品更新表格
-product_stock_form:库存信息表格
-order_status_form:订单状态表格
每个form下面都有对应的action,这些actions会触发form “suvey_form”用于收集客户的反馈信息。
中间部分的流程图:
右边部分的流程图:
在运行命令rasa train进行训练时出现报错信息:
根据提示信息,需要在domain文件里添加version信息:
针对另外的报错信息:Can’t load class for name ‘DucklingHTTPExtractor’,在config.yml查找相关的配置信息:
这时可以把name更新为”DucklingEntityExtractor”:
重新运行命令rasa train进行训练,可以看到没有报错信息了:
依次对各个组件进行训练,下图中仅展示相关policies组件的训练情况:
-MemoizationPolicy
-RulePolicy
-TEDPolicy
训练完成后模型会通过序列化操作保存为文件:
运行命令启动duckling:docker run -p 8000:8000 rasa/duckling
3. 使用Rase shell --debug模式测试电商零售Customer Service项目及问题Bug思考
运行命令rasa shell –debug以调试模式启动Rasa server:
运行命令rasa run actions –debug 启动action server:
输入信息:Hi,对话机器人响应如下:
输入信息检查order status:
对话机器人输出信息:
输入email信息:
输出信息,可以看到返回了订单状态信息:
根据上述选项选择之后输入信息:
根据用户输入的反馈信息对话机器人响应如下:
继续输入查询订单状态信息:
输出订单状态信息:
这时对话机器人没有再请求email,这是因为session中已经保存了之前输入的email的值:
在action里定义了使用的数据库:
重启一个新的对话session,输入查询订单状态信息:
对话机器人返回输出信息:
输入email,这里故意输入一个在数据库中不存在的email:
由于数据库不存在上面输入的email,所以对话机器人返回信息显示没有找到这个email所对应的订单,并且让用户提供反馈:
提供反馈信息:
然后就结束了对话过程:
欢迎订阅Rasa系列课程:
=======================================================================
Rasa 3.x 源码高手之路:系统架构、内核算法、源码实现详解:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/auth?redirect_url=https%3A%2F%2Fappz0c1mshy7438.h5.xiaoeknow.com%2Fv1%2Fgoods%2Fgoods_detail%2Fp_62353091e4b0beaee43652c9%3Fentry%3D2%26entry_type%3D2001%26share_type%3D5%26share_user_id%3Du_621b7b85b8dc5_3yDAYnFXeM%26type%3D3
Rasa 3.x 源码高手之路:基于Transformer的对话机器人RasaPolice:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/auth?redirect_url=https%3A%2F%2Fappz0c1mshy7438.h5.xiaoeknow.com%2Fv1%2Fgoods%2Fgoods_detail%2Fp_62353421e4b04d7e2fd83665%3Fentry%3D2%26entry_type%3D2001%26share_type%3D5%26share_user_id%3Du_621b7b85b8dc5_3yDAYnFXeM%26type%3D3
星空NLP对话机器人论文班:NLP领域10篇最高质量的对话机器人经典论文解密:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_623874b7e4b04e8d90256da1?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001
Rasa 3.X 智能对话机器人案例开发硬核实战高手之路 (7大项目Expert版本):
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_62276dd8e4b0beaee431c848?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001
Advanced Python硬核实力高手实战之路:架构、算法、源码、案例(81讲):
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_6227e564e4b0beaee431ce2a?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001
NLP on Transformers 高手之路137课Pro版:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_621c0289e4b04d7e2fd0365a?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001