logo资料库

Rasa Core官方文档中文翻译版.docx

第1页 / 共96页
第2页 / 共96页
第3页 / 共96页
第4页 / 共96页
第5页 / 共96页
第6页 / 共96页
第7页 / 共96页
第8页 / 共96页
资料共96页,剩余部分请下载后查看
Rasa对话引擎
欢迎来到Rasa文档!
动机
Rasa Core适用于哪里
指导原则
错误的方式™
Rasa方式
从哪儿开始
问题
但我不用python代码!
Rasa Core与最小的Python
带有ZERO Python的Rasa Core
安装
安装Rasa Core
添加自然语言理解
入门
建立一个简单的机器人
目标
1.定义一个域
2.定义一个解释器
3.定义故事
把碎片放在一起
奖励:处理来自Facebook的消息
监督学习教程
目标
第一步
1.域
自定义操作
2.训练数据
3.训练你的机器人
NLU模型
定制对话策略
4.使用机器人
细节
训练数据
互动学习
问题
机器人
域名
无状态的故事
互动学习
动机:为什么选择互动学习?
没有Python的Rasa Core
目标
1.定义一个域
2.定义一个解释器
3.定义故事
4.运行服务器
5.使用服务器
域,插槽和操作
定义自定义操作
把它放在一起
话语模板
图像和按钮
变量
变化
插槽
故事 - 训练数据
格式
故事的可视化
常见模式
收集信息以完成请求
使用槽值来影响哪些行为被预测
将API响应存储在跟踪器中
探究 - 如何融合在一起
HTTP服务器
概观
运行服务器
开始对话
事件
设置一个插槽
重新开始
重置插槽
端点
安全考虑
连接到消息和语音平台
Facebook Messenger安装程序
使用运行脚本
直接使用python
闲置设置
使用运行脚本
直接使用python
电报设置
使用运行脚本
直接使用python
计划提醒
安排提醒
当提醒被触发时会发生什么
代理人
事件
特征提取
历史
解释器
固定意图和实体输入
自定义策略
从故事创造策略
推广到新的对话
跟踪对话状态
坚持追踪者:
序列化
迁移指南
0.7.x至0.8.0
更改日志
[Unreleased 0.9.0.aX] - 
添加
删除
固定
[0.8.5] - 2018-03-19
固定
[0.8.4] - 2018-03-14
固定
[0.8.3] - 2018-02-28
固定
[0.8.2] - 2018-02-13
添加
固定
[0.8.1] - 2018-02-01
固定
[0.8.0] - 2018-01-30
添加
固定
[0.7.9] - 2017-11-29
固定
[0.7.8] - 2017-11-27
固定
[0.7.7] - 2017-11-24
添加
固定
[0.7.6] - 2017-11-15
固定
[0.7.5] - 2017-11-14
固定
[0.7.4] - 2017-11-09
[0.7.3] - 2017-10-31
添加
固定
[0.7.2] - 2017-10-30
添加
固定
[0.7.1] - 2017-10-06
固定
[0.7.0] - 2017-10-04
添加
[0.6.0] - 2017-08-27
添加
[0.5.0] - 2017-06-18
添加
固定
[0.2.0] - 2017-05-18
Rasa 对话引擎 注意 这是 Rasa Core 0.8.5 版的文档。确保为本地安装选择适当的文档版本! 欢迎来到 Rasa 文档! 我在看什么? Rasa 是构建会话式软件的框架:Messenger / Slack 僵尸程序,Alexa 技能等。 我们将 在此文档中将其缩写为 bot。您可以  实现您的机器人可以在 Python 代码中执行的操作(推荐),  或者使用 Rasa Core 作为 web 服务(实验性,请参阅 HTTP 服务器)。 它有什么好处? if/else 您的机器人的逻辑不是基于一堆陈述,而是基于训练有关示例对话的概率模型。 这听起来比写几句话更难 在一个项目的开始阶段,只是硬编码一些逻辑确实比较容易。当你想要通过它时,Rasa 会 帮助你,创建一个可以处理更多复杂问题的机器人。 我可以看到它在行动吗? 我们认为你永远不会问!确保遵循安装, 然后检查构建一个简单的机器人! 入门  动机  但我不用 python 代码!  安装 教程  建立一个简单的机器人  监督学习教程  互动学习  没有 Python 的 Rasa Core
深潜  域,插槽和操作  故事 - 训练数据  常见模式  探究 - 如何融合在一起  HTTP 服务器  连接到消息和语音平台  计划提醒 Python API  代理人  事件 开发者文档 Featurization   解释器  自定义策略  跟踪对话状态  迁移指南  更改日志 动机
Rasa Core 适用于哪里 Rasa Core 接受结构化输入:意图和实体, 按钮点击等,并决定你的机器人下 一步应该运行哪个动作。如果您希望系统处理自由文本,则还需要使用 Rasa NLU 或其他 NLU 工具。 指导原则 Rasa Core 的主要思想是将对话视为流程图不会扩展。很难明确地推断出所有可 能的对话,但如果对方是对还是错,在对话中间很容易分辨出来。 错误的方式™ 实现对话流的典型方法是使用状态机。例如,你可能需要从用户收集一些数据来 完成他们的订单,然后手动把他们经历的状态 BROWSING,CHECKING_OUT, ADDING_PAYMENT,ORDER_COMPLETE,等的复杂性来自于当用户从“幸福路径”流浪,你 需要添加代码用于处理问题,澄清,比较,拒绝等。将这些边缘案例手动插入状 态机是一个很大的麻烦。
一个典型的“简单”机器人可能会有 5-10 个州和几百个规则来管理它的行为。当 你的机器人不像你想要的那样工作时,找出错误是非常棘手的。 同样,当你想添加一些新功能时,你最终会碰到你之前编写的规则,并且变得越 来越难。 我们的观点是,从字面上理解流程图并将它们实现为状态机并不是一个好主意, 但流程图对于描述开心路径和可视对话仍然有用。 Rasa 方式 if/elseRasa 机器人并没有编写大量的语句,而是从真实的对话中学习。概率模 型选择要采取的行动,并且可以使用监督,强化或交互式学习来训练。 这种方法的优点是:  调试更容易  你的机器人可以更灵活  无需编写更多代码,您的机器人可以从经验中改进  您可以在不调试数百条规则的情况下为您的机器人添加新功能。 从哪儿开始 在完成安装之后,大多数用户应该从 构建简单的机器人开始。但是,如果您已 经有一系列想要用作训练集的对话,请查看监督学习教程。 问题 为什么选择python? 由于其机器学习工具的生态系统。转到但我不使用 Python 代码!了解详情。 这仅适用于ML 专家吗? 如果你对机器学习一无所知,你可以使用 Rasa,但如果你这么做,那么实验起 来很容易。 我需要多少训练数据?
通过使用交互式学习,您可以从零训练数据中引导。试试教程! 但我不用 python 代码!
虽然 python 是机器学习的通用语,但我们知道大多数聊天机器人都是用 javascript 编写的,而且很多企业在 Java,C#等平台上构建和发布应用程序更 加舒适。 即使您不想使用 python,我们也尽一切努力确保您仍然可以使用 Rasa Core。 但是,请考虑 Rasa Core 是一个框架,并且不像 Rasa NLU 那样容易适合 REST API。 Rasa Core 与最小的 Python 您可以通过以下方式与 Rasa Core 构建聊天机器人:  定义一个域(一个 yaml 文件)  写作/收集故事(markdown 格式)  运行 python 脚本来训练和运行你的机器人 您需要编写 python 的唯一部分是当您要定义自定义操作时。有一个名为 requests 的优秀 python 库,这使得 HTTP 编程变得轻松无比。如果 Rasa 只需 要通过 HTTP 与您的其他服务进行交互,您的操作将全部如下所示: from rasa_core.actions import Action import requests class ApiAction(Action): def name(self): return "my_api_action" def run(self, dispatcher, tracker, domain): data = requests.get(url).json return [SlotSet("api_result", data)] 带有 ZERO Python 的 Rasa Core 如果你真的被限制为不使用任何 python,你也可以通过 HTTP API 使用 Rasa Core 。 安装
安装 Rasa Core 以开始使用 Rasa 堆栈。 安装 Rasa Core 推荐的安装 Rasa Core 的方法是使用 pip: pip install rasa_core 除非您已安装 numpy&scipy,否则我们强烈建议您安装并使用 Anaconda。 如果您想使用 Rasa 的最新版本,请使用 github + setup.py: git clone https://github.com/RasaHQ/rasa_core.git cd rasa_core pip install -r requirements.txt pip install -e . 注意 如果您想更改 Rasa Core 代码并想运行测试或构建文档,则需要安装开发依赖 项: pip install -r dev-requirements.txt pip install -e . 添加自然语言理解 我们使用 Rasa NLU 进行意图分类和实体提取。为了得到它,运行 pip install rasa_nlu 完整的说明可以在这里找到。 您也可以使用其他 NLU 服务,如 wit.ai,dialogflow 或 LUIS。实际上,如果您 的消息传递应用程序使用按钮而不是自由文本,则根本不需要使用 NLU。 入门 要查看刚安装的 Rasa Core,请参阅建立简单 Bot 的入门教程。 建立一个简单的机器人
注意 本教程将向您展示构建 bot 的不同部分。请注意,这是一个快速入门的小例子。 它不包含大量的训练数据,所以最终的机器人性能有一定的提升空间。 GitHub 上的示例代码 在这里我们展示了如何创建你的第一个机器人,添加一个 Rasa 应用程序的所有 部分。如果你也看看探究 - 这一切如何融合在一起,这可能会更容易遵循。 目标 我们将创建一个非常简单的机器人,检查我们目前的心情,如果我们感到难过, 就试图让我们振作起来。它会查询我们的情绪,并根据我们的回复将回应一个有 趣的图像或消息。 我们首先创建一个项目文件夹: mkdir moodbot && cd moodbot 我们需要创建两个数据文件(对话故事和 NLU 示例)以及两个配置文件(对话 域和 NLU 配置)。最终的结构应该如下所示:
分享到:
收藏