Rasa课程、Rasa培训、Rasa面试系列之: Rasa 3.x Domain
域定义了助手操作的范围。它指定了机器人应该知道的意图、实体、槽位、响应、表单和操作。它还定义了对话会话的配置。
下面是一个完整的域示例,取自音乐会机器人concertbot示例:本例包含一些训练数据和在本地计算机上构建助手所需的主要文件。concertbot由以下文件组成:
- data/stories.md 包含核心模型的训练故事
- actions/actions.py 包含一些自定义操作
- config.yml 包含模型配置
- domain.yml 包含助手的域
- endpoints.yml 包含自定义操作的webhook配置
Multiple Domain Files
域可以定义为单个YAML文件,也可以分割为一个目录中的多个文件。当拆分多个文件时,域内容将被读取并自动合并在一起。
使用命令行界面,您可以通过运行以下命令来训练具有拆分域文件的模型:
\
\
Intents
域文件中的意图键intents 列出了NLU数据和对话训练数据中使用的所有意图。
\
Ignoring Entities for Certain Intents
出于某些目的而忽略实体:要忽略特定意图的所有实体,可以将use_entities:[]参数添加到域文件中的意图中,如下所示:
\
\
\
\
要忽略某些实体或仅明确考虑某些实体,可以使用以下语法:
\
\
这些意图中被排除的实体将是非特征化的,因此不会影响下一步行动的预测。当你有一个不关心实体的意图时,这很有用。如果列出的意图中没有此参数,则实体将按正常方式进行特征化。如果希望这些实体不影响动作预测,请为同名槽位设置influence_conversation: false参数。
\
Entities
实体部分列出了NLU管道中任何实体提取器都可以提取的所有实体。例如:
\
\
\
如果要使用特征实体角色和组,还需要在本节中列出实体的角色和组。例如:
\
\
\
Slots
槽位是机器人的内存,充当一个键值存储,可用于存储用户提供的信息(例如用户的家乡城市)以及收集的有关外部世界的信息(例如数据库查询的结果)。在域的“槽位”部分中定义了槽位的名称、类型以及它们是否应该以及如何影响助手的行为。下面的示例定义了一个名为“slot_name”的槽位,键入文本并从from_entity预定义槽位映射。
\
\
\
具体例子
\
\
\
\
Slots and Conversation Behavior
可以使用“影响会话influence_conversation”属性指定槽位是否影响会话。如果要在槽位中存储信息而不影响对话,请在定义槽位时设置influence_conversation: false。下面的示例定义了一个槽位年龄,它将存储有关用户年龄的信息,但不会影响对话的流程。这意味着助手每次预测下一个操作时都会忽略槽位的值。
\
\
\
定义一个槽位时,如果您忽略了influence_conversation或将其设置为true,则该槽位将影响下一个动作预测,除非它具有任意 any槽位类型。槽位影响对话的方式将取决于其槽位类型。下面的示例定义了一个影响对话的槽位home_city。文本槽将影响助手的行为,具体取决于该槽是否有值。文本窗口的具体值(例如班加罗尔、纽约或香港)没有任何区别。
\
\
作为一个例子,考虑两个输入“天气是什么样的?”还有“班加罗尔的天气怎么样?”对话应该根据NLU是否自动设置home_city槽位而有所不同。如果槽位已经设置,机器人可以预测action_forecast。如果没有设置槽位,它需要先获得家乡城市信息,然后才能预测天气。
\
Rasa官网链接: rasa.com/docs/rasa/
Gavin大咖课程信息分享:
NLP 高手之路101课(模型、算法、论文、源码、案例 + 1年答疑)
Rasa 3.x 源码高手之路:系统架构、内核算法、源码实现详解
Gavin大咖简介
星空智能对话机器人创始人、AI通用双线思考法作者,现工作于硅谷顶级的AI实验室。专精于Conversational AI. 在美国曾先后工作于硅谷最顶级的机器学习和人工智能实验室
Gavin大咖微信:NLP_Matrix_Space
联系电话:+1 650-603-1290
助教老师微信:Spark_AI_NLP
\
\
博客链接:blog.csdn.net/duan_zhihua
作者参与Gavin大咖主编出版Spark系列图书5本,清华大学出版社最新出版2本新书《Spark大数据商业实战三部曲:内核解密|商业案例|性能调优》第二版、《企业级AI技术内幕:深度学习框架开发+机器学习案例实战+Alluxio解密》,累计原创博客1475篇,涵盖大数据、人工智能、智能对话机器人等内容,博客阅读量达217万次。
\
Gavin大咖课程信息分享
课程名称:Rasa 3.x 源码高手之路:系统架构、内核算法、源码实现详解
课程介绍:
Rasa是Conversational AI在智能业务对话领域工程落地全球最为成功对话机器人系统,是基于Transformer架构的全球使用最广泛的智能业务对话机器人框架,是NLP技术的集大成者。在当今全球范围各项对比指标综合成绩中,Rasa均处于领先地位:
本课程致力于彻底解密Rasa 3.x系统架构、内核算法、知识图谱及源码实现:
\
具体来说,该系统课程是以下五大课程的合集:
- 业务对话机器人Rasa 3.x Internals内幕详解及Rasa框架定制实战
- 业务对话机器人Rasa核心算法DIET及TED论文详解及源码实现
- Rasa 3.x 语言理解内核Classifiers架构、算法及源码实现
- 基于Transformer的对话机器人Rasa Policies架构设计与源码全解
- Rasa业务对话机器人Microservices微服务架构内幕与源码全解
课程通过这五大阶段内容,按照循序渐进的学习方式,帮助学员彻底精通Rasa新一代内核架构、算法内幕及源码实现。
\
\
\
\
课程答疑:
课程提供配套的视频、代码及资料,购买后联系Gavin获得代码及辅助资料。
课程提供1年的技术答疑服务,Gavin老师负责所有课程技术问题的答疑及代码服务。
\
课程试听:
\
代理模式下的Rasa微服务Form共1288行源码架构设计及源码逐行解析
1,Action类型的FormAction和LoopAction类型的FormAction区别与联系分析
2,Rasa微服务接口interfaces.py共370行源码逐行解析
3,Rasa SDK中的forms.py共918行源文件逐行解析