【论文笔记】Towards an Online Empathetic Chatbot with Emotion Causes

2024-01-20 08:30

本文主要是介绍【论文笔记】Towards an Online Empathetic Chatbot with Emotion Causes,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Towards an Online Empathetic Chatbot with Emotion Causes

在这里插入图片描述

文章目录

  • Towards an Online Empathetic Chatbot with Emotion Causes
    • Abstract
    • Motivation
    • Introduction
    • Dataset:X-EMAC
    • Model
    • Experiments

任务:共情对话生成

会议:SIGIR 2021

原文:论文地址

代码:项目地址

Abstract

针对共情对话生成任务,引入对用户情绪原因的建模,并使用咨询(console)策略,引导用户倾诉更多自身的信息,开发了一个利用因果情绪信息的共情聊天机器人EMMA,并构建了一个标注了情绪原因的源自小爱同学的共情对话数据集。

Motivation

  • 现有的情感感知对话模型通常专注于控制回复内容以与特定的情感类别对齐,而共情是理解和关注他人感受和体验的能力。因此,学习引发用户情感的原因对共情回复生成很关键,即情绪原因。

  • 现有的开放域聊天机器人是通过社交媒体平台的“伪”对话进行训练的,与消息APP和Chatbot这样的私人渠道相比,人们通过社交媒体平台更愿意表达负面情绪。将EmpatheticDialogues数据集中的对话与通过小爱同学收集的真实在线对话日志进行对比。发现在EmpatheticDialogues数据集中,89%的对话以说话者表达他们的情绪原因开始,但只有7%的在线日志包含用户的情绪原因。换句话说,在线用户往往不会主动披露他们的情绪原因,而且如果聊天机器人没有明确询问,他们可能不会透露原因。

Introduction

受心理研究启发,基于用户的情绪原因设计了在线共情聊天机器人EMMA。当对话开始时:

  1. 挖掘用户情感类别,并识别情感诱因,
    • 若没有挖掘到情感诱因,EMMA会通过有效提问积极聆听引导用户主动披露情绪原因;
  2. EMMA基于对话历史、挖掘到的情感类别及情绪原因生成共情回复。

此外,本文从现实世界的在线日志中构建了一个大规模的同理心对话数据集X-EMAC,并手动标注了情绪原因。

Dataset:X-EMAC

本文构建了一个带情绪原因信息的新共情对话数据集XiaoAI Empathetic Conversation (X-EMAC) ,以检验情绪原因对共情回复生成的作用。

Emotion Cause. 将情绪原因定义可以用来检测或推断说话者的情绪的一个文本片段。首先,从小爱同学在线日志中随机抽取大量user queries,并请专家用四种常见的情绪类别对其进行注释:sad, anger, joy,others。这些带注释的queries用于训练情感分类器。

Counseling Strategies. 为了鼓励用户自我披露更多信息,本文聘请心理学家使用积极倾听和有效提问的咨询策略手动编写一组不同的模板。模板是分别针对每个情感类设计的,平均每个类有53个模板。然后,本文在线部署模板,作为对user queries的相应回复,这些queries被划分为特定的情绪类别(sad, anger, joy),并收集下一轮用户对模板的实时回复。根据这三轮对话(在线用户-在线模板-在线用户),人类专家需要在每一个话语中注释情绪原因的范围,并写出高质量的共情回复。我们还过滤掉了脏话和敏感的对话。

根据用户体验,情绪原因被手动分为29种常见的粗粒度类型,如失去某人、分手等。值得注意的是,本文发现62%的用户会对本文基于咨询的模板做出反应,这表明提出的咨询策略在鼓励用户参与在线共情对话中的有效性。

Model

在这里插入图片描述

模型基于GPT,如上图所示。将用户情绪类别、情绪原因拼接到输入序列后,当用户没有显示披露情绪原因时,hasCause置为[None],Emma会用积极倾听&有效提问策略做出回复,引导用户进行自我披露。随着对话的进行,Emma考虑多轮历史对话信息,输入变成[CLS] [speaker1] q1 [speaker2] r1 [speaker1] q2 [sep] label [sep] hasCause [sep] Cause [sep]。

Experiments

The Benefit of Emotion Causes. 实验验证了引入情绪原因的有效性。消融实验(EMMA vs. EMMA-cause)发现,当情绪类别标签的都融入两种模型时,只有EMMA具备捕获用户细粒度情绪、产生具有合适沟通策略、共情回复的能力。

The Effectiveness of Counseling Strategies. 实验还验证了咨询策略的有效性。当模型通过咨询策略获得更具体的Query时,可以看到共情程度和相关性的明显改善。

此外,实验发现Dist指标和人类、用户评估相矛盾。在手动检查比较模型生成的回复示例后,本文得出结论,具有太多不同n-gram的回复通常包含与用户体验不一致的内容。而人类再面对对方产生负面情绪时,通常倾向于使用“致谢”、“提问”等类型的文字,这在某种程度上导致了响应多样性的降低。文中给了一个样例描述了这一情况。

The Mutual Benefits of Joint Learning. 本文将情绪分类(ECf.)视为多分类任务,将情绪原因抽取(ECE)视为阅读理解任务,联合学习二者能够有效提升两个任务的性能。

Error Analysis. 联合学习情感理解和回复生成或许也可以获得更好的整体性能。直观上,我们可以感知生成的回复的共情水平,并将其制定为额外的损失,以联合学习。

Future Work. 融合常识知识,提高理解用户情绪的能力。

这篇关于【论文笔记】Towards an Online Empathetic Chatbot with Emotion Causes的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译: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的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi