【机器学习】Rasa NLU以及Rasa Core概念和语法简介(超详细必看)
觉得有帮助请点赞关注收藏~~~
一、Rasa简介
Rasa是一个开源机器学习框架,可以用于构建基于文本和语音的对话驱动型自动化智能客服助手,能够克服传统客服的部分缺陷,在Windows操作系统环境下,可以使用pip install rasa完成安装,它主要包含以下两个主要模块
Rasa框架
(1)自然语言理解 (Rasa Natural Language Understanding:Rasa NLU):主要功能是实现用户意图识别、实体提取和参数优化等。例如,将用户输入的无结构化信息转换为有序的结构化信息,Rasa支持本地部署,并支持包括英语和汉语等在内的多种语言
(2)对话管理(Rasa Core):Core模块的主要功能为预测,因此可以针对未知场景提供适当的响应。
二、Rasa NLU详解
Rasa NLU模块的主要功能包括用户意图理解,实体提取和参数优化等等,Rasa使用意图概念作为用户消息分类的基本准则,可以将用户输入信息分成单数意图或者复数意图,可以从空白开始训练,也支持预加载训练模型,针对中文等不以空格分隔文本的场景,可以使用结巴分词进行数据预处理。
Rasa NLU需要解决包括数据质量 超范畴词语以及近意图混淆区分等问题 下面介绍Rasa相关基本概念和基本要素
(1)意图(intent)
训练数据是创建Rasa智能客服的重要基础步骤,Rasa基于用户意图(intent)关键字进行分类,相同意图内部通过关键字examples加以区分,意图通常由对话的动词部分组成。
实例: - intent: name_query
examples: | - Please show me your first name and last name. - What is your full name in Chinese?
(2)实体(Entities)
实体是可以从用户消息中提取出来的结构化、规则性信息,实体注解语法表达格式如下,还可以在实体参数后面加上其他参数如角色信息(role)、组信息(group)和 值信息(value)。 [<entity-text>]{"entity": "<entity name>"}
实例: - intent: ask_preference examples: | - what is your favorite [product]{"entity": "preference"} - which one do you like the best among [the list of products]{"entity": "preference"}
(3)同义词(Synonyms)
同义词将提取出来的信息映射到其他相近的表达。
实例: - synonym: disease examples: | - sickness - illness
(4)正则表达式(Regular Expressions)
正则表达式可以用来过滤和匹配信息,实现信息分类、信息检索和实体提取的目的。
实例: - regex: account_info examples: | - [a-zA-Z0-9]
(5)故事(Stories)
故事是用户和智能客服之间的对话信息,用以训练用户与客服程序之间的对话模型,并且自动扩展应用到未知的对话场景以便生成正确的响应。故事由名字(story)、概要信息(metadata,可选项)和步骤(steps)组成。其中步骤可以包括用户消息(user message)、动作(action)、表格(form)以及检查点(checkpoint)等组成。
实例: stories: - story: basics_query metadata: identification: id_card
(6)用户消息(user message)
用户消息由必选关键字intent指定,也可以通过可选关键字entities指定。
实例: stories: - story: story_info steps: - intent: intent_list entities: - entity: entity_list - action: action_list
(7)动作(Actions)
动作包括特定响应动作(responses)和自定义动作(Custom actions),前者由客服程序自动返回特定信息给用户,而后者的信息响应偏重随机性。
实例: stories: - story: story_response steps: - intent: response #特定响应动作 - action: utter_response #定制动作 - action: action_response
(8)规则(Rules)
规则是一种用于训练对话管理模型的训练数据,符合规则的内容遵循相同匹配路径。
实例: rules: - rule: Transfer request to the department if the user requests confirmation
steps: - intent: confirm - action: utter_confirm
(9)域(Domain)
域信息在域文件YAML中定义,域定义 意图、实体、响应和动作等信息
intents: - greeting - query entities: - name responses: utter_greet: -
text: "Nice to meet you!" utter_default: - text: "How are you."
(10)策略(policy)
策略一般在配置文件中设置,Rasa配置文件为yml格式,其定义组件和策略(policy)等信息,当用户输入消息时,客服程序基于配置信息进行对应的预测,其中策略(policy)决定对话的每一步中所采取的动作。
实例: policies: - name: execution_policy - name: epolicy
epochs: 50
(11)管道(pipeline)
管道中可以配置语言信息或者模型信息。 实例:配置模型支持英语
pipeline: - name: "lang_model" #
加载英语模型 model: "en_core_web_md"
三、Rasa Core简介
Rasa Core 概述 Rasa Core是Rasa的对话管理模块,主要任务是更新对话状态和响应动作选择,然后对用户的输入提供反馈结果。Rasa Core具备预测能力,根据模型的训练结果,可以针对未知对话场景选择响应,因此Core功能的质量高低,决定了智能机器人的水平。
创作不易 觉得有帮助请点赞关注收藏~~~
【机器学习】Rasa NLU以及Rasa Core概念和语法简介(超详细必看)相关推荐
- Python机器学习实战教学——基于协同过滤的电影推荐系统(超详细教学,算法分析)
注重版权,转载请注明原作者和原文链接 作者:Yuan-Programmer 结尾处有效果展示 文章目录 引言 一.技术原理 (一)推荐算法介绍 (二)主流距离计算法 (三)余弦距离计算法 二.数据介绍 ...
- YAML第一章 基本概念及语法
YAML第一章 基本概念及语法 简介 本文对YAML的基本概念及语法进行了详细的分析,尤其是对YAML的语法进行了详细的阐述,旨在希望通过本文能对YAML有一个基本的了解,能够书写YAML文档. 声明 ...
- Rasa课程、Rasa培训、Rasa面试系列之 Rasa幕后英雄系列-机器学习研究员 Johannes
Rasa课程.Rasa培训.Rasa面试系列之 Rasa幕后英雄系列-机器学习研究员 Johannes Mosig 博士 Dialogue Transformers第二作者 在 Rasa,我们的团队正 ...
- 1.Understanding the Rasa NLU Pipeline
在Rasa项目中,NLU管道定义了将非结构化用户消息转换为意图和实体的处理步骤. 它由一系列组件组成,开发人员可以对其进行配置和定制. 本文的目的是解释各个组件在Rasa NLU管道中扮演的角色,并解 ...
- Rasa课程、Rasa培训、Rasa面试系列之: Rasa NLU意图和实体-分词器
Rasa课程.Rasa培训.Rasa面试系列之: Rasa NLU意图和实体-分词器 在Rasa项目中,NLU管道定义了将非结构化用户消息转换为意图和实体的处理步骤.它由一系列组件组成,可以由开发人员 ...
- 章节五:RASA NLU组件介绍--语言模型和分词器
这里写目录标题 一.前言 二.语言模型组件 1.MitieNLP 2.SpacyNLP 三.分词器 1.WhitespaceTokenizer 2.JiebaTokenizer 3.MitieTo ...
- RASA NLU Chi安装
1 RASA NLU简介... 2 2 准备... 2 2.1 环境说明... 2 3 安装... 4 3.1 下载软件... 4 3.2 安装... 4 3.4 安装问题... 5 4 使用... ...
- 用Rasa NLU构建自己的中文NLU系统
代码在 https://github.com/crownpku/rasa_nlu_chi 自然语言理解(NLU)系统是问答系统.聊天机器人等更高级应用的基石.基本的NLU工具,包括实体识别和意图识别两 ...
- 章节六:RASA NLU组件介绍--特征生成器
目录 一.前言 二.特征生成器 MitieFeaturizer SpacyFeaturizer ConveRTFeaturizer LanguageModelFeaturizer RegexFeatu ...
最新文章
- 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
- 参考基因组中的特殊序列
- Kali Linux快速切换root用户
- oracle+字段+virtual,Oracle 11g新特性之--虚拟列(Virtual Column)
- 高盛发布区块链报告:从理论到实践(中文版)
- ARM构架之cache初探
- python PyQt5中文教程☞【第八节】PyQt5控件(II)
- [TJOI2008]彩灯
- StevenBoyd--Convex optimization--1. Introduction
- IntelliJ Idea工作笔记004---IDEA中在Run DashBoard中添加项目
- django 接收ajax请求
- Latex中插入超链接/网址
- 主角把异能开发计算机,高等数学上下
- JAVA,OpenCV简单实现“全能扫描王”的功能
- 如何用MATLAB预测未来人口,使用matlab对将来人口总数进行预测
- (构造+二进制)2020牛客寒假算法基础集训营3B.牛牛的DRB迷宫II
- UE4中使用第三方库Ⅱ
- csdn的markdown编辑器如何保持图片原始大小?
- Django 2.0.6 学习笔记 13.8 xamin excel导入插件
- 大学生计算机适合用苹果笔记本吗,2019学生党笔记本推荐 苹果笔记本适合大学生吗...
热门文章
- 到底有几个鸿蒙OS? 谈谈我眼里的鸿蒙操作系统
- 23_字符串的格式化_format 函数_% 占位符 _ f-string _Template _模板字符等
- 离职前一定要删除这几个文件,不然你的微信聊天记录全被别人看了
- 电源设计中的电容应用实例
- Navicat Premium试用期
- address already in use :::8080,端口号已被占用
- 一文读懂锁相环基本原理
- [渝粤教育] 西南科技大学 中国当代文学 在线考试复习资料
- Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operat
- ipad使用的PDF书籍没有目录怎么办?