Rasa官方教程翻译2 Rasa教程

本节会讲解使用Rasa构建智能助手的基础和展示Rasa工程结构。在这里,你可以不安装任何东西进行完整的测试。你也可以安装Rasa并在命令行中执行。

术语表glossary 中包含了Rasa文档中最常见的一些术语的解释。

在这一节的教程中,你会创建一个简单友好的智能助手。它会向你问好,并且在你伤心时会发送一个有趣的图片。

 

1.新建工程

第一步,执行下面命令创建一个新的工程:

 

rasa init --no-prompt                                       

 

rasa init命令会创建Rasa工程需要的全部文件,并在初始化样本数据上训练简单的聊天机器人。如果命令没有携带--no-prompt标志,你会遇到一些关于工程设置的提问。

以下文件将会被创建:

 

 

__init__.py

帮助python找到你的功能的空文件

actions.py

该文件中你可以自定义执行动作的代码

config.yml ‘*’

Rasa NLU和Rasa Core模型配置文件

credentials.yml

连接到其他服务的详细配置

data/nlu.md ‘*’

Rasa NLU训练数据

data/stories.md ‘*’

故事编写文件

domain.yml ‘*’

智能助手功能定义领域文件

endpoints.yml

连接到像fb messenger通道的详细配置

models/<timestamp>.tar.g

初始化模型

 

 ‘*’标记的是非常重要的文件,在该教程里有它们详细的解释。

 

2.查看NLU训练数据

Rasa智能助手第一部分就是NLU模型。NLU是Natural Language Understanding的简称,它的意思就是把用户各种信息转换为结构化数据。要使用Rasa完成该功能,你需要提供训练语料,Rasa能够通过这些语料学习如何理解用户信息。并且Rasa能使用这些语料训练模型。

在rasa init 命令新建工程目录里,运行下面命令查看NLU训练数据:

cat data/nlu.md                                       

以##开头的行来定义意图,一个意图就表示相同含义的一组信息。Rasa的工作就是当用户向助手发送新的未知消息时,它能够正确识别其中的意图。在Training Data Format部分,你可以查看关于数据格式的详细信息。

3.定义模型配置

通过配置文件定义你的模型需要用到的Rasa NLU和Rasa Core的组件。在该例子中,NLU模型将使用supervised_embeddings 管道。你可以通过页面here了解不同的NLU 管道。

通过下面命令查看模型配置文件:

cat config.yml                                       

language 和 pipeline主要确定应该如何构建Rasa NLU模型。policies主要定义Rasa Core模型使用的策略policies

4.编写你的第一个故事

在这一节,你要教你的助手如何响应你的消息。这被称作对话管理,由你的Rasa Core模型来处理。Rasa Core模型以训练”stories”方式从真实的会话数据中学习。一个故事代表用户和助手之间真实的会话过程。

intents和entities行反应了用户的输入,action names 展示助手如何响应用户输入。

下面时一个对话的例子。用户说hello,助手也回复hello。这就是为什么它看起来像一个故事:

 

你可以在 Stories中查看详细信息。

以 - 开始的行是助手的action(执行动作)。在这个会话中,所有的action是把用户的信息原样返回,像utter_greet。但是,通常action可以做任何事情,包括调用api,与外部交互等。

运行下面的命令可以查看data/stories.md文件下的故事例子:

cat data/stories.md                                       

5.定义领域

接下来我们要定义一个领域。这个领域定义了你的助手所能处理的边界:希望用户输入什么样的信息,能够预测哪些执行动作,如何响应用户,存储什么样的信息。助手的领域存储在文件domain.yml中:

cat domain.yml                                       

那么不同部分的意思是什么?

intents

你希望用户说的

actions

助手能做的和说的

templates

助手说的话术模板

 

这些是如何组合的呢?Rasa Core的工作就是在会话的每一步选择一个正确的action去执行。在该例子中,我们的actions只是简单的发送一个消息给用户。这些简单的话语执行的就是domain中以utter_开头的actions。助手将从templates中选择一个模板响应消息。参考 Custom Actions创建自定义action。

6.训练模型

一旦我们添加了新的NLU或Core数据,或者更新领域或配置,就要在样本故事和NLU数据上重新训练神经网络。可以通过使用下面命令重新训练神经网络。该命令将调用Rasa 的Core和NLU训练功能并且把训练好的模型存储到models/文件夹下。该命令将自动重新训练Rasa的数据或配置改变部分的模型。

 

rasa train命令将查找NLU和CORE的数据并训练组合模型。

7.使用你的助手

恭喜!你刚刚建立了一个完全由机器学习驱动的助手。

下一步就是测试它!如果你在本机学习该教程,开始通过下面命令启动和使用你的助手吧:

 

 

下一步

现在你已经成功构建了一个Rasa机器人,是时候学习一些Rasa更高级的功能。

  1. 了解如何使用forms实现业务逻辑
  2. 了解如何使用custom actions(自定义动作)集成其他API
  3. 了解如何把你的机器人链接到不同的messaging apps(消息应用)
  4. 了解如何在你的NLU pipeline中使用自定义components (组件)
  5. 阅读有关自定义和内置entities(实体)

你可以使用Rasa X收集更多会话来改进你的助手:

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值