Rasa对话机器人连载四 第121课:Rasa对话机器人Debugging项目实战之电商零售对话机器人运行流程调试全程演示-4
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在本节Rasa对话机器人教程中,我们深入探讨了如何调试电商零售对话机器人的运行流程。主要内容集中在NLU(自然语言理解)、rules.yml、stories.yml和domain.yml等关键文件的配置,以及如何处理调试过程中遇到的问题。 我们关注到nlu.yml文件中的意图`product_stock`,它包含了如“do you have size 8 shoes in stock?”这样的训练样本。NLU模块负责解析用户输入并识别其意图,同时提取相关实体,例如在这个例子中,size和number实体。 接下来,rules.yml文件的角色至关重要,因为它定义了特定情况下的硬编码行为。在这个场景中,一旦检测到`product_stock`意图,Rasa机器人会执行`action_deactivate_loop`,这将取消活动循环,随后执行`utter_product_stock_start`,即向用户回应“I can help you find some shoes!”。然而,理想情况下,我们希望直接进入`product_stock_form`表单,因此我们考虑去掉`action_deactivate_loop`以优化流程。 domain.yml文件则定义了机器人的响应和行为,`utter_product_stock_start`对应的就是上述的回应。在此,`I can help you find some shoes!`作为启动`product_stock_form`的前奏,进入产品库存查询的表单流程。 在调试过程中,我们可能会遇到冲突或错误,如日志中提到的“contradicting rules or stories found”。这通常意味着stories.yml文件中的故事存在矛盾。在这种情况下,我们需要查找并删除引起问题的交互历史,例如interactive_story_1,因为它记录了错误的交互路径。 删除了冲突的故事后,我们重新训练模型(使用`rasa train`命令),然后启动`rasa interactive`来测试新模型。当我们输入“do you have size 8 shoes in stock?”时,期望看到意图被正确识别(product_stock),实体(number=8)被提取,并且词槽`size`被填充。但实际运行中,size词槽并未填充,这可能是NLU模型或规则配置中的问题,需要进一步检查和调整。 调试Rasa对话机器人涉及理解其工作原理,包括NLU模型的训练、规则的定义以及故事的流程。通过交互式模式(interactive mode)和日志分析,我们可以逐步定位问题并优化模型,确保机器人能按预期执行任务。在这个过程中,对Rasa源码的理解、调试技巧和持续迭代是提高对话机器人性能的关键。
剩余52页未读,继续阅读
- 粉丝: 7771
- 资源: 18
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HtmlMate标签使用详解中文最新版本
- ATM机旁危险物品检测数据集VOC+YOLO格式1251张5类别.zip
- 网页优化meta标签使用方法及规则中文最新版本
- 网页万能复制 浏览器插件
- IMG_20241123_093226.jpg
- JavaScript的表白代码项目源码.zip
- springboot vue3前后端分离开发入门介绍,分享给有需要的人,仅供参考
- 全国297个地级市城市辖区数据1990-2022年末实有公共汽车出租车数人均城市道路建成区绿地面积供水供气总量医院卫生机构数医生人数GDP第一二三产业增加值分行业从业人员水资源农产品产量利用外资
- Python客流量时间序列预测模型.zip
- 故障预测-灰色预测模型C++源码.zip