Rasa课程、Rasa培训、Rasa面试系列之: Rasa 3.x Domain

263 阅读6分钟

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

联系邮箱:hiheartfirst@gmail.com

助教老师微信: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系统架构、内核算法、知识图谱及源码实现:

\

具体来说,该系统课程是以下五大课程的合集:

  1. 业务对话机器人Rasa 3.x Internals内幕详解及Rasa框架定制实战
  2. 业务对话机器人Rasa核心算法DIET及TED论文详解及源码实现
  3. Rasa 3.x 语言理解内核Classifiers架构、算法及源码实现
  4. 基于Transformer的对话机器人Rasa Policies架构设计与源码全解
  5. 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行源文件逐行解析