Rasa

article/2025/9/19 19:37:28

Rasa NLU是一种开源自然语言处理工具,用于聊天机器人中的意图分类和实体提取;主要是理解用户意图,配合rasa_core使用可以实现AI对话。
参考文献
Rasa介绍 对话系统、产品与技术by清华
Rasa开发使用 Rasa_NLU及Rasa_Core模型训练与测试by冰蓝
Rasa使用指南1+2 by爱编程真是太好了

目录

  • 1.Rasa的组成
    • 1.1Rasa Nlu
    • 1.2Rasa Core
    • 1.3Rasa X
  • 2.Rasa的Pipeline
  • 3.Rasa技术详细

1.Rasa的组成

1.1Rasa Nlu

主要实现自然语言理解(即NLU)功能,本质上就是识别句子的意图和实体。

如“买一张去北京的票”,我们可以定义一个意图是“购票”,实体是“北京”和“一张”。

意图识别本质是短文本分类任务(当然在学术界可能称为Intent Detection来和Text Classification分开)。 单纯短文本分类任务的SOTA基本上就是BERT了。

抽取本质是信息抽取任务。 抽取的SOTA现在一般还是BiLSTM-CRF的各种变型,或BERT之类。

现在学术界的主要研究方向是多种工作结合,例如同一模型同时做意图识别和信息抽取,互相配合增加总体准确率。

Rasa的NLU,主要是当前的社区版,主要还是使用了各种开源技术,并没有追求学术上的SOTA。 它使用的工具包括Spacy、sklearn-crfsuite

1.2Rasa Core

笔者认为这是Rasa的核心部分,NLU有各种实现,开源的也有snips nlu等,但是core却独一无二。

Rasa Core主要完成了基于故事的对话管理,包括解析故事并生成对话系统中的对话管理模型(Dialog Management),输出系统决策(System Action/System Policy)。

学术上一般认为这部分会包含两个模型

对话状态跟踪(Dialog State Tracking / Belief Tracking)
对话策略(Dialog Policy / Policy Optimization)

对于1.其实Rasa实现很简单,具体在它的论文 Few-Shot Generalization Across Dialogue Tasks, Vlasov et at., 2018 中说的比较具体。就是简单的基于策略的槽状态替换。

对于2.Rasa使用基于LSTM的Learn to Rank方法,大体上是将当前轮用户意图、上一轮系统行为、当前槽值状态向量化,然后与所有系统行为做相似度学习,以此决定当前轮次的一个或多个系统行为
在这里插入图片描述

1.3Rasa X

Rasa的可视化编辑工具,更方便NLU、NLG数据的管理,故事的编写。

Rasa X可能暂时还不能让所有非开发人员也能快速方便的使用。不过它本质上可以方便开发人员快速开发,快速训练模型验证。

笔者是这么认为的,Rasa X就好像小程序开发也要有个本地开发工具一样,或者像Android Studio那样的工具。本地工具的优点就是方便调试、开发、快速验证、Debug。相对线上的缺点就是速度慢、验证需要等待后台训练、不便于Debug。

可以看出国内外现在很多机器人平台都是完全在线的,例如国外的luis.ai,dialogflow等。这样当然也可以,但是总还是不如有一个可自己训练的终端对开发者更友好。 国内的就不说了。

再举个例子,如Elasticsearch、Docker都是非常棒的工具,但是如果官方开始的时候说:你不能自己本地架设,你只能用我的云服务。这样对于很多开发者来说就必然丧失了很大的兴趣。

2.Rasa的Pipeline

Pipeline 的过程是这样的:

在这里插入图片描述

1.用户输入文字,送入解释器,即Rasa NLU
2.NLU给出结果,如图
在这里插入图片描述
3.从Tracker到Policy,Tracker用于跟踪对话状态,Tracker输出的是Embedding

(1). 用户意图的Embedding
(2). 系统动作(上一步)的Embedding
(3). 实体(槽值/Slot)的Embedding

4.Policy给出系统行为
5.Tracker记录系统行为,下一次会提供给Policy使用
6.返回消息给用户

3.Rasa技术详细

跳转到目录


http://chatgpt.dhexx.cn/article/w2rWVvOO.shtml

相关文章

Rasa使用指南02

转载请注明出处,原文地址 Rasa使用指南01 前言 最近工作很忙,重心也一直在模型方面,例如BERT、GPT-2等等,对于Rasa系列的博文实在是没有时间更新。最近有不停的收到一些小伙伴发来的信息,希望能看到Rasa使用指南02&…

rasa - http api测试

rasa - http api测试 rasa run --enable-api --cors "*" 仅解析意图 请求地址:localhost:5005/model/parse 命令行 curl -X POST localhost:5005/model/parse -d ‘{“text”: “hello”}’ 代码示例 import json import requestsurl "http://…

rasa 介绍文档

重磅推荐专栏: 《Transformers自然语言处理系列教程》 手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用! 1. Rasa介绍 1.1 架构 Rasa Open Source: NLU (理解语义) Core (决定对话中每一步执行的actions)Rasa SDK: Action …

Rasa 问答

开发一个智能对话系统用什么工具? Rasa是Conversational AI在智能业务对话领域工程落地全球最为成功对话机器人系统,是基于Transformer架构的全球使用最广泛的智能业务对话机器人框架,是NLP技术的集大成者。在当今全球范围各项对比指标综合成…

Rasa Core开发指南

文章目录 1. Rasa Core简介1.1 Rasa Core消息处理流程1.2 安装Rasa Core 2. Dialogue模型训练2.1 Story样本数据2.2 Domain2.2.0 intents2.2.1 actions2.2.2 templates2.2.3 entities2.2.4 slots 3 .训练和使用对话模型3.1 训练对话模型3.2 使用对话模型 4. 搭建CustomActions服…

Rasa使用指南01

转载请注明出处,原文地址: https://terrifyzhao.github.io/2018/09/17/Rasa%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%9701.html Rasa使用指南02 前言 本文内容基于Rasa官网文档,做了翻译与整理,并添加一些自己的理解,方便…

Rasa安装

下载 Rasa https://download.csdn.net/download/Da___Vinci/12404001 Rasa-x https://download.csdn.net/download/Da___Vinci/12403992 安装 找个位置存放,cd到那个目录执行安装,注意你的pip版本,我的是3.7,如果装了多个pyhon&#xf…

RASA介绍

引言 自然语言是人类表达情感、观念的主要工具和人类思维的重要载体,而最常见的自然语言应用场景则是对话。人们希望通过自然语言控制机器,甚至实现机器与人类的对话与交流。使用自然语言作为输入输出的媒介,会使用户获得更自然友好的人机交互…

关于Rasa你必须要知道的几件事

关于Rasa你必须要知道的几件事 1、为什么选择Rasa 2、Understanding the Rasa NLU Pipeline 3、Components in Rasa 4、DIET in Rasa 5、Dialogue Management in Rasa 2.0 6、TED Policy in Rasa 本文从一个high-level的角度对使用Rasa构建聊天助手的整个过程进行了总结&#x…

Rasa系列教程(一) -- 系统及各组件介绍

目录 前言 一、传统对话机器人架构 二、对话系统流程 2.1 ASR语音识别 2.2 NLU自然语言理解 2.3 DM对话管理 2.4 NLG自然语言生成 2.5 TTS语音合成 三、Rasa组件介绍 3.1 Rasa简介 3.2 Rasa安装 3.3 Rasa项目基本流程 3.4 Rasa常用命令 3.4 Rasa常用命令 ​​​​…

数据治理-数据标准

问题导读1.为什么要做数据标准管理?2.生产变更的标准管理主要解决了哪些问题?3.变更通知谁(影响范围)?4.业务元数据的标准管理主要解决了哪些问题? 一、为什么要做数据标准管理 数据治理的问题并不仅仅只…

数据治理效果差?掌握正确治理方法,解决企业数据问题

数字化时代,数据已经成为构建现代化社会的重要元素,也深深扎根于商业世界,成为无数企业经营管理中悉心培养的”明珠“。 然而,这些宝贵的数据是需要有人来照料、培养的,如果企业没有完善的数据治理方案,就…

数据治理要点

目录 数据治理-ods治理前言-确定表主键数据治理-行政区划数据治理-字段拆分数据治理-必去的脏数据数据治理-全角转半角 已经在公司待了有一段时间了,自己也亲身接触和实践了一些项目,最近发现自己一直没有进步,想了想或许是自己一直没有反思总…

数据治理

数据治理(DataGovernance),是企业数据治理部门发起并推行的,关于如何制定和实施针对整个企业内部数据的商业应用和技术管理的一系列政策和流程。 数据治理是一套持续改善管理机制,通常包括了数据架构组织、数据模型、政策及体系制定、技术工…

主数据治理项目前期调研

随着企业的不断发展进步,业务部门的需求不断增加,企业逐渐上了很多应用系统以及硬件设备,如OA办公协同系统、ERP企业资源管理系统、HR人力资源管理系统、CRM客户关系管理系统等,也在业务发展中沉淀了大量数据,但是这些…

通俗理解数据治理之主数据

1)如需数据治理-元数据材料可前往(狗头.gif) https://download.csdn.net/download/u010763324/87589200https://download.csdn.net/download/u010763324/875892002)如需数据治理-主数据材料可前往(狗头.gif&#xff0…

数据治理概述

一、 首先认识一些名词 在学习数据治理知识之前,首先要明白治理的对象都有哪些,什么才是数据?是1,2,3,4这种纯数字类型的才算数据吗?还是所有的文本数据都是数据? 请往下看。 1.1…

数据治理:数据治理框架和标准

参考《一本书讲透数据治理》、《数据治理》等 数据治理并不是新概念,在国内外都有实践,这里重点介绍下国内外对数据治理的主流框架和标准 国际数据治理框架 国际上,主流的数据治理框架主要有:ISO数据治理标准、GDI数据治理框架、…

数据治理项目经验分享

绝大多数互联网公司没时间建模、治理,直接拖宽表。业务变更频繁、建模缺位、指标爆炸,是导致互联网大数据环境中数据质量的低下的根本原因。 而在部委、集团中,时间相对充裕一些,标准更规范一些,但是同样面临部委和省…

谈谈数据治理

数据治理的本质是组织对数据的可用性、完整性和安全性的整体管理。 1.数据治理的本质 可用性指数据可用、可信且有质量保证,不会因为分析结果的准确性造成偏差,从业者可以放心地根据数据结果做业务决策;完整性分为两个方面,一方面…