一、Rasa
Rasa是一个开源机器学习框架,用于构建上下文AI助手和聊天机器人。
github官方地址:
本文参考地址:
Rasa词汇表
动作Action
机器人进行对话的一个步骤。
动作服务器
Action Server
与Rasa Open Source源码分开的,运行自定义动作的服务器。尽管可以用其他语言编写自定义动作,但Rasa仍用Python维护了Rasa SDK来实现自定义动作。
标注Annotation
在消息和对话中添加标签,以便可以将其用于训练模型。
业务逻辑Business Logic
由于业务需求需要满足的条件。例如:在创建帐户之前,要求输入名字和姓氏,地址和密码。在Rasa助手中,使用基于规则的操作(例如form)来实现业务逻辑。
内容管理系统CMS
Content Management Systems
一种在外部存储漫游器响应的方法,而不是将其直接包含在域中。内容管理系统将响应文本与训练数据分离。
对话驱动的开发
Conversation-Driven Development(CDD)
使用用户消息和对话数据来影响助手设计和训练模型的过程,并结合工程最佳实践。组成CDD的过程分为6个步骤:共享,审阅,批注,修复,跟踪和测试。Share, Review, Annotate, Fix, Track, and Test。
会话测试Conversation Tests
修改后的故事格式,除了意图标签外,还包括用户消息的全文。测试对话将保存到测试集文件(conversation_tests.md),该文件用于评估整个对话中模型的预测。
组件Component
模型配置中助手的NLU pipeline中的元素。
传入消息由称为管道的一系列组件处理。组件可以执行从实体提取到意图分类再到预处理的各种任务。
有条件响应变化
Conditional Response Variation
仅当当前对话状态满足域或响应文件中定义的某些约束时,才可以使用响应变化。如果约束和对话状态之间存在匹配,Rasa可以使用此变体。
自定义操作Custom Action
由机器人开发人员编写的动作,可以运行任意代码,主要是与外部系统和API进行交互。
默认动作Default Action
带有预定义功能的内置动作。
DIET
Dual Intent and Entity Transformer.
Rasa开源使用的默认NLU体系结构,它执行意图分类和实体提取。
域Domain
定义助手的输入和输出。
它包括助手知道的所有意图,实体,词槽,动作和形式的列表。
实体Entity
可以从用户消息中提取的关键字。例如:电话号码,人名,位置,产品名称
事件Event
谈话中发生的事情。
例如,UserUttered事件表示用户输入消息,而ActionExecuted事件表示助手执行操作。
Rasa中的所有对话均表示为一系列事件。
常见问题解答FAQ
常见问题Frequently askedquestions(FAQ)是用户提出的常见问题。
在构建助手的上下文中,这通常意味着用户发送消息而助手发送响应而无需考虑对话的上下文。
表格Form
一种自定义操作,它要求用户提供多条信息,填表。
快乐/不快乐的路径
Happy / Unhappy Paths
用于描述用户输入是预期输入还是意外输入的术语。如果您的助手要求用户提供某些信息,并且用户提供了该信息,我们称这是happy path。Unhappy paths都是可能的极端情况。例如,用户拒绝提供请求的输入,更改对话主题或更正他们之前说过的话。
意图Intent
在给定的用户消息中,用户试图传达或完成的事情(例如,问候语,指定位置)。
互动学习
Interactive Learning
在Rasa X或Rasa CLI中,这是一种训练模式,开发人员可以在对话的每个步骤中更正和验证助手的预测。对话可以保存为故事格式,并添加到助手的训练数据中。
知识库/知识图
Knowledge Base / Knowledge Graph
知识图谱,可查询的数据库,表示对象之间的复杂关系和层次结构。知识库操作允许Rasa Open Source从知识库中获取信息,并将其用于响应中。
3级助理
Level 3 Assistant
可以处理比简单来回交换更复杂的对话的助手。3级助理能够使用上一个对话回合的上下文来选择适当的下一个动作。
消息信道
Messaging Channels
将Rasa Open Source与外部消息传递平台集成的连接器,终端用户可以在该平台上发送和接收消息。Rasa Open Source包括内置的消息传递通道(如Slack,Facebook Messenger和Web聊天),以及创建自定义连接器的功能。
最小可行助理
Minimum Viable Assistant
一个基本的助手,可以处理最重要的happy path stories。
NLG
自然语言生成(NLG)是生成自然语言消息以发送给用户的过程。
Rasa对NLG使用基于模板的简单方法。数据驱动的方法(例如neural NLG)可以通过创建自定义NLG组件来实现。
NLU
自然语言理解(NLU)致力于将人类语言解析和理解为结构化格式。
NLU收件箱 NLUInbox
Rasa X中收集新用户消息以供查看和标注的区域。可以收集未标注的数据。
管道Pipeline
定义Rasa助手的NLU系统的NLU组件列表。在返回最终的结构化输出之前,每个组件都会逐一处理用户消息。
策略Policy
Rasa开源组件可预测对话系统的下一个操作策略,从而决定对话流程应如何进行。典型的配置包括多个策略,而置信度最高的策略将决定对话中要采取的下一个动作。
Rasa Core
(这个已过时,Rasa Core和Rasa NLU在1.x中合并为一个软件包。)
Core的功能现在称为对话管理。对话引擎dialogue engine根据上下文决定下一步在对话中该做什么。Rasa开源库的一部分。
Rasa NLU
(已过时-Rasa Core和Rasa NLU在1.x中合并为一个软件包。)
RasaNLU的功能现在称为NLU,Rasa NLU是Rasa开源的一部分,它执行自然语言理解(NLU),包括意图分类和实体提取。
NLU组件
NLU Component
Rasa NLU管道中的一个元素,用于处理传入消息。组件执行的任务从实体提取到意图分类再到预处理。
Rasa X
rasa的可视化界面工具,conversation-driven development 对话驱动的开发工具。Rasa X帮助团队共享和测试使用Rasa Open Source构建的助手,注释用户消息和查看对话。
检索意图
Retrieval Intent
一种特殊类型的意图,可以分为较小的子意图。
例如,一个FAQ检索意图包含一些子意图,这些子意图代表助手知道如何回答的每个问题。
REST频道
REST Channel
用于构建自定义连接器 build custom connectors的消息传递通道。包括一个输入通道(可以在其中将用户消息发布到Rasa Open Source),以及指定回调callback URL(可以将机器人的响应操作发送到该URL)的功能。
响应/模板/话语
Response / Template / Utterance
助手发送给用户的消息。这可以包括文本,按钮,图像和其他内容。
规则Rules
特殊训练数据,用于指定类似规则的行为,其中特定条件总是预测特定的下一个动作。例如,回答常见问题解答,填写Forms或处理Fallbacks。
分享您的机器人
Share Your Bot
Rasa X功能可为测试用户生成指向聊天UI的链接。Share Your Bot可让测试用户在仍处于开发阶段的助手进行交谈。
插槽
Rasa用来在对话过程中跟踪信息的键值存储。
故事Story
对话模型的训练数据格式,由用户和漫游器之间的对话组成。用户的消息表示为带标签的意图和实体,而bot的 responses表示为一系列操作。
和你的机器人对话
talk to Your Bot
Rasa X中的聊天界面,使机器人开发人员可以与他们进行交谈,测试和更正其助手。可以在严格的交互式学习模式下启用,该模式要求在进行对话之前确认每个预测。
TED策略 TED Policy
Transformer EmbeddingDialogue Policy。TED是Rasa Open Source默认的基于机器学习的对话策略。
追踪器Tracker
维护对话状态的Rasa开源组件,它表示为JSON对象,列出了当前会话中的事件。
用户目标
用户想要实现的总体目标,例如查找问题的答案,预约或购买物品。
有些工具将用户目标称为“意图”,但是在Rasa术语中,意图与每个单独的用户消息相关联。
词嵌入/词向量
代表单词含义的浮点数向量。具有相似含义的词往往具有相似的向量。词嵌入通常用作机器学习算法的输入。