题目:An Iterative Associative Memory Model for Empathetic Response Generation
会议:ACL 2024
作者:杨州,任昭春,王宇峰,孙海洲,陈超,朱小飞,廖祥文#
论文:https://arxiv.org/pdf/2402.17959
代码:https://github.com/zhouzhouyang520/IAMM
1. 引言
共情对话生成旨在准确感知用户的情绪感受并生成恰当的回复。该任务能够为用户提供良好的情绪支持,同时明显提升人机交互体验。
以往的方法将对话的内容视为独立或者关联性较弱的句子,不能深入理解句子间深层次的关联性,从而忽略用户的情绪感受。在如图1所示的对话中,说话者的每个句子都表达了“愤怒”的情绪,但将整体则为“狂怒”的情绪。以往的方法未将对话中重点词、重点短语关联起来理解,则很可能将说话者的情绪视为“愤怒”。例如将“guy cut me off”和“jerks”分开则分别能理解到每句话都表达了“愤怒”,而联系起来则会发现说话者实际上在非常愤怒的指责“guy”,因而表达的是“狂怒”的情绪。
图1 对话示例图
按照人类的理解习惯,人类在理解句子时会将句子的内容迭代式的联系起来理解。例如在理解第二句话时将之前的内容关联起来,而在理解后续话语时也会将之前理解到的内容关联起来。该理解方式有助于深度理解对话。如图1中,将关联"jerks"和"guy"关联起来理解则会发现愤怒情绪的加剧,即"狂怒"。同时,关联"cut me off"和"caused an accident"进行推理,更容易意识到说话人由于这种生命威胁事件而感到狂怒。总的来说,通过关联对话中显式和隐式的信息,倾听者会更深刻细致的理解对话。然而,该过程理解过程是有效的,但如何模拟它来深入理解对话仍是一个挑战。
在本文中,我们模拟了人类关于对话的理解习惯,提出了一个迭代式关联记忆网络(IAMM)。IAMM迭代式的使用信息关联模块来捕获并学习对话显式和隐式信息中的细致联系。我们首先将对话内容(包括对话话语和场景描述)视为显式信息,将COMET生成的关于对话内容的推理知识视为隐式信息。随后,我们迭代地利用信息关联模块识别和学习显式/隐式信息中话语与情景、对话历史和记忆(初始化为空集)之间的相关词语,并将它们存储在记忆中以更深刻的理解话语。
2. 方法
文本提出的IAMM模拟了人类的理解习惯,主要通过迭代式捕获的句子间关联信息来更好的理解对话。由于迭代关联需要关注显式和隐式信息,我们将对话内容视为显式信息,将其推理知识视为隐式信息。我们通过以下三个步骤来构建IAMM:(1)编码对话信息,它通过多个编码器学习对话中的显式和隐式信息。(2)捕捉关联信息,它根据显式和隐式的方面,迭代地捕捉对话中的关联词。(3)情感预测和回复生成,它根据学习到的内容预测对话情感并生成回复。此外,我们构建了一个变体模型,它提示大型语言模型关注关联词并捕捉对话中的细微关联来感知对话中的关联信息。结构如图2所示。
图2 模型结构图
2.1 编码模块
我们首先将对话的信息分为显性信息和隐性信息两部分。显性信息包括对话的句子、关于对话的场景描述;隐性信息则是利用COMET常识模型推理得到的知识。模型利用不同的编码器对这些信息进行编码来学习其中的内容。
2.2 信息关联模块
该模块的主要作用为迭代式的捕获两个句子间重要的具有关联的信息,即句子间的关联词。为清晰描述该模块,我们首先该模块的迭代式关联过程,随后介绍其内部机制。
迭代关联过程。该迭代式关联过程会将对话拆分为多个句子,并将这些句子与场景描述、以往的句子、记忆(用于储存关联词的集合)逐步关联,以捕获这些句子之间的关联词。
第1步: 面对第一句话时,该模块会将其和场景描述的句子中的重要关联词捕获并放入一个记忆(初始化为空的向量)。如图3所示。
第步: 接着,在面临第条句子时,该模块会分别捕获与、、 间的关联词放入记忆。
第n步:最后,在面临第条句子时,信息关联模块再次捕获与、、 间的关联词。并将其放入记忆。
图3 迭代式关联过程
模块内部机制。信息关联模块启发于pageRank中捕获重要信息的机制:被重点网页(词汇)所关注的网页(词汇)往往也更可能很重要。详细过程如图4所示。
本文以根据场景描述来捕获对话句子的关联词为例。为重新澄清思路,我们将该机制的逻辑重述为如下:被场景描述的重点词所关注的对话句子的词也很重要。同时,我们将该过程分为一阶和二阶交互两个过程。
一阶交互:首先,模块会找出场景描述的重点词。该模块会将对话句子整体语义所关注的词视为场景描述的重点词。
二阶交互:接着,基于场景描述的重点词,该模块会将这些词所关注的对话句子的词作为关联词。
图4 模块的内部机制示意图
经过这种二阶交互,两个句子间的重要关联词被模型捕获。随后利用捕获的关联词,模型理解了对话者的情绪和内容,并以此生成了恰当的回复。
2.3 情绪预测与回复生成模块
情绪预测。根据编码器学习到的内容以及信息关联模块捕获的关联词,我们预测了对话的情绪。
回复生成。我们首先使用一个解码器解码生成了回复的表示。为表达相应的关联信息,我们采用一种基于Topk的词筛选器来进一步过滤关联信息中重点信息。最后,我们融合了这两种信息来生成了回复。
2.4 基于大语言模型的变体模型
为了进一步验证迭代关联对大型模型的作用,我们将IAMM关注的关联词抽取出来,让大语言模型(LLMs)关注IAMM捕捉到的关联词。然后,我们使提示来关注关联词之间的关系,以深入理解对话。验证方法包括在ChatGLM3微调和在GPT-3.5上的非微调方式。
3. 实验
我们在EMPATHETIC-DIALOGUES 数据集上进行了实验。实验评估了情绪预测的准确度(Acc),回复的困惑度(PPL)、回复的多样性(Dist-1/Dist-2)。
3.1 自动评估
结果表明IAMM在大多数指标上优于基线。在情感准确性方面,IAMM显著优于基线。这是因为利用关联信息有助于对话的微妙理解,从而促进了情感的准确理解。在多样性方面,IAMM明显优于基线。这主要是因为重要关联词的关注有助于生成信息丰富的回复。关于困惑度,IAMM未能超越基线。这是因为生成的回复包含较少的通用句子,具有更好的多样性和较差的困惑度。例如,对于上下文“I’m very ashamed in my grades”,回复“I’m so sorry to hear that”可能具有更好的困惑度和较低的多样性,但它对于上下文的相关性和共情性交叉。相比之下,回复“I know that feeling. I have a bad grade and I know how you feel”可能比前者的困惑度更差,但它更有可能相关和共情于上下文。
表1 自动评估结果
3.2 人工评估
IAMM该模型在共情性、相关性和流畅性上均表现出较优的性能。共情性和相关性上的结果再次佐证了自动评估的结果。而流畅性方面的表现也说明尽管IAMM的困惑度有限,但生成的回复更加流畅且符合人类的表达习惯。
表2 人工评估结果
3.3 大模型上的评估
实验结果如表3所示,与基线模型相比,关注关联关系的模型具有更强的情感识别和表达能力,进一步证明了迭代关联的有效性。值得注意的是,IAMM仅为单层Transformer的小规模模型,但其捕获的关联信息仍然能够促进LLMs的提升。这再次印证了关联信息的重要性与有效性。
表3 基于大模型的评估结果
3.4 关于关联词的分析
为了进一步探索关联词的特征,我们在测试集上收集了8,012个关联词,并对其情感强度和逆向文档频率(IDF)进行了统计分析。分析结果如下:(1) 模型最频繁关注的词是常见词(例如,"that", "guys")。(2) 更受关注的词(分配了更高的权重)要么具有更强的情感强度,要么是非停用词(例如"traffic", "accident"))。具体的原因如下:(1) 模型倾向于关联词语-词语和词语-词的关联,例如(“swerve onto the shoulder”,“caused a accident”)和(“cuts me off in traffic”,“That”)。在词语-词的关联中,词语通常包含常见和不常见的词,而单个词通常是常见的词。这导致了模型关注的更多常见词。(2) 模型更强调具有情感或确定意义的词语。为了更好地理解情感或意义,模型通常会将更高的权重分配给词语中的情感词或不常见的词。
3.5 样例分析。(1)在第一个样例中,SEEK未能正确表达“骄傲”的情感。ESCM错误地识别了情感。而IAMM通过识别关联词“accepted into harvar”,感知到发言者的“骄傲”情感。同时,它也理解了发言者所述的主体“my daughter”,因此在回复中“bet she was so proud of her”中将情感和回复恰当地结合在一起。(2)在第二个样例中,由于模型未能识别对话中的关键信息,SEEK和ESCM表达了通用的句子。而IAMM通过关联“my family”和“they”,在对话中发现了关键信息“family”。同时,通过关联句子中的情感“ashamed”,IAMM也准确地理解了情感。基于关键信息和情感,模型生成了更加共情的回复。"
结论
在本文中,我们受到人类迭代式理解对话的启发,提出了一种迭代式关联记忆模型(IAMM),用于生成共情回复。IAMM采用了一种新颖的二阶互作用注意力机制来迭代地捕获对话中的关键关联词,使其更准确地理解情感和认知状态。同时,自动化和人工评估表明,IAMM 能够准确地理解情感并表达出更多的同理反应。
关于团队
本论文主要在廖祥文教授和任昭春教授的指导下进行, 由福州大学联合莱顿大学团队完成。