术语 | 描述 |
---|---|
动作(Action) | 机器人在对话中采取的单个步骤。例如,调用 API 或者发送响应给用户 |
动作服务器(Action Server) | 动作服务器用于运行自定义动作代码,它独立于 Rasa 之外。Rasa SDK 使用 Python 实现的自定义动作,虽然使用其他语言也可以编写自定义动作,但还是推荐 Python 的方式。 |
标注(Annotation) | 给消息和对话添加标注,以便来训练模型 |
业务逻辑(Business Logic) | 由于业务方需求而需满足的条件。例如,在创建账号之前,需要性能、地址和密码。在 Rasa 机器人中,使用基于规则的操作(如表单)来实现业务逻辑。 |
闲聊(Chitchat) | 一种对话模式,描述的是用户所说的内容与其目标并没有直接关系,包括问候、问好等。 |
内容管理系统(CMS) | 对话管理系统是将机器人的响应存储在外部,而不是直接存储在域文件中,目的是将响应文本与训练数据分离开。 |
对话驱动开发(CDD) | 结合工程最佳实践,使用用户消息和对话数据影响机器人的设计以及模型的训练。CDD 由 6 个步骤组成:分享、审阅、标注、修复、跟踪和测试。 |
对话测试(Conversation Tests) | 修改故事格式,除了意图标签外,还包含用户消息的全文。测试对话将保存到 conversation_tests.md 测试集文件,该文件用于评估对话中模型的预测效果。 |
组件(Component) | 组件是模型配置中机器人 NLU 管道一个元素,传入的用户消息将被一系列组件(通常称之为管道)进行处理。组件可以完成很多人任务,从实体的提取到意图的分类,再到预处理。 |
条件响应变化 (Conditional Response Variation) |
当前对话状态满足域文件或者响应文件中某些约束时,响应变化才会起作用。如果约束和对话状态之间存在匹配关系,Rasa 将会使用变化 |
自定义动作(Custom Action) | 开发人员编写运行任意代码的动作,自定义动作主要还是用于与外部系统和API 的交互。 |
默认动作(Default Action) | 具有预定义功能的内置动作 |
DIET | 双重意图和实体的转换器,Rasa 默认使用的 NLU 架构可以同时执行意图分类和实体提取。 |
领域(Domain) | 领域定义了机器人的输入与输出,包含了所有意图、实体、插槽、动作和表单,这些都是机器人需要知道的内容。 |
实体(Entity) | 实体为从用户消息中提取出的关键词,例如,手机号码、性能、地址或者产品名称 |
事件(Event) | 事件为对话中所发生的事情,例如,UserUttered 事件表示用户输入消息,ActionExecuted 事件表示机器人执行操作。Rasa 中的所有对话都表示为一系列的事件。 |
常见问题(FAQs) | 常见问题为用户询问的常规问题,在构建机器人时,通常意味着在不考虑会话上下文的情况下,用户发送消息,机器人发送响应 |
表单(Form) | 表单是自定义动作的其中一种,其目的是要求用户提供多条信息。例如,如果用户需要根据城市、菜肴以及价格范围来推荐餐厅,那么我们就可以创建一个餐厅表单来手机信息。同时,我们还可以在表单中嵌入业务逻辑,如用户提到事物过敏的话,便会提供出一个不同菜单选项。 |
期望/意外的用户输入 (Happy / Unhappy Paths) |
用于描述用户输入是否在预期内,如果机器人向用户询问了一些信息,并且用户提供了这些信息,这种情况称之为幸福之路。不幸之路描述的则是可能边缘情况,例如,用户拒绝提供请求的输入、更改对话主题,或者更正一些他们之前说过的话 |
意图(Intent) | 意图表示的是在给定的用户消息中,用户想要传达或完成的事情(例如,问候、指定地址)。 |
交互式学习(Interactive Learning) | 交互是学习是在 Rasa X 或 Rasa 命令行接口中进行训练的模式,开发者可以在此对话中每一步对机器人的预测进行更正和验证。 |
知识库 / 知识图 (Knowledge Base / Graph) |
一种可查询数据库,该数据库表示了对象之间复杂的关系和层次结构。知识库动作允许 Rasa 从知识库提取信息,并在响应中进行使用。 |
等级3的机器人 (Level 3 Assistant) |
比起简单的回合制交流,机器人可以处理更复杂的对话。3 级机器人能够利用上一轮对话中的上下文,选择适当的下一步动作。 |
消息通道(Messaging Channels) | 消息通道是将 Rasa 与外部消息平台(用户可发送和接收消息)集成的连接器 |
最小可运行机器人 (Minimum Viable Assistant) |
一个最基本的机器人,用于处理最重要的期望输入下故事。 |
自然语言生成(NLG) | 自然语言生成表示的是生成发送给用户的消息过程,Rasa NLG 使用简单的基于模板的方式。数据驱动的方法(如神经网络 NLG)可以通过创建自定义 NLG 组件来实现。 |
自然语言理解(NLU) | NLU 对文本数据激进型解析和理解,并处理成结构化格式。 |
NLU收件箱(NLU Inbox) | Rasa X 中手机新用户消息来进行查看和标注的地方,在 NLU 收件箱中仅显示在训练数据中没有出现过的数据。 |
管道(Pipeline) | 管道是 NLU 组件的集合,定义了 Rasa 机器人 NLU 系统。 |
策略(Policy) | Rasa 组件用于预测对话系统的下一个动作,策略则决定对话流程如何进行。配置可以包括多个策略,而置信度最高的策略决定对话中下个动作。 |
Rasa Core | Rasa Core 功能指代的时对话管理,Rasa 对话引擎可以根据上下文来决定对话接下来做什么。 |
Rasa NLU | Rasa NLU 作为 Rasa 的一部分,主要用于自然语言理解,以及意图分类和实体提取。 |
NLU组件(NLU Component) | NLU 组件是 Rasa NLU 管道中一个元素,用于处理所传入的消息,以及从执行实体提取到意图分类,再到预处理的任务 |
Rasa X | Rasa X 是对话驱动开发的一个工具,它可以帮助团队分享、测试机器人,以及标注用户信息和查看对话。 |
检索意图(Retrieval Intent) | 检索意图是一种特殊类型的意图,它可以细化为多个子意图。例如,对于包含子意图的 FAQ 检索意图,机器人知道如何回答每个问题。 |
REST通道(REST Channel) | 消息通道用来构建自定义连接器,包括一个输入通道和回调地址,其中输入通道是将用户信息 POST 给 Rasa,回调地址则是机器人的响应动作所发送的 URL。 |
响应 / 模板 / 话语 (Response / Template / Utterance) |
机器人发送给用户的消息,可以包含文本、按钮、图像以及其他内容。 |
规则(Rules) | 用于指定类似规则行为的特殊训练数据,其中特定的条件总是预测特定的下个动作,常见示例有回答问题、填充表单或者处理回退。 |
共享机器人 (Share Your Bot) |
这是 Rasa X 的一个特性,给测试用户生成聊天 UI 的链接,共享机器人允许在开发过程中与机器人进行交谈。 |
插槽(Slot) | Rasa 使用键值对方式来存储在对话过程所跟踪的信息,键即为槽名,而值则为槽值。 |
故事(Story) | 对话模型的训练数据由用户和机器人之间的对话组成,用户的消息被表示为带标注的意图和实体,机器人的响应则表示为一系列的动作。 |
与机器人聊天 (Talk to Your Bot) |
Rasa X 聊天界面允许开发人员与机器人进行交谈、测试和纠正,我们可以启动严格的交互学习模式,该模式要求在继续对话之前确认每个预测。 |
TED 策略(TED Policy) | 基于 Transformer Embedding 的对话策略,TED 是 Rasa 默认的基于机器学习的对话策略,它通过处理之前未遇到的情况来补充基于规则的策略,在这种情况下,不存在可以确定下个动作的规则。 |
模板 / 响应 / 话语 (Template / Response / 话语) |
用于响应用户的消息模板,可以包含文本、按钮、图像和其他附件。 |
跟踪器(Tracker) | 跟踪器是 Rasa 的一个组件,用于维护对话的状态,通常使用一个包含当前会话事件的 JSON 对象来表示 |
用户目标(User Goal) | 用户想要实现的总体目标,例如查找问题的答案、预约或购买保险单。一些其他工具会将用户目标称之为意图,但是在 Rasa 中,意图是指每个单独的用户消息 |
词嵌入 / 词向量 (Word Embedding / Vector) |
一个浮点型数字的向量,用以表示单词的含义。具有相同含义的单词往往其向量也是相似的,在机器学习算法中词嵌入通常作为一个输入特征 |