当前位置: 首页 > news >正文

对话系统学习概述(仅够参考)

对话系统(仅够参考)

目录

  • 对话系统(仅够参考)
    • 背景
    • 类人对话系统的关键特征
      • 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 篇 今天好好写一篇哈,之前写的半死不活的。首先说明:这篇博文是我边做边写的,小白也是,实现效果会同时发布截图,如果没有实现也会说明,仅仅作为技术积累,选择性分享&#xff0…...

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序列容器是提供一组线性储存的容器,而容器适配器负责将它们按照数据结构的方式组织起来,关联容器提供关键字与值之间…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了&#xff0c;很多小伙伴想体验鸿蒙电脑版操作系统&#xff0c;可惜&#xff0c;鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机&#xff0c;来体验大家心心念念的鸿蒙系统啦&#xff01;注意&#xff1a;虚拟…...