【大厂AI课学习笔记】【1.5 AI技术领域】(10)对话系统

对话系统,Dialogue System,也称为会话代理。是一种模拟人类与人交谈的计算机系统,旨在可以与人类形成连贯通顺的对话,通信方式主要有语音/文本/图片,当然也可以手势/触觉等其他方式
一般我们将对话系统,分为两类:
- 任务导向性的对话系统。例如问答系统;
- 非任务导向型的对话系统。例如聊天机器人;
比如在聊天机器人,语音助手,智能客服方面,都有很大的应用。
比较重要的是,基于人工智能的对话系统,可以模拟人格,比如我们让文心一言,作为一个人工智能专家来回答问题。而且可以进行问答的连续性管理,而不是每次都是去问答库中,去搜索。
我们来按照几个重要的维度,梳理下背景知识。
对话系统定义
对话系统,作为自然语言处理(NLP)的一个重要分支,指的是能够与用户通过自然语言进行交互的系统。这类系统能够理解用户的输入,生成相应的回复,并在多轮对话中保持连贯性,从而模拟人类之间的对话过程。对话系统旨在通过自然语言界面提供信息服务或完成任务,是人工智能领域实现人机交互的重要手段。
关键技术
-
自然语言理解(NLU):对话系统的核心任务之一是理解用户的输入。这包括识别用户的意图、提取关键信息、处理同义词和歧义等。自然语言理解技术通常涉及词法分析、句法分析、语义理解等多个层面。
-
对话管理:对话管理负责控制对话的流程。它跟踪对话的状态,决定系统的下一个动作,可能是生成回复、请求额外信息或执行某些任务。对话管理需要处理多轮对话中的上下文连贯性问题。
-
自然语言生成(NLG):系统需要能够将内部表示转换为自然语言回复。这包括选择合适的词汇、构造语法正确的句子以及确保生成的回复与对话的上下文相关。
-
深度学习技术:近年来,深度学习技术在对话系统中发挥了重要作用。循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)以及更先进的Transformer架构等被广泛应用于对话系统的各个组件中,提高了系统的性能。
-
强化学习:强化学习技术用于优化对话策略,使系统能够根据用户的反馈学习如何更有效地进行对话。通过试错学习,系统可以逐渐改进其对话策略。
-
知识图谱与推理:对于涉及大量事实性知识的对话系统,知识图谱和推理技术至关重要。系统需要能够访问和查询知识库,并在对话中运用这些知识来生成准确的回复。
-
多模态交互:随着技术的发展,对话系统不仅限于文本交互,还扩展到语音、图像、视频等多模态交互方式。这需要系统能够处理和理解多种类型的信息输入。
应用场景
-
智能助手:如Siri、Google Assistant和Alexa等,它们能够通过语音或文本与用户交互,执行各种任务,如设置提醒、查询信息、控制智能家居设备等。
-
聊天机器人:在客户服务、在线购物、社交娱乐等领域中,聊天机器人能够与用户进行自然流畅的对话,提供咨询、推荐、娱乐等服务。
-
教育辅导:对话系统可以作为智能教学助手,与学生进行互动,解答疑问,提供个性化的学习辅导。
-
健康护理:在医疗领域,对话系统可以用于提供健康咨询、病症自查、药物提醒等服务,帮助用户管理健康。
-
游戏娱乐:对话系统可以增强游戏的互动性和沉浸感,通过与玩家的对话推动游戏情节的发展。
主流的商业化产品
-
Siri:由苹果公司开发的智能助手,集成在iOS、macOS等苹果产品中,用户可以通过语音与Siri交互,执行各种任务。
-
Google Assistant:谷歌推出的智能助手,广泛应用于Android设备、智能家居产品和智能显示屏上,提供信息查询、日程管理、智能家居控制等功能。
-
Alexa:亚马逊开发的智能语音助手,通过Echo系列智能音箱等设备与用户交互,支持购物、音乐播放、新闻播报等多种功能。
-
Microsoft Cortana:微软推出的个人智能助手,曾集成在Windows操作系统中,提供类似Siri和Google Assistant的功能。
-
小爱同学:由小米公司开发的智能助手,主要服务于小米的智能家居生态链,用户可以通过语音控制小米的各种智能设备。
-
聊天机器人平台:如腾讯的小微、阿里的小蜜等,这些平台提供聊天机器人服务,帮助企业构建自己的客户服务机器人,提高客户服务的效率和满意度。
对于大模型出现后的对话系统来说,Siri这样的对话系统,确实人工智能对话系统的一部分,但并不是大模型。它的实现,是另外一种技术路线。
对话系统的分类及进一步定义、区别和关键技术等
对话系统可以根据其应用场景和目标进一步分类为任务导向型(Task-oriented)和非任务导向型(Non-task-oriented)两类。
任务导向型对话系统
定义:任务导向型对话系统旨在通过对话帮助用户完成特定任务,如查询信息、预订机票或酒店等。这类系统通常具有明确的目标和受限的对话领域。
关键技术:
- 意图识别:准确识别用户的意图是任务导向型对话系统的关键。系统需要理解用户的输入并映射到预定义的意图类别上。
- 槽位填充:槽位是完成任务所需的关键信息单元。系统需要从用户输入中提取这些信息并填充到相应的槽位中。
- 对话状态跟踪:系统需要跟踪对话的状态,包括已收集的信息和待完成的操作,以确保对话的连贯性和任务的顺利完成。
- 基于模板或生成式的回复:系统根据用户的输入和当前对话状态生成相应的回复,这可以是基于预定义模板的填充式回复,也可以是更灵活的生成式回复。
实现路径:任务导向型对话系统通常通过构建领域特定的对话模型来实现。这包括定义意图和槽位、收集标注数据、训练意图识别和槽位填充模型以及构建对话管理模块等步骤。近年来,基于深度学习的端到端对话模型也逐渐成为研究热点,它们能够直接从对话历史中学习并生成回复。
非任务导向型对话系统(聊天机器人)
定义:非任务导向型对话系统,又称聊天机器人,旨在与用户进行开放域的闲聊对话。这类系统没有特定的任务目标,而是注重与用户建立积极的互动关系和提供娱乐价值。
关键技术:
- 话题管理:聊天机器人需要能够识别和跟踪对话中的话题,以便在对话中保持连贯性和吸引力。
- 情感分析:理解用户的情感对于建立积极的互动关系至关重要。聊天机器人需要能够分析用户的输入并作出相应的情感回应。
- 生成式回复模型:由于闲聊对话的多样性和开放性,聊天机器人需要采用更灵活的生成式回复模型来产生丰富多样的回复。
- 个性化与用户建模:为了提高用户体验,聊天机器人还需要能够根据用户的个性和偏好进行定制化的回复和交互。
实现路径:非任务导向型对话系统的实现通常依赖于大规模语料库和先进的深度学习技术。通过训练深度神经网络模型(如Transformer架构),系统可以学习从对话历史中生成自然流畅的回复。此外,引入外部知识源(如知识图谱或互联网资源)也可以增强聊天机器人的知识储备和对话能力。同时,为了提供个性化的交互体验,系统还可以利用用户画像和推荐算法等技术来理解和满足用户的个性化需求。
相关文章:
【大厂AI课学习笔记】【1.5 AI技术领域】(10)对话系统
对话系统,Dialogue System,也称为会话代理。是一种模拟人类与人交谈的计算机系统,旨在可以与人类形成连贯通顺的对话,通信方式主要有语音/文本/图片,当然也可以手势/触觉等其他方式 一般我们将对话系统,分…...
【ARM 嵌入式 编译系列 2.7 -- GCC 编译优化参数详细介绍】
请阅读【嵌入式开发学习必备专栏 】 文章目录 GCC 编译优化概述常用优化等级-O1 打开的优化选项-O2 打开的优化选项-O3 打开的优化选项-Os 打开的优化选项优化技术使用优化选项的注意事项GCC 编译优化概述 GCC(GNU Compiler Collection)包含了用于C、C++、Objective-C、Fort…...
《剑指 Offer》专项突破版 - 面试题 38、39 和 40 : 通过三道面试题详解单调栈(C++ 实现)
目录 面试题 38 : 每日温度 面试题 39 : 直方图最大矩形面积 方法一、暴力求解 方法二、递归求解 方法三、单调栈法 面试题 40 : 矩阵中的最大矩形 面试题 38 : 每日温度 题目: 输入一个数组,它的每个数字是某天的温度。请计算每天需要等几天才会…...
动态规划C语言
#include <stdio.h> #include <stdlib.h> //0-1背包问题是一种经典的组合优化问题, //问题描述为:有一个给定容量的背包和一组具有不同价值和重量的物品,如何选择物品放入背包中,以使得背包中物品的总价值最大化&…...
基于微信小程序的校园二手交易平台
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
K8S系列文章之 [使用 Alpine 搭建 k3s]
官方文档:K3s - 轻量级 Kubernetes | K3s 官方描述,可运行在 systemd 或者 openrc 环境上,那就往精简方向走,使用 alpine 做系统。与 RHEL、Debian 的区别,主要在防火墙侧;其他基础配置需求类似࿰…...
计算机视觉 | OpenCV 实现手势虚拟控制亮度和音量
Hi,大家好,我是半亩花海。在当今科技飞速发展的时代,我们身边充斥着各种智能设备,然而,如何更便捷地与这些设备进行交互却是一个不断被探索的课题。本文将主要介绍一个基于 OpenCV 的手势识别项目,通过手势…...
python28-Python的运算符之三目运算符
Python可通过if语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的f语句的语法格式如下 True_statements if expression else False_statements 三目运算符的规则是:先对逻辑表达式expression求值,如果逻辑表达式…...
高德 API 10009
问题 笔者使用高德地图所提供的API接口,访问接口报错 {"info":"USERKEY_PLAT_NOMATCH","infocode":"10009","status":"0","sec_code_debug":"d41d8cd98f00b204e9800998ecf8427e"…...
Go 语言中如何大小端字节序?int 转 byte 是如何进行的?
嗨,大家好!我是波罗学。 本文是系列文章 Go 技巧第十五篇,系列文章查看:Go 语言技巧。 我们先看这样一个问题:“Go 语言中,将 byte 转换为 int 时是否涉及字节序(endianness)&#x…...
论文阅读——MP-Former
MP-Former: Mask-Piloted Transformer for Image Segmentation https://arxiv.org/abs/2303.07336 mask2former问题是:相邻层得到的掩码不连续,差别很大 denoising training非常有效地稳定训练时期之间的二分匹配。去噪训练的关键思想是将带噪声的GT坐标…...
JPEG图像的压缩标准(1)
分3个博客详细介绍JPEG图像的压缩标准,包含压缩和解压缩流程,熵编码过程和文件存储格式。 一、JPEG压缩标准概述 JPEG压缩标准由国际标准化组织 (International Organization for Standardization, ISO) 制订,用于静态图像压缩。JPEG标准包…...
数解 transformer 之 self attention transformer 公式整理
句子长度为n;比如2048,或1024,即,一句话最多可以是1024个单词。 1, 位置编码 可知,E是由n个列向量组成的矩阵,每个列向量表示该列号的位置编码向量。 2, 输入向量 加入本句话第一个单词的词嵌入向量是, 第…...
ubuntu22.04@laptop OpenCV Get Started
ubuntu22.04laptop OpenCV Get Started 1. 源由2. 步骤3. 预期&展望4. 参考资料 1. 源由 OpenCV在学校的时候接触过,不过当时专注在物理、研究方面,没有好好的学习下。 这次借后续视频分析刚性需求,对OpenCV做个入门的学习和研读&#…...
【Java】苍穹外卖 Day01
苍穹外卖-day01 课程内容 软件开发整体介绍苍穹外卖项目介绍开发环境搭建导入接口文档Swagger 项目整体效果展示: 管理端-外卖商家使用用户端-点餐用户使用当我们完成该项目的学习,可以培养以下能力: 1. 软件开发整体介绍 作为一名软件开…...
Ivanti Pulse Connect Secure VPN SSRF(CVE-2023-46805)漏洞
免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…...
GPT-4:比ChatGPT3.5好得多,但它有多好你知道么?
GPT-4简介 GPT-4是一款由OpenAI开发的人工智能语言模型,它是ChatGPT3.5的升级版。GPT-4拥有更强大的学习能力、更高的生成质量和更广泛的知识覆盖范围,被誉为人工智能技术的重要突破。 GPT-4与ChatGPT3.5的对比 1. 学习能力 GPT-4采用了更多的神经网…...
测试:JMeter如何获取非json格式的响应参数
JMeter如何获取非json格式的响应参数 在 JMeter 中获取非 JSON 格式的响应参数通常涉及使用后置处理器来提取这些参数。以下是一些常见的方法来获取不同类型的响应数据: 正则表达式提取器: 适用于提取文本、HTML、XML 等格式中的特定文本。使用正则表达…...
2024年刘谦魔术大揭秘,其中竟用到了约瑟夫环?
目录 前言 魔术过程 揭秘过程 结尾 前言 不知道昨天春晚时刘谦的魔术大家看了没有,相信大家跟我一样也很疑惑,所以爆肝一天我得出了结论。如果你觉得还不错的话,记得点赞收藏,分享给更多的朋友看。 魔术过程 整个魔术可以分…...
openssl3.2 - update debian12‘s default openssl to openssl3.2
文章目录 openssl3.2 - update debian12s default openssl to openssl3.2概述笔记回到debian12自带的openssl版本从源码编译安装最新版的openssl配置ssl访问END openssl3.2 - update debian12’s default openssl to openssl3.2 概述 在debian12虚拟机中编译了openssl3.2(ope…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
