【大模型和智能问答系统】

大模型和智能问答系统

  • 大模型前的智能问答系统
    • 传统管道式架构存在的问题
  • 大模型在任务型问答系统中应用
    • NLU应用
    • DM如何使用大模型
    • NLG应用

大模型前的智能问答系统

大模型统一代指以ChatGPT为代表的,参数量相比以前模型有明显量级变化的生成模型。

智能问答系统,按照应用可以划分任务型非任务型
目前智能对话落地较多的为任务型智能对话。而任务型智能对话的一个最基本的要求就是准!!!而目前大模型经常会出现看似正确的错误,这种错误不可控且难以修正。
任务型问答系统,按照技术实现方式可以划分为,管道式(pipeline)端到端(end-to-end)

任务型问答系统,多基于管道式方案进行。
如:Rasa的 NLU+Core模块,对应管道架构中的自然语言理解(NLU)+对话管理(DM);
科大讯飞的AIUI平台,需要对意图和槽位进行设置;
思必驰的整体交互逻辑,也把NLU和DM进行了区分。

管道式问答系统的具体架构如下图:
管道式问答系统
ASR:将音频识别成文本;
NLU:识别文本的意图和槽位信息,供系统决策使用;
DST:追踪和存储历史的对话状态,供决策使用;
DPL:基于历史信息(意图/槽位/系统回复),做决策;
NLG:生成回复文本;
TTS:将文本转化为语音;

传统管道式架构存在的问题

1.NLU基于上下文的理解:多数意图识别是基于本轮文本进行识别。但存在部分需要基于上轮文本进行识别的情况,如:
一轮:今天天气怎么样?
二轮:明天呐?
二轮是基于一轮的省略。
还有那种仅参考本轮为意图A,参考上轮信息为意图B的情况。

2.对话管理模块(DM),一直没有找到成熟的解决方案。
DM就是存储历史信息,并基于历史和当前轮数信息,决定下一步的动作(action)。这相当于人类的大脑的决策过程。
该模块,从开始的基于规则做特定的逻辑处理,到基于状态机转移,到基于深度学习模型(如rasa的ted模型),一直都不能做到通用和智能。

3.自然语言生成(NLG)本身就是一种生成。 前期通过将回复答案提前预制,通过分类模型选择哪个预制回复的方式,缺乏通用性和智能化。
且*以Bert为代表的自编码式的深度学习模型,其更适合做分类任务。*而想要做好智能问答系统(通用/友好),NLG应该是一种生成模型。

大模型在任务型问答系统中应用

大模型的相关应用,也是当下探索的热点。下面也是本人的一点理解,勿喷

大模型辅助任务型问答系统
大模型在传统智能问答系统的基础上,辅助解决一些具体问题,我认为是现在切实可行的落地方案。而通过大模型完全替代现在的传统方案,是一个可以探索的方向,但该方案的落地,还存在很多的问题。
上图为大模型在智能问答系统中的一些应用点。

NLU应用

在NLU中,通过前置数据预处理模块,将用户的问题处理成系统可以解析的数据。其中,基于上下文的语义理解,可以将用户的上文信息和本文信息通过大模型重新生成一句完整的信息。该方案中,大模型扮演的角色为,通过上文文本和本文文本,重新生成一句完成的文本。执行的任务相对单一,因此在提示词设计时,可以有很强的针对性。
但生成新文本的任务,对于Bert为代表的分类模型来讲,确实很难做到;

2.根据实际业务情况,前处理可以包含冗余句过滤,长难句处理等一系列问题。在处理原来句子生成新句子的各项任务中, 大模型先天比分类模型具有更好的效果。

DM如何使用大模型

对话管理本质就是在利用历史信息和当前信息进行决策。决策的过程是整合各种历史信息,而决策的结果为生成一个对应动作。最早方案通过规则 状态机把信息分解分析,然后通过分类得到最终结果,将结果和实际的动作做映射。该方案在处理历史信息时,定制性比较强,不同的业务需要写不同的逻辑处理。而通过深度学习模型的方案,如rasa 提出的TED模型,其分类的结果相对于规则较低。
目前的大模型,其Token数量从几千到几万,对于短距离的上下文问答,已经可以做到很好的支持。对于长距离的问答,可以把历史信息,通过文件的形式存储下俩,在用户出现新问题时,通过将新问题和历史信息文件做embedding相似度检索,找到最相似的一段历史信息,将该历史信息添加到提示词中。
而针对不同的答案来源,可以按照不同的方式使用大模型。
如果回复信息,需要从数据库中查找,可用通过使用大模型的text2sql能力。
回复信息在文本中检索,在需要利用大模型的文本检索embedding方案。
回复为具体动作时,则需要使用大模型的函数调用能力。
针对不同的资源,目前有很多的解决方案,但用大模型做对话决策,如何保证结果的准确率? 当出现错误时,如何修正?

NLG应用

NLG–自然语言生成。从字面上理解,该模块就是在做生成任务。
大模型做NLG的方向可以从两个方面入手。第一,直接用大模型生成对应回复文本。第二,按照传统方式生成回复文本后,通过大模型二次加工润色,生成不同的回复风格。
第一种方案的最大问题还是不可控。
第二种方案,可以作为提升整个系统智能化的小功能点,但不解决最关键的问题。

#大模型智能问答系统
langchain架构,如果将agent引擎使用大模型,基本上就是大模型智能对话的架构了,个人理解,后续有时间补充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148118.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

初识Java 12-2 流

目录 中间操作 跟踪与调试 对流元素进行排序 移除元素 将函数应用于每个流元素 在应用map()期间组合流 Optional类型 便捷函数 创建Optional Optional对象上的操作 由Optional组成的流 本笔记参考自: 《On Java 中文版》 中间操作 ||| 中间操作&#xf…

Linux使用之xshell、xftp保姆教学(含安装包,详细使用方法,连接失败解决方法)

前言 链接: FTP,SSH服务器介绍 这是我之前写的一篇博客,其中介绍了Ubuntu操作系统的一些常用命令以及服务器介绍,这篇文章就向大家详细介绍如何安装及应用这些服务器,我以xshell、xftp为例。 安装包,使用方法&#xf…

华为云服务器内网vpc对等连接及微服务内网集群搭建处理

最近需要举办一场活动,某个业务访问量上升,有一定并发场景,为了活动能够顺利举行,解决方案就是将业务进行分布式,分布式部署到不同服务器,平摊用户请求,微服务使用的是SpringCloud Alibabanacos…

阿里云OSS图片存储

阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995 % 的服务可用性。多种存储类型供选择,全面优化存储成本。 视频介绍 创建bucket 开发文档 上传文件demo &#x…

树的存储结构以及树,二叉树,森林之间的转换

目录 1.双亲表示法 2.孩子链表 3.孩子兄弟表示法 4.树与二叉树的转换 (1)树转换为二叉树 (2)二叉树转换成树 5.二叉树与森林的转化 (1)森林转换为二叉树 以下树为例 1.双亲表示法 双亲表示法定义了…

Ai4science学习、教育和更多

11 学习、教育和更多 人工智能的进步为加速科学发现、推动创新和解决各个领域的复杂问题提供了巨大的希望。然而,要充分利用人工智能为科学研究带来的潜力,我们需要面对教育、人才培养和公众参与方面的新挑战。在本节中,我们首先收集了关于每…

Go-Ldap-Admin | openLDAP 同步钉钉、企业微信、飞书组织架构实践和部分小坑

目录 一、Docker-compose快速拉起demo测试环境 二、原生部署流程 安装MySQL:5.7数据库 安装openLDAP 修改域名,新增con.ldif 创建一个组织 安装OpenResty 下载后端 下载前端 部署后端 部署前端 三、管理动态字段 钉钉 企业微信 飞书 四、…

Unity自用工具:基于种子与地块概率的开放世界2D地图生成

public class BuildingGen : MonoBehaviour {public int[] Building;//存储要生成的地块代码public int[] Probability;//存储概率public double seed;public int width 100;public int height 100;public float noiseScale 0.1f; //噪声缩放倍数private int[,] frequencyM…

InnoDB索引机制

导学:索引什么时候失效?为什么类型转换索引会失效?不满足最左匹配原则? 我们都知道,MySQL它主要有2大模快组成,第一块就是我们的MySQL服务,里面包含了像连接管理、解析器、预处理、优化器、执行…

网络安全:个人信息保护,企业信息安全,国家网络安全的重要性

在当前的数字化时代,无论是个人,企业,还是国家,都会面临严重的网络安全威胁。网络安全不仅涉及我们的日常生活,也涉及到社会的稳定和国家的安全。这就需要我们高度重视网络安全,强化个人信息保护&#xff0…

【算法|动态规划No.7】leetcode300. 最长递增子序列

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

云原生微服务 第六章 Spring Cloud Netflix Eureka集成远程调用、负载均衡组件OpenFeign

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 文章目录 系列文章目录前言1、OpenFeign的实现…

Vue项目搭建图文详解教程

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 预备工作 请在本地创建文件夹用于存放Vue项目,例如:创建HelloWorld文件夹存放即将创建的Vue新项目。 创建Vue项目 首先,请在DOS中将目录…

【生命周期】

生命周期 1 引出生命周期2 分析生命周期3 总结生命周期 1 引出生命周期 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta …

windows WSL配置cuda,pytorch和jupyter notebook

机器配置 GPU: NVIDIA Quadro K2000 与 NVIDIA 驱动程序捆绑的CUDA版本 但按照维基百科的描述&#xff0c;我的GPU对应的compute capability3.0&#xff0c;允许安装的CUDA最高只支持10.2&#xff0c;如下所示。 为什么本地会显示11.4呢&#xff1f;对此&#xff0c;GPT是这…

【数据结构与算法】- 数组

数组 1.1 数组的定义1.2 数组的创建1.3 数组在内存中的情况2.1 初始化数组2.2 插入元素2.3 删除元素2.4 读取元素2.5 遍历数组 1.1 数组的定义 数组中的是在内存中是连续存储的&#xff0c;内存是由一个个内存单元组成的&#xff0c;每一个内存单元都有自己的地址&#xff0c;…

SpringBoot中使用Servlet和Filter

为什么要把Servlet和Filter写在一起,因为使用方式很相似 两种方式 第一种,使用Servlet和Filter 使用Servlet 继承HttpServlet 注册Servlet 使用Filter 1.自定义过滤器 2.注册过滤器 这里注意一点 使用/**无效 至少我这2.4.5版本是这样 过滤所有请求用/* 那么其实还有…

嵌入式Linux应用开发-驱动大全-第一章同步与互斥①

嵌入式Linux应用开发-驱动大全-第一章同步与互斥① 第一章 同步与互斥①1.1 内联汇编1.1.1 C语言实现加法1.1.2 使用汇编函数实现加法1.1.3 内联汇编语法1.1.4 编写内联汇编实现加法1.1.5 earlyclobber的例子 1.2 同步与互斥的失败例子1.2.1 失败例子11.2.2 失败例子21.2.3 失败…

高層建築設計和建造:從避難層到設備間和防風防火防水的設計理念,酒店住宅辦公樓都有什麽房間(精簡)

樓層概覽 標準層居住、辦公、商業等功能的樓層。結構和裝修與其他樓層相同&#xff0c;可供人正常居住、工作和活動避難層專門用於人員避難的樓層&#xff0c;通常會相隔數十個標準層&#xff0c;樓梯通常和標準層是錯開的(非公用)&#xff0c;具有更多的通風口。牆體和樓板具…

嵌入式Linux应用开发-驱动大全-第一章同步与互斥②

嵌入式Linux应用开发-驱动大全-第一章同步与互斥② 第一章 同步与互斥②1.3 原子操作的实现原理与使用1.3.1 原子变量的内核操作函数1.3.2 原子变量的内核实现1.3.2.1 ATOMIC_OP在 UP系统中的实现1.3.2.2 ATOMIC_OP在 SMP系统中的实现 1.3.3 原子变量使用案例1.3.4 原子位介绍1…