对话系统学习概述(仅够参考)
对话系统(仅够参考)
目录
- 对话系统(仅够参考)
- 背景
- 类人对话系统的关键特征
- 1、知识运用
- 2、个性体现
- 3、情感识别与表达
- 数据集
- 评价方式
- 评价的一些指标
- 训练模型需要的资源
- 任务型对话系统预训练最新研究进展
- 参考文献
背景
对话系统一般包括领域内(任务型)对话(比如订票,订餐等)和开放领域对话。前者主要是靠识别特定的意图+反复确认来实现,整体来说难度不高,而后者实现起来相对来说较为困难,目前也较为不成熟。之前一些开发领域对话的解决方案如微软的小冰都是一套很复杂的架构,但是随着最近几年预训练模型取得的成功,对话系统领域也开始探索端到端的实现方式,尤其在2019,2020,2021这三年涌现出了很多相关研究。比如2020年1月份google发表的Meena、4月份Facebook的Blender以及百度PLATO系列包括PLATO、PLATO-2、PLATO-XL等等,前两篇分别发表在ACL2020和ACL-IJCNLP2021,PLATO-XL则是今年9月在arxiv上预印,目前效果比较好的就是百度的PLATO-XL系列。 这里做一个简单的总结:
更多的对话Bot可以看https://zhuanlan.zhihu.com/p/428694878
类人对话系统的关键特征
类人对话系统应同时具备情商和智商,能在多领域多场景综合运用多技能,来满足用户的信息需求和社交需求。在智商方面,能够帮助用户完成任务、信息获取、推荐等;在情商方面,能够理解情感情绪,表达共情,实现情感陪伴、情绪疏导等社交类任务。因此,我们可以从满足信息需求能力、满足社交需求的能力这两个维度去衡量对话系统的类人水平,这主要体现在以下三个关键特征:
1、有知识,言之有物:实现一定程度的理解,并运用知识生成高质量的回复。
2、有个性,拟人化:要求机器体现固定、一致的个性和风格,具有固定的人设和个性。
3、有情感,有温度:具备情绪感知、情感支持和心理疏导的能力,从而让聊天过程更有温度,满足用户的情感需求。
然而,当前的对话系统在理解力、拟人化和与人互动方面面临着巨大的挑战,距离人类水平的对话互动能力还相去甚远。比如任务导向型对话系统具有很强的任务完成能力,但是社交能力比较低;而对于开放域对话系统来讲,它的主要目标是社交,任务完成能力相对较弱。为了提高对话系统的信息处理和社交连接能力,需要综合考虑不同系统的技术实现思路并进行融合。
比如,借鉴任务型对话系统的实体识别、意图理解、语义分析以及填槽等技术,以提高对话系统的理解力;对于开放域对话系统,我们注重其弱语义处理的能力,包括利用数据驱动的方法、端到端的系统框架,以及如何充分利用当前的深度学习模型以及大规模语言模型。
因此,在构建下一代类人对话系统时,我们应综合考虑任务型和开放域对话系统的技术方法,从知识运用、个性体现、情感识别与表达三个层次入手,综合运用多种技能,提高对话系统的理解力、拟人化和互动性,使其在多种场景和领域中实现更接近于人类的对话能力,以满足用户的需求。
1、知识运用
在知识运用层面,通过引入知识,来加强对话系统的理解力和推理能力。在下图所示的对话中,讨论的是一个关于歌手汪峰的主题 。在这样的对话过程中,系统将对话内容对应到一个特定的知识领域,从而使对话过程言之有物。在进行会话时,将相关的实体与知识图谱进行了联系,然后将结构知识表达为向量,实现了知识的编码与解码。通过这样的编码和解码处理,可以达到某种程度的理解,让回答变得更有说服力,增加了对话过程中产生的信息量。
2、个性体现
高质量的对话活动需要赢得对方的信任,而具有固定、一致的个性、身份是其中的关键因素。具有固定一致个性的对话交互技术,在情感陪护、心理咨询等对话场景中有着非常重要的应用。在对话的过程中缺乏一致的身份和个性,会使得系统在对话的过程中难以取得用户的信任,因此难以进行有效的社交互动。
围绕类人对话系统的个性体现,以 Emohaa 与用户的对话为例:在对话中,Emohaa先是用语言直接地表达了自己的身份(女生)和很可爱的个性,面对客户的反问“为什么觉得自己很可爱”,Emohaa也能够回复“因为可爱,所以可爱”这样的个性化描述,强化自己可爱的特性。
个性体现还涉及到更深层次的说话风格。在说话风格的研究中,我们发现对话可以实现正式与非正式互相之间的转换,以及礼貌和非礼貌之间的转换。但这种用自然语言表达角色和个性通常是微妙和含蓄的,研究也极具挑战。
3、情感识别与表达
1997年,MIT教授Picard提出了情感计算的概念,指出「情感感知和情绪表达是人类智能行为中的重要特征」。情绪感知和情感表达在人类的智能交互里至关重要,这不仅能提高系统表现和用户满意度,还能很大程度上体现系统的情商,避免对话陷入僵局。
清华大学的CoAI课题组在2018年提出了情绪化聊天机器人(Emotional Chatting Machine, ECM)系统,希望能够让对话系统像人类一样表达喜怒哀乐。当指定一个情绪类别时,对话系统能生成对应情绪类别、且适合对话上文的回复内容。
实现情绪化的对话过程,是类人对话系统实现情感智能的一小步。而在日常对话中对他人表达同理心,是情绪有效表达的必要条件之一。它使系统能够理解、感知和适当地回应用户的情况和感受,从而很大程度地改善用户体验和满意度。因此,如何让对话系统中具备共情能力,是迈向类人对话系统的关键一步。体现共情,通常要求对话系统具备情绪疏导或心理疏导的能力,以完成复杂的情感交流任务。
为此,CoAI课题组借鉴心理咨询的中助人技巧理论,提出了一个三阶段理论模型。第一阶段先确认用户的具体问题,第二阶段通过共情、理解表达支持,第三个阶段为用户提供解决方案、出路。在每一个阶段都设计了相应的策略,如提供信息、直接指导、挑战、解释等。通过这些策略,才能实现有效的情绪疏导和心理疏导。这个技术,正是Emohaa背后最核心的技术,Emohaa学习了人类咨询师的助人技术,能实现一定程度的共情技巧,真正帮人实现情绪支持和心理疏导。
共情是一个广泛的概念,包括情感和认知两个方面。情感方面涉及对用户体验的情感模拟,而认知方面旨在理解用户的处境和隐性的情感。现有的研究方法通常只关注情感方面,即通过检测和利用用户的情感来产生共情的交互。
然而,实现共情,除了识别用户的情绪外,还应该考虑对用户处境的认知。为此,CoAI课题组提出了一种新的共情响应生成方法,即利用常识来加强认知,获取更多关于用户情况的信息,并利用这些额外的信息进一步增强生成响应中的共情表达。
数据集
这里主要介绍一下常用的公开数据集和评价方式以及训练这些模型需要的一个资源。
英文公开数据集:Reddit and Twitter 爬取的数据集。
中文公开数据集:chatterbot,豆瓣多轮,PTT八卦语料,青云语料,电视剧对白语料,贴吧论坛回语料,微博语料,小黄鸡语料。
评价方式
评价的一些指标
训练模型需要的资源
任务型对话系统预训练最新研究进展
近年来,随着预训练模型的发展,对话领域的研究也逐渐开始关注基于预训练的端到端对话系统,2019-2021 这三年的时间涌现出很多关于开放域对话系统预训练的相关研究,基于英文的包括 google 在 2020 年 1 月发表的 Meena、Facebook 在 4 月发表的 Blender,基于中文的主要以百度 PLATO 系列模型为代表。这些模型的成功一定程度上表明海量数据和更大的模型能为对话系统带来很好的性能收益。
然而,这种依靠参数量、数据量来提升系统性能的方式对于任务型对话而言并不完全适用。一方面,任务型对话数据集本身比闲聊型对话更难收集,想要获取一个非常大的数据集来对任务型对话系统进行预训练是非常困难的;另一方面,预训练模型参数过大,训练和运行需要很高的计算成本,会存在无法快速部署的问题。由于以上问题的存在,任务型对话预训练的发展速度明显不如开放域对话,但最近两年也逐渐有一些针对任务型对话进行预训练的相关工作。
主要的工作有:
• 2020EMNLP:TOD-BERT: Pre-trained Natural Language Understanding for Task-Oriented Dialogue [2]
• 2021TACL:Soloist: Building task bots at scale with transfer learning and machine teaching [3]
• 2021arXiv:PPTOD:Multi-Task Pre-Training for Plug-and-Play Task-Oriented Dialogue System(PPTOD)[4]
• 2022AAAI:GALAXY: A Generative Pre-trained Model for Task-Oriented Dialog with Semi-Supervised[5] Learning and Explicit Policy Injection
【待补充。。。。】
参考文献
1、https://mp.weixin.qq.com/s/FeOm2gRoNVt1S4adnBeV7Q
2、https://mp.weixin.qq.com/s/-ZbDqxS7RsS7B__6oKbSHA
3、https://mp.weixin.qq.com/s/b3JSE1o9dr7loafwhEWomA
4、https://mp.weixin.qq.com/s/c11ksniOBG8-Q0fWxNZX6Q
5、https://mp.weixin.qq.com/s/cVT3jt777lL7meJ24-N2GA
相关文章:

对话系统学习概述(仅够参考)
对话系统(仅够参考) 目录对话系统(仅够参考)背景类人对话系统的关键特征1、知识运用2、个性体现3、情感识别与表达数据集评价方式评价的一些指标训练模型需要的资源任务型对话系统预训练最新研究进展参考文献背景 对话系统一般包括…...

免费CRM客户管理系统真的存在吗?不仅有,还有5个!
免费CRM客户管理系统真的存在吗?当然有! 说到CRM客户管理系统,相信很多企业并不陌生,是因为CRM客户管理系统已经成为大多数企业最不可或缺的工具。但是对于很多小微企业和个人用户来说,购买和实施CRM的成本仍然难以承…...
C#开发的OpenRA使用自定义字典的比较函数
C#开发的OpenRA使用自定义字典的比较函数 字典是一个常用的数据结构, 因为它采用键值对的方式来保存数据, 这样非常方便程序里进行数据一对一的映射。 比如通过文件名称查找到文件对象,又者通过socket对象找到缓冲区对象。 由于字典是采用HASH算法,所以它的查找时间是非常快…...

DHCP协议
DHCP协议 文章目录DHCP协议DHCP作用及特点DHCP服务IP分配的三种方式DHCP协议中的报文类型DHCP服务工作流程抓包参考动态主机配置协议 DHCP(Dynamic Host Configuration Protocol),提供了一种 插网即用的技术。DHCP是一个应用层协议。当我们将…...

C语言进阶——自定义类型:枚举、联合
🌇个人主页:_麦麦_ 📚今日名言:如果不去遍历世界,我们就不知道什么是我们精神和情感的寄托,但我们一旦遍历了世界,却发现我们再也无法回到那美好的地方去了。当我们开始寻求,我们就已…...

背景透明(opacity vs background)
最近在做项目的时候,遇到透明度的相关设置。 常用的背景透明设置可分为两种,分别是: 一是给background设置透明度。二是利用opacity属性。 在跳了一些坑之后,本人更推荐给background设置透明度,为什么呢?…...
华为OD机试 - 最小施肥机能效(Python)| 真题+思路+考点+代码+岗位
最小施肥机能效 题目 某农场主管理了一大片果园,fields[i]表示不同果林的面积,单位:( m 2 m^2 m2),现在要为所有的果林施肥且必须在 n 天之内完成,否则影响收成。 小布是果林的工作人员,他每次选择一片果林进行施肥,且一片果林施肥完...

vue2 使用 cesium 篇
vue2 使用 cesium 篇 今天好好写一篇哈,之前写的半死不活的。首先说明:这篇博文是我边做边写的,小白也是,实现效果会同时发布截图,如果没有实现也会说明,仅仅作为技术积累,选择性分享࿰…...
2023预测:PKI将受到企业重点关注
2023年,PKI作为关键业务将继续被主流企业关注,根据Keyfactor发布的报告显示,很多企业正努力实施PKI,而以下因素是影响企业决策的主要原因:1、66% 的企业正在其IT环境中部署更多的密钥和证书,而70%的企业表示…...

linux基本功系列之grep命令
文章目录前言一. grep命令介绍二. 语法格式及常用选项三. 参考案例3.1 搜索文件中以root开头的文件3.2 搜索文件中出现的root3.3 搜索除了匹配行之外的行3.4 匹配的部分使用颜色显示3.5 只输出文件中匹配到的地方3.6 输出包含匹配字符串的行,并显示所在的行数3.7 统…...
硬件设计——DDR
一、DDR简介 (1)DDRDouble Data Rate双倍速率同步动态随机存储器。严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。…...
最近你提前还贷了吗
最近你有想过提前还贷吗?以前,欠别人的是大爷,借别人钱的是孙子。现在好像反过来了呀,想还钱成了孙子。现在,各种银行以各种方式增加你提前还贷的难度。比如第一步,关闭app线上还款入口第二步,需…...
关于STM32常用的8种GPIO输入输出模式的理解
目录 GPIO共有8中输入输出模式,分别是:上拉输入、下拉输入、浮空输入、模拟输入、开漏输出、推挽输出、开漏复用输出、推挽复用输出 ,下面我们详细介绍以下上面的八种输入输出模式。 一、输入模式 (1)上拉输入&#x…...

vue - vue项目中解决 IOS + H5 滑动边界橡皮筋弹性效果
问题: 最近遇到一个问题,我们在企业微信中的 H5 项目中需要用到table表格(支持懒加载 上划加载数据)。但是他们在锁头、锁列的情况下,依旧会出现边界橡皮筋效果。就会显示的很奇怪。 什么是ios橡皮筋效果: 我们知道元素…...

webpack(高级)--创建自己的loader 同步loader 异步loader loader参数校验
webpack 创建自己的loader loader是用于对模块的源代码进行转换(处理) 我们使用过很多loader 比如css-loader style-loader babel-loader 我么如果想要自己创建一个loader 首先创建webpack环境 pnpm add webpack webpack-cli -D 之后创建loader模块…...

Assignment写作各个部分怎么衔接完美?
Assignment格式很简单,就只有四个部分,按着通用的套路来,发现也没什么难度。不过这4个部分自己需要衔接完美,下面就给大家分享一下写Assignment最简单的方法。 如果没有目录可以放在第一页的开头,用“标题字体”加重显…...

医疗器械实验室设计规划全了SICOLAB
一、通用型实验室医疗器械物理性能能检测中,有部分通用型试验,可覆盖不同产品检测,这些实验室需要重点考虑、设计。1、微粒检测室微粒检测室用于医疗器械产品微粒检测,包括微粒、落絮、药液滤除率等项目。微粒检测室要求为洁净室&…...

2023年浙江建筑施工物料提升(建筑特种作业)模拟试题及答案
百分百题库提供特种工(物料提升机)考试试题、特种工(物料提升机)考试预测题、特种工(物料提升机)考试真题、特种工(物料提升机)证考试题库等,提供在线做题刷题,在线模拟考…...

shell编程经典案例,建议收藏
1、编写hello world脚本 #!/bin/bash# 编写hello world脚本echo "Hello World!"2、通过位置变量创建 Linux 系统账户及密码 #!/bin/bash# 通过位置变量创建 Linux 系统账户及密码#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数 useradd "$1" …...
C++通用容器
容器简介1.1 容器的分类序列容器 vector, list, deque容器适配器 queue, stack, priority_queue关联容器 set, map, multiset, multimap序列容器是提供一组线性储存的容器,而容器适配器负责将它们按照数据结构的方式组织起来,关联容器提供关键字与值之间…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...