泰安公司做网站/软文网站平台
Rasa NLU部分主要是解决NER(序列建模)和意图识别(分类建模)这2个任务。Rasa NLP是一个基于DAG的通用框架,图中的顶点即组件。组件特征包括有顺序关系、可相互替换、可互斥和可同时使用。有向无环图(DAG)在很多地方都有用到,比如Spark中等。虽然问答系统类型很多,比如闲聊问答、文档问答、知识库问答、知识图谱问答、任务型问答等,但在实际场景中任务型多轮问答最实用。通过构建任务引导型人机辅助系统,在沟通前/沟通中/沟通后全链路,实时通过语音的识别、意图的检测、话术&解决方案的推荐等,辅助销售在多渠道与商家沟通提效、提高任务完成率。
一.典型Rasa NLU组件
一个典型的Rasa NLP管道包含各类组件,如下所示:
1.语言模型组件
为了加载模型文件,为后续的组件提供框架支持,如初始化spaCy和BERT。
2.分词组件
将文本分割成词,为后续的高级NLP任务提供基础数据。
3.特征提取组件
提取词语序列的文本特征,可以同时使用多个特征提取组件。
4.NER组件
根据前面提供的特征对文本进行命名实体的识别。
5.意图分类组件
按照语义对文本进行意图的分类,也称意图识别组件。
6.结构化输出组件
将预测结果整理成结构化数据并输出。这一部分功能不是以组件的形式提供的,而是流水线内建的功能,开发者不可见。
二.语言模型组件
主要是加载预训练的词向量模型或预训练模型,如下所示:
1.SpacyNLP
该组件所需的模型需要提前下载到本地,否则会出错。
2.MitieNLP
需要有预先训练好的模型。
3.预训练Tokenizer
model_tokenizer_dict: Dict[Text, Type[PreTrainedTokenizer]] = {"bert": BertTokenizer,"gpt": OpenAIGPTTokenizer,"gpt2": GPT2Tokenizer,"xlnet": XLNetTokenizer,# "xlm": XLMTokenizer,"distilbert": DistilBertTokenizer,"roberta": RobertaTokenizer,"camembert": CamembertTokenizer,
}
三.分词组件
1.jieba_tokenizer.py
这个分词器是Jieba的一个包装器(https://github.com/fxsjy/jieba)。
2.mitie_tokenizer.py
使用MitieNLP库对消息进行Tokenizer。
3.spacy_tokenizer.py
使用SpaCy库对消息进行Tokenizer。
4.whitespace_tokenizer.py
为实体提取创建特征。
四.特征提取组件
1.稀疏特征
SparseFeaturizer所有稀疏特征featurizers的基类。稀疏特征如下所示:
(1)count_vectors_featurizer.py
基于sklearn的CountVectorizer创建一系列token计数特征。所有仅由数字组成的token(例如123和99但不是ab12d)将由单个特征表示。将analyzer设置为char_wb使用了Subword Semantic Hashing的思想(https://arxiv.org/abs/1810.07150)。
(2)lexical_syntactic_featurizer.py
提取和编码词汇句法特征。给定一系列tokens,该特征提取器会生成一系列特征,其中第t个特征编码第t个token及其周围token的词汇和句法信息。
(3)regex_featurizer.py
基于正则表达式的消息特征。
2.稠密特征
DenseFeaturizer所有稠密特征featurizers的基类。稠密特征如下所示:
(1)convert_featurizer.py
使用ConveRT模型的Featurizer。从TFHub加载ConveRT(https://github.com/PolyAI-LDN/polyai-models#convert)模型,并为每个消息对象的密集可特征属性计算句子和序列级特征表示。
(2)lm_featurizer.py
基于transformer的语言模型的featurizer。这个组件从transformers库中加载预训练的语言模型,包括BERT、GPT、GPT-2、xlnet、distilbert和roberta。它还对每个消息的可特征化的密集属性进行tokenizes和featurizes。
(3)spacy_featurizer.py
使用SpaCy对消息进行特征化。
(4)mitie_featurizer.py
使用Mitie对消息进行特征化。
五.NER组件
1.crf_entity_extractor.py
实现条件随机场(CRF)来进行命名实体识别。
2.duckling_entity_extractor.py
使用duckling服务器搜索结构化实体,例如日期。
3.mitie_entity_extractor.py
一个Mitie实体提取器(它是Dlib-ml
的薄包装器)。
4.regex_entity_extractor.py
通过在训练数据中定义的查找表和正则表达式提取实体。
5.spacy_entity_extractor.py
使用SpaCy进行实体提取器。
六.意图分类组件
1.diet_classifier.py
用于意图分类和实体提取的多任务模型。DIET是双意图和实体Transformer。该架构基于Transformer,该Transformer用于两个任务。通过在与输入token序列对应的transformer输出序列上方的条件随机场(CRF)标记层预测实体标签序列。用于__CLS__
token和意图标签的transformer输出被嵌入到单个语义向量空间中。使用点积损失来最大化与目标标签的相似性,并最小化与负样本的相似性。
2.fallback_classifier.py
处理NLU置信度低的传入消息。
3.keyword_intent_classifier.py
使用简单的关键字匹配的意图分类器。分类器将关键字列表和关联的意图作为输入。输入句子将检查关键字并返回意图。
4.logistic_regression_classifier.py
使用逻辑回归的意图分类器。
5.mitie_intent_classifier.py
意图分类器使用mitie库。
6.sklearn_intent_classifier.py
使用sklearn框架的意图分类器。
除此之外,Rasa提供DIETClassifier组件,基于Rasa自行研发的DIET(Dual Intent Entity Transformer)技术,实现用户实体和意图的联合建模;对于FQA等简单的QA问题,只需要使用NLU部分就可以轻松完成,因此Rasa提供了回复选择器(ResponseSelector)组件。
个人认为LLM基本上解决了NLU和NLG的绝大部分问题,但是DM部分的表现还很邋遢。后续尝试将Rasa+LangChain+LLM+NebulaGraph技术进行融合来构建任务型多轮对话系统。对话管理(Dialog Management,DM)是指根据对话历史状态决定当前的动作或对用户的反应。DM模块是人机对话流程的控制中心,在多轮对话的任务型对话系统中有着重要的应用。DM模块的首要任务是负责管理整个对话的流程。通过对上下文的维护和解析,DM模块要决定用户提供的意图是否明确,以及实体槽的信息是否足够,以进行数据库查询或开始执行相应的任务。
当DM模块认为用户提供的信息不全或模棱两可时,就要维护一个多轮对话的语境,不断引导式地询问用户以得到更多的信息,或者提供不同的可能选项让用户选择。DM模块要存储和维护当前对话的状态、用户的历史行为、系统的历史行为、知识库中的可能结果等。当DM模块认为已经清楚得到了全部需要的信息后,就会将用户的查询变成相应的数据库查询语句去知识库(如知识图谱)中查询相应资料,或者实现和完成相应的任务(如购物下单,或者类似Siri拨打朋友的电话,或者类似智能家居去拉起窗帘等)。
因此,在新的研究中,将DM模块的状态建模成一个序列标注的监督学习问题,甚至用强化学习(reinforcement learning)加入一个用户模拟器来将DM模块训练成一个深度学习的模型。
参考文献:
[1]《Rasa实战》
相关文章:

Rasa NLU中的组件
Rasa NLU部分主要是解决NER(序列建模)和意图识别(分类建模)这2个任务。Rasa NLP是一个基于DAG的通用框架,图中的顶点即组件。组件特征包括有顺序关系、可相互替换、可互斥和可同时使用。有向无环图(DAG&…...

redis笔记 三 redis持久化
文章目录 Redis持久化RDB持久化执行时机RDB原理小结 AOF持久化AOF原理AOF配置AOF文件重写 RDB与AOF对比 Redis持久化 redis持久化是为了解决redis宕机时丢失数据的问题,Redis有两种持久化方案: RDB持久化AOF持久化 RDB持久化 RDB全称Redis Database …...

k8s-----数据存储
目录 一、数据存储的概念 二、基本存储 1、EmptyDir存储卷 2、hostPath存储卷 3、nfs共享存储卷 三、高级存储 1、PV(持久化卷) 2、PVC(持久化卷声明) 3、静态PV实验 4、动态PV实验 4.1 在stor01节点上安装nfs…...

macOS电池续航工具:Endurance中文
Endurance for Mac是一款强大而实用的电池管理和优化软件,专为MacBook设计。通过智能调整系统设置和管理后台应用,它能有效延长电池续航时间,提升工作和娱乐效率,成为你在各种场合下的得力助手。 Endurance for Mac软件的功能特色…...

栈(定义,基本操作,顺序存储,链式存储)
目录 1.栈的定义1.重要术语2.特点 2.栈的基本操作3.栈的顺序存储1.顺序栈的定义2.基本操作1.初始化2.进栈3.出栈4.读栈顶 3.共享栈 4.栈的链式存储 1.栈的定义 栈( Stack)是只允许在一端进行插入或删除操作的线性表。 一种受限的线性表,只能在栈顶进行插…...

在HTML单页面中,使用Bootstrap框架的多选框如何提交数据
1.引入Bootstrap CSS和JavaScript文件:确保在HTML页面的标签内引入Bootstrap的CSS和JavaScript文件。可以使用CDN链接或者下载本地文件。 <link rel"stylesheet" href"https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css&q…...

当爱好变成职业,会不会就失去了兴趣?
当爱好变成职业,会不会就失去了兴趣? 当兴趣变成职业 1、学习能力变强了,积极主动性增加了。 2、学习努力变现了,赚到的更钱多了。 3、赚钱能力变强了,反过来再次促使兴趣发展(兴趣更大了....干劲更足了&…...

3-知识补充-MVC框架
3-知识补充-MVC框架 文章目录 3-知识补充-MVC框架MVC概述M、V、C各自负责功能及常用包MVC框架图非前后端分离框架图前后端分离框架图 MVC概述 MVC(Model、View、Controller)是软件工程中的一种**软件架构模式,它把软件系统分为模型、视图和控…...

leetcode:141. 环形链表
一、题目 函数原型: bool hasCycle(struct ListNode *head) 二、算法 判断不是环形链表,只需遍历链表找到空结点即可。 判断是环形链表,由于链表是环形的,遍历不会永远不会结束。所以要设置快慢指针,慢指针一次走一步&…...

了解企业邮箱的外观和功能特点
企业邮箱是什么样子的?企业邮箱不是单一产品,而是由一系列电子邮件服务组成的生态系统。这些服务包括但不限于邮件服务器、客户端、安全解决方案等。这些服务共同构成了企业邮箱的基础设施。 在外观上,企业邮箱和个人邮箱没有太大区别。用户通…...

配置阿里云镜像加速器 -docker
1.百度aliyun 2.找到镜像服务ACR 3.搞一个个人版,身份验证一下就行了很简单 4.找到镜像加速器Centos 5.执行下面4条命令:4条命令直接从上面操作文档中粘贴,不容易出错 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<…...

11 抽象向量空间
抽象向量空间 向量是什么函数什么是线性推论向量空间 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 向量是什么 可以是一个箭头,可以是一组实数,即一个坐标对。 箭头在高维(4维,甚至更高)空间&…...

干洗店洗鞋店管理系统app小程序;
干洗店洗鞋店管理系统是一款专业的洗衣店管理软件,集成了前台收费收银系统、会员卡管理系统和财务报表系统等强大功能。界面简洁优美,操作直观简单。这款系统为干洗店和洗衣店提供了成本分析、利润分析、洗衣流程管理等诸多实用功能,用全新的…...

NOIP2023模拟13联测34 总结
NOIP2023模拟13联测34 总结 文章目录 NOIP2023模拟13联测34 总结比赛过程题目A. origen题目大意思路 B.competition题目大意思路 C. tour题目大意 D.abstract题目大意 比赛过程 看了一下题,感觉就 T 2 T2 T2 有一点思路。 T 1 T1 T1 先打一个 30 30 30 分暴力&am…...

Python武器库开发-常用模块之subprocess模块(十九)
常用模块之subprocess模块(十九) subprocess模块介绍 subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。subprocess 它可以用来调用第三方工具(例如:exe、另一个python文件、命令行工具…...

java验证 Map 的 key、value 是否可以为空
1、验证示例代码 Map<String, Object> maps new HashMap<>();maps.put("a", "1");maps.put(null, null);maps.put("c", null);System.out.println("maps " maps);Object o maps.get(null);System.out.println("o…...

编写MBR主引导记录
BIOS 检测,初始化硬件。挑一些重要的,能保证计算机能运行那些硬件的基本IO操作。 唤醒BIOS 唤醒BIOS需要知道其入口地址,在最后将跳转到0x7c00处 接电的一瞬间,cs:ip寄存器被初始化为0xF000:0xFFF0,所以等效地址是0…...

从零开始搭建React+TypeScript+webpack开发环境-自定义配置化的模拟服务器
技术栈 我们将使用Node.js和Express.js作为我们的后端框架,以及Node.js的文件系统(fs)模块来操作文件和文件夹。此外,我们将使用Node.js的require和delete require.cache来加载和更新模拟数据。 项目结构 首先,让我们定义一个简单的项目结…...

python 之字典的相关知识
文章目录 字典的基本特点:1. 定义2. 键唯一性3. 可变性4. 键的类型 基本操作:字典的创建1. 花括号 {}2. dict() 构造函数3. 键值对的 dict() 构造函数使用 zip() 函数创建字典:注意事项访问字典中的值修改和添加键值对删除键值对 字典方法&am…...

上下游系统对接的沟通与协作
在工作中,有时会有对接其他部门系统的需求,这种需求虽然不复杂,但是跨部门协作,往往会出现各种难以沟通、协调的情况。 踩的坑多了,就记录下来。 注意:在本文中,A系统调用B系统,A依…...

pytest 的使用===谨记
发现用例的规则 a) 文件test_.py开头和_test.py结尾 b) Test开头的类中test开头的方法(测试类不能带有__init__方法) c) 模块中test开头的函数(可以不在class中) 注意点: pytest是以方法为单位发现用例的,你…...

Qt 4.8.6 的下载与安装
Qt 4.8.6 的下载与安装 Qt 4.8.6 的下载与安装下载并解压 MinGW 4.8.2Qt4.8.6 库的安装Qt Creator 3.3.0 的安装配置 Qt Creator测试 官方博客:https://www.yafeilinux.com/ Qt开源社区:https://www.qter.org/ Qt 4.8.6 的下载与安装 学习《Qt Creato…...

图形推理 | 判断推理
文章目录 一、位置规律二、样式规律三、属性规律四、数量规律 一、位置规律 平移 方向:直线(上下、左右、斜对角线)、绕圈(顺逆时针)常见步数:恒定、递增(等差) 旋转 方向ÿ…...

npm的使用
package.json 快速生成package.json npm init -y “version”: “~1.1.0” 格式为:「主版本号. 次版本号. 修订号」。 修改主版本号是做了大的功能性的改动 修改次版本号是新增了新功能 修改修订号就是修复了一些bug dependencies "dependencies": {&…...

Web服务器实战
网站需求 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个网站目录分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student 网站访问学生信息,www.openlab.com/data网站访问教学资料 www…...

2021年电工杯数学建模B题光伏建筑一体化板块指数发展趋势分析及预测求解全过程论文及程序
2021年电工杯数学建模 B题 光伏建筑一体化板块指数发展趋势分析及预测 原题再现: 国家《第十四个五年规划和 2035 年远景目标纲要》中提出,将 2030 年实现“碳达峰”与 2060 年实现“碳中和”作为我国应对全球气候变暖的一个重要远景目标。光伏建筑一体…...

pandas教程:Essential Functionality 索引 过滤 映射 排序
文章目录 5.2 Essential Functionality(主要功能)1 Reindexing(重新索引)2 Dropping Entries from an Axis (按轴删除记录)3 Indexing, Selection, and Filtering(索引,选择,过滤)Selection with loc and i…...

pyspark连接mysql数据库报错
使用pyspark连接mysql数据库代码如下 spark_conf SparkConf().setAppName("MyApp").setMaster("local")spark SparkSession.builder.config(confspark_conf).getOrCreate()url "jdbc:mysql://localhost:3306/test?useUnicodetrue&characterE…...

HK WEB3 MONTH Polkadot Hong Kong 火热报名中!
HK Web3 Month 11月除了香港金融科技周外,HK Web3 Month又是一大盛事,从10月29日开始开幕直到11月18日结束。此次将齐聚世界各地的Web3产业从业者、开发者、社群成员和学生来参与本次盛会。除外,超过75位产业知名的讲者与超过50场工作坊将为…...

“第六十三天”
这两天怎么做的这么别扭,为什么我的vs 的strlen函数包括终止字符了; 哦哦,明白了,fgets函数读取在未达到指定字长,或者遇见空白符之前,会读取前面的所有字符,所以会读取换行符,而get…...