[NLG]Do Neural Dialog Systems Use the Conversation History Effectively? An Empirical Study?

article/2025/9/26 5:42:07

摘要:

       为了发现对话历史是否真的被有效的利用了,本文介绍了10种干扰来评测对话历史是否真正被利用。发现transformer-seq2seq 和rnn seq2seq并没有很好地利用这些信息

主要工作:

  首先有一个前提:如果模型对于对话历史的改变不敏感的话,那么他基本上没有利用多少对话历史。

  在之前的工作中已经发现:

  • 1.lstm的作用范围只被周围的大约150个词所影响
  • 2.无论是生成摘要还是机器翻译,生成并没有利用好前面所携带的信息
  • 3.rnn长距离依赖要比transformer好,transformer适用于词义消歧

本文要测试transformer,rnn,以及是否加attention对于对话历史的利用

实验:

其中x1,x2,...xn是对话历史,如果是A,B两个人对话的话,相当于A的所有话,yi表示B之前说的话,现在要利用A说的所有话和B在第i句之前的所有话来预测第i句的概率。通过这个loss函数来优化。

扰动类型分别对于句子和词语有:1.随机打乱句子顺序  2. 将对话翻转顺序  3.随机删掉某些句子   4.保留最近的K个句子

实验结果:

结论:

  • 在大多数情况下模型在困惑度上只有很小的改变,甚至当改变非常明显时也变化不大,这意味着模型使用的信息只是提供给他们的信息中很少一部分。
  • transformer 对词序的变化不敏感,这意味着他们能学习词袋表示
  • 注意力机制的使用使得模型使用更多的来自于对话早期的信息(当只使用一句话时困惑度增加的非常剧烈)
  • 尽管 transformer 模型收敛更快且有着更低的困惑度,但是他们似乎不能捕捉到对话历史中的动态变化且对扰动不是很敏感

一句话总结:

用一系列实验证明了,当前的模型对于dialogue history的利用并不多。可以利用这些实验作为对NLG生成的一个eval。

 

 


http://chatgpt.dhexx.cn/article/a0AFly8T.shtml

相关文章

2019年,这8款自动语音识别方案你应该了解!

2019年,这8款自动语音识别方案你应该了解! 原创: AI前线小组 译 AI前线 1周前 作者 | Derrick Mwiti翻译 | 核子可乐编辑 | Linda AI 前线导读: 基于计算机的人类语音识别与处理能力,被统称为语音识别。目前&#xff0…

一、快速搭建ABP Vnext开发环境

关于Abp Vnext框架基础知识,官方文档已有很详细的阐述。此系列文章皆以实例为主,关键地方会包含博主个人的见解,所有的文章皆为原创,并且附带源码。 顺便说一下,我的所有示例均使用angular作为前端,数据库采…

“type“: “security_exception“,“reason“: “unable to authenticate user [] for REST req

在使用postman给el发送请求时报下图的错,意思是没有权限认证,一般通过账号和密码进行认证 在authorization里面选中basic auth,然后在右侧填入账号密码即可(一般初始账号是elastic)

引入swagger,访问swagger-ui.html报404

swagger访问404 原因&#xff1a;引入3.0.0的配置和2.x.x的配置不同 2.x.x的xml配置&#xff1a; <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></depende…

无线通信安全作业1-无线通信安全最新消息

随着苹果发布会的到来&#xff0c;我在网上最近找到了一篇《苹果无线生态系统安全性指南》的文章。 文章原作者Milan Stute&#xff0c;Alexander Heinrich&#xff0c;Jannik Lorenz&#xff0c;Matthias Hollick&#xff0c;文章来源&#xff1a;usenix.org 原文地址&#xf…

[MySQL] 基本的SELECT语句

文章目录 资料1. 查询常量计算2. 查询语句的基本语法2.1 查询全部字段2.2 查询指定字段 3. 列的别名4. 去除重复行5. 空值参与运算6. 着重号7. 查询常数8. 显示表结构9. 过滤数据10. 基本的SELECT语句练习【题目】【答案】 资料 根据【MySQL数据库教程天花板&#xff0c;mysql安…

数据结构总结+搬运

C语言与数据结构小总结&#xff0c;自我总结各处收集来的他人的总结&#xff08;很多记不清了&#xff0c;若有侵权请联系我删&#xff01; 一、常用C语言小总结 1&#xff09;数据类型、运算符与表达式 逗号运算符优先级最低&#xff0c;左操作数为先运算&#xff0c;但这是…

19c pdb克隆单机到rac,日志出现:WARNING报警处理

打开pdb后&#xff0c;警告日志出现 Violations: Type: 2, Count: 1 *************************************************************** WARNING: Pluggable Database PDB3 with pdb id - 3 is altered with errors or warnings. Please look into PDB_PLUG_IN_VIOLATIONS vie…

当工作空间下无法进行source时如何处理

当工作空间下无法进行source时&#xff0c;如下 这时是由于~/.bashrc文件下环境变量过多导致 有以下原因导致 多次进行 echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc 即会导致出现环境变量混乱 这时只需在主文件夹下 按 Ctrl …

如何破解HIT的孤岛效应,一起关于患者主索引的案例分享

从一个虚构的故事说起 故事是这样的&#xff0c;当时我们正在讨论安全架构&#xff0c;传来轻轻的敲门声&#xff0c;伴随着小刘有些胆怯的声音&#xff1a;“主任&#xff0c;这个警官找您”。小刘是我们新来的同事&#xff0c;做事很踏实&#xff0c;就是一说话就脸红。我抬…

Redis之key命令

文章目录 Redis之key命令1.keys pattern2.type3.del4.pexpireat5.rename6.persist7.ttl8.expire9.exists10.renamenx11.expireat12.pttl13.dump14.randomkey15.flushdb16.move17.pexpire18.renamex19.flushall Redis之key命令 注&#xff1a;本文是基于Ubuntu 20.04.3系统上Re…

redis根据前缀删除key

对于redis的批量删除指定key&#xff0c;有没有好的方法 redis可以用flushdb/flushall删除所有的key。用del只能根据key去删除。另外一种方式,你可以通过设置过期时间让key到期自动删除。 本回答由提问者推荐 对于redis的批量删除指定key&#xff0c;有没有好的方法 获取所有Ke…

Redis清除Key(Docker)

文章目录 查看镜像进入容器进入redis-cli身份验证查看Key清除所有key删除指定key 查看镜像 docker ps进入容器 docker exec -i -t shopxx-b2b2c-redis /bin/bash进入redis-cli redis-cli身份验证 auth "shopxx"shopxx是Redis的密码 注意使用英文双引号包裹 查看…

删除指定redis的key

1.首先进入redis 服务器 2. 在命令行输入 redis-cli -p 6379 get key 获取key 值 如出现 (error) NOAUTH Authentication required 则需要输入redis 帐号密码&#xff0c;如图 3.输入你要查找的key值&#xff0c;如出现 &#xff08;nil&#xff09;表示没有&#xff1b; 4.…

php redis删除所有key,php redis批量删除key的方法

php redis删除key的方法&#xff1a;首先使用scan命令增量迭代的方式遍历出以【XX】为前缀的key&#xff1b;然后通过unlink函数删除指定的key即可。 php redis批量删除key 摘要 使用scan命令增量迭代的方式遍历出以XX为前缀的key&#xff0c;然后删除 简介 在实际开发中&#…

redis删除指定key

redis删除指定key 1.打开redis目录并打开redis-cli.exe 如果直接输入get key会出现以下问题&#xff0c;表示需要认证&#xff0c;也就是需要登录用户 使用auth password登录即可 然后使用get key获取键的值 确认后&#xff0c;使用del key删除键中的值&#xff0c;可多个…

【Redis】批量删除Key的三种方式

Redis 中有删除单个 Key 的指令 del&#xff0c;但好像没有批量删除 Key 的指令&#xff0c;不过我们可以借助 Linux的 xargs 指令来完成这个动作 1.使用命令行批量删除redis的key 语法 ./redis-cli -h IP -p PORT -a PASSWORD -n NUM keys key* | xargs ./redis-cli -h IP…

redis删除key命令

如何批量删除redis中keys 在linux中批量操作redis中的keys的方法&#xff1a; 1.统计个数&#xff1a; redis中名称含有OMP_OFFLINE的key的个数&#xff1b; src/redis-clikeys"*OMP_OFFLINE*"|wc-l 2.批量删除 批量删除0号数据库中名称含有OMP_OFFLINE的key&#xf…

当做一件事,坚持到第二十年——Open-SkyEye强势回归!

1.故事起源 这个故事要从2002年的冬天说起。彼时北方的天气已经有些冷冽&#xff0c;一群操作系统爱好者正热切地在网络上讨论时下热门技术话题&#xff1a;如何脱离硬件限制来学习和研究操作系统的原理&#xff0c;用“软件模拟硬件”的奇妙想法随之诞生。这群技术爱好者中就…

基于SkyEye的覆盖率测试

目录 01.覆盖率测试概念 02.覆盖率测试方法 03.嵌入式软件覆盖率测试原理 04.SkyEye的重大突破 01.覆盖率测试概念 覆盖率测试是一种白盒测试手段&#xff0c;通常会在软件测试的早期阶段进行,也就是单元测试过程中。覆盖率测试这种测试方式需要对测试代码本身进行访问同时…