【机器学习】Rasa NLU以及Rasa Core概念和语法简介(超详细必看)

简介: 【机器学习】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功能的质量高低,决定了智能机器人的水平。

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
70 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
6月前
|
机器学习/深度学习 算法 TensorFlow
机器学习算法简介:从线性回归到深度学习
【5月更文挑战第30天】本文概述了6种基本机器学习算法:线性回归、逻辑回归、决策树、支持向量机、随机森林和深度学习。通过Python示例代码展示了如何使用Scikit-learn、statsmodels、TensorFlow库进行实现。这些算法在不同场景下各有优势,如线性回归处理连续值,逻辑回归用于二分类,决策树适用于规则提取,支持向量机最大化类别间隔,随机森林集成多个决策树提升性能,而深度学习利用神经网络解决复杂模式识别问题。理解并选择合适算法对提升模型效果至关重要。
249 4
|
1月前
|
机器学习/深度学习 传感器 算法
机器学习入门(一):机器学习分类 | 监督学习 强化学习概念
机器学习入门(一):机器学习分类 | 监督学习 强化学习概念
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习、深度学习、强化学习和迁移学习简介、相互对比、区别与联系。
机器学习、深度学习、强化学习和迁移学习都是人工智能领域的子领域,它们之间有一定的联系和区别。下面分别对这四个概念进行解析,并给出相互对比、区别与联系以及应用场景案例分析。
87 1
|
3月前
|
机器学习/深度学习 人工智能 算法
机器学习简介
机器学习简介
42 3
|
3月前
|
机器学习/深度学习 算法
【机器学习】解释对偶的概念及SVM中的对偶算法?(面试回答)
解释了对偶的概念,指出对偶性在优化问题中的重要性,尤其是在强对偶性成立时可以提供主问题的最优下界,并且详细阐述了支持向量机(SVM)中对偶算法的应用,包括如何将原始的最大间隔优化问题转换为对偶问题来求解。
86 2
|
3月前
|
机器学习/深度学习
【机器学习】准确率、精确率、召回率、误报率、漏报率概念及公式
机器学习评估指标中的准确率、精确率、召回率、误报率和漏报率等概念,并给出了这些指标的计算公式。
624 0
|
3月前
|
SQL 机器学习/深度学习 开发工具
【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)
【机器学习 Azure Machine Learning】Azure Machine Learning 访问SQL Server 无法写入问题 (使用微软Python AML Core SDK)
|
3月前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】凸集、凸函数、凸优化、凸优化问题、非凸优化问题概念详解
本文解释了凸集、凸函数、凸优化以及非凸优化的概念,并探讨了它们在机器学习中的应用,包括如何将非凸问题转化为凸问题的方法和技术。
251 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之深度学习算法概念
深度学习算法是一类基于人工神经网络的机器学习方法,其核心思想是通过多层次的非线性变换,从数据中学习表示层次特征,从而实现对复杂模式的建模和学习。深度学习算法在图像识别、语音识别、自然语言处理等领域取得了巨大的成功,成为人工智能领域的重要技术之一。
90 3

热门文章

最新文章

下一篇
无影云桌面