EmpDG: Multi-resolution Interactive Empathetic Dialogue Generation论文笔记

本文主要是介绍EmpDG: Multi-resolution Interactive Empathetic Dialogue Generation论文笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一,先看问题
  • 二,再看评价
  • 三,方法
    • (一)整体架构
    • (二)特征表示及处理
    • (三)Improved WGAN
  • 四,实验的结果
  • 五,总结

一,先看问题

这是我读的第一篇跟generation有关的论文。读这篇的原因是,在GitHub上我直接使用关键词Empathetic dialogue搜索,开源代码排序靠前的是这篇,coling 2020上的paper。翻译下标题:EmpDG:多分辨率交互式共情对话生成。不确定Multi-resolution是否是专有术语。

​ paper解决的问题属于chitchat,人机闲聊型对话,重点关注机器的response带有共情色彩,具体输入输出如下:

对话1 情绪标签:hopeful:
输入:My husband lost a job but I am hoping he can find a full time job soon. (我的丈夫丢了工作,但我很希望他能很快找到一份全职工作)

机器输出:I am sorry to hear that. I hope he gets better.(听到这个消息我很难过。我希望他好起来。)

标准答案:He will, I have faith. (他会的,我有信心。)

对话2:情绪标签:grateful

输入: I joined a fifirm 6 months ago and then I got a promotion for junior manager.(我6个月前加入了一家公司,然后我得到了一个初级经理的晋升。)

​ Congratulations. That sounds like the fast track.(祝贺这听起来像是快车道。)

​ Yes, they thought that I have some extraordinary talent and that is the reason I got that position.(是的,他们认为我有非凡的天赋,这就是我得到那个职位的原因。)

机器输出:Wow, that is amazing. I am sure they do great.(哇,太棒了。我相信他们做得很好。)

标准答案:Cool. Maybe next year you will be a partner! (也许明年你会成为合伙人!)

​ 论文使用ACL 2019的论文Towards Empathetic Open-domain Conversation Models: a New Benchmark and Dataset发布的数据集Empathetic dialogue dataset。本论文的问题就是在这个数据集上训练一个chatbot,使机器生成的response尽可能接近标准答案。

二,再看评价

评价指标的数值高低决定论文能不能投,我们先看评价指标。评价指标分成两类,自动评估和人类评估。

自动评估指标有BLEU、METEOR、ROUGE,这三个指标都不合适。

自动评估指标还有perplexity和distinct-1、distinct-2

人类评估指雇用3个标注者,对生成的response从三个方面进行打分,分数范围1-5,1最差,5最好,3中等。三个方面分别是 Empathy (共情性)、 Relevance(相关性一致性)、 Fluency(流畅性)。

三,方法

(一)整体架构

方法框架基于WGAN进行设计。generator是基于transformer设计的encoder-decoder。discriminator是使用的Wasserstein-1 distance。架构图如下:
在这里插入图片描述

(二)特征表示及处理

先看左侧生成器,生成器下方是encoder,上方是decoder。encoder输入的特征有两项,分别是蓝色的semantic understanding和粉色multi-resolution emotion perception。semantic understanding指对话的上下文组成的单词序列,用预训练好的glove词向量表示。multi-resolution emotion指使用 the NRC Emotion Lexicons (NRC) (Mohammad and Turney, 2013) 把对话上下文中的情感词专门挑出组成了一个额外的序列,也用glove词向量表示。两者拼接。经过linear layer判断是什么情绪标签,之后情绪标签参与后续decoder过程。

​ 再看右侧鉴别器,也按左侧类似操作,将蓝色semantic和粉色emotion分开,训练两个鉴别器。并在每个鉴别器中加入feedback特征。feedback也是本文的卖点之一,假如某个gold对话共有4个语句,一问一答一问一答,输入是刚开始的两句一问一答,机器输出第三句,第四句作为feedback参与到鉴别器的训练中,这能为整个模型提供额外的特征。

​ 鉴别器先使用LSTM对输入的序列进行特征处理,之后每个隐层挑出,再使用CNN对特征继续处理,最后做分类。gold是正类,generated response是负类。

(三)Improved WGAN

鉴别器输入gold分类分数最大,输入generated response分类分数最小,目的就是鉴别什么是真的,什么是生成的。

​ 生成器希望generated response能骗过鉴别器,即generated response输入给鉴别器时,希望鉴别器输出的分数变大,使generated response逼近gold。

​ 我们先看鉴别器的损失函数,注意鉴别器的目的,输入gold分类分数最大,输入generated response分类分数最小:
在这里插入图片描述
整个公式是加了惩罚项的improved WGAN。其中,红色框住的是1-Lipschitz函数指非常平滑的函数,鉴别器函数越平滑,越能促进生成的分布逐步逼近gold的分布,如果不平滑参数可能没法更新导致没法训练。1-Lipschitz函数等价于gradient norm等于1的函数。计算所有样本的gradient norm并使之等于1很难,于是使用公式(18)在正样本和负样本之间的连线上进行采样,如果样本的gradient norm不等于1,损失就会增加。

​ 蓝框框住的是鉴别器对负样本打的分数,分数越小越好,如果分数变大,损失就会增加。

​ 绿框框住的是鉴别器对正样本打的分数,分数越大越好,如果分数变小,损失就会增加。
在这里插入图片描述
鉴别器训练好后,会把损失黄框框住内容加到生成器损失后面。训练生成器的过程中,希望生成器的损失慢慢变小,也就会促使generated response输入到鉴别器时鉴别器输出的分数慢慢变大,这样生成的样本越来越好。

四,实验的结果

贴两张图在这
在这里插入图片描述
这张图能更清晰的观察到EmpDG的输入都是什么。和三之(二)特征表示及处理对应。其中MoEL是其中一个baseline,该baseline没有额外的emotional context特征输入,也没有feedback的操作。
在这里插入图片描述
表5中的EmpDG为本文的结果,和其他baseline比从人类的角度看,似乎也并没有什么特别,比如和baseline中的EmoPrepend-1的结果进行比较。

五,总结

总结,本文对我最大的帮助是促使我学习了GAN、WGAN、Improved WGAN,整个WGAN在本文中的描述只有10行,但我却花了一天看了六集李宏毅的视频才想明白,信息量大。

这篇关于EmpDG: Multi-resolution Interactive Empathetic Dialogue Generation论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/617979

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个