Gavin老师Transformer直播课感悟 - Rasa与ElasticSearch整合项目案例数据及配置工作机制与实践及源码剖析(四十一)

本文深入解析Rasa与ElasticSearch整合项目,涵盖domain.yml配置、session_config、NLU、policies和pipeline。探讨Rasa 3.x中domain配置变化,session超时管理,以及如何避免对话状态混乱。详细解析intent、entities、slots、Responses和actions的关系,并通过Rasa Interactive展示功能实现。
摘要由CSDN通过智能技术生成

     本文继续围绕工业级业务对话平台和框架Rasa,深入解析Rasa与ElasticSearch整合项目案例数据及配置工作机制、最佳实践,以及对源码进行剖析。具体包括语言理解部分(NLU,意图识别和提取实体信息);使用的policies,训练数据stories,rules的设置(DM,对话管理)等内容。

一、Rasa与ElasticSearch整合项目案例数据及配置工作机制、最佳实践、及源码剖析

  1. domain.yml中的config及session_config工作机制、最佳实践、自定义源码剖析

     Domain配置定义了对话机器人能够实现哪些功能,譬如能够识别哪些意图(intent),有哪些slots,entities,actions,responses,以及forms等,这些都是在domain.yml文件里配置的。如果要了解任何一个Rasa项目,都需要重点分析domain配置信息,并且建议从分析domain配置开始来理解项目。

    在Rasa 3.x中,domain.yml中的”config:store_entities_as_slots”可以去掉或者把它的值设为”false”,在之前的版本中,只要entity和slot的名称相同,就会自动把提取的entity的值填充到slot中。在3.x版本中,推荐使用slot全局配置方式,如下图中可以通过”conditions”来控制slots的填充,避免因为同一slot也在其它场景中使用而导致的slot设置状态混乱的问题:

接下来可以在定义form时使用上图中配置好的slots:

Session_config:

-session_expiration_time:设置对话session超时时间,单位是分钟,如果设置为0则永远不会超时,一个session开始时会触发default action “action_session_start”,其默认行为是把来自前一个session的已经存在的slots带入到新的session中,覆写这个action的使用场景包括:

-使用通过一个外部API调用获取的slots来初始化tracker

-使用一个对话机器人消息来启动对话

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值