摘要
查询对话是一种常见的对话形式,旨在完成调查(例如法庭听证会、医学咨询和警方询问)期间发生一系列重点转移。虽然已提出了许多模型来根据给定的对话历史生成流畅的回应,但忽视重点可能会限制在查询对话中的表现,因为重点的顺序在其中起着关键作用。在本文中,我们通过考虑重点来研究查询对话中的回应生成问题。我们提出了一种新颖的重点感知回应生成(FRG)方法,通过共同优化多级编码器和一组重点解码器来生成与不同重点对应的多个备选回应。此外,提出了一个重点排序模块,用于预测下一个重点并对候选回应进行排序。在两个正交查询对话数据集(司法、医学领域)上的实验证明,与最先进的方法相比,我们的方法在自动评估和人工评估中生成的结果显著更好。
1 引言
由于机器学习技术的高效性,自然语言处理(NLP)在各种任务中取得了巨大的进展,例如对话回应生成,这为诸多应用如聊天机器人(例如 Siri)提供了支持。在应用循环神经网络(RNN)(Cho等,2014; See等,2017)和Transformer(Vaswani等,2017; Ji等,2020)等神经网络模型之后,回应生成的性能得到了显著改进。然而,现有的回应生成研究主要集中在相关性和流畅性上,很少关注重点,而重点从生成的回应的合理性的角度来看是很重要的。
查询对话是一种常见的对话形式,旨在完成调查(Hamami,2014)(例如法庭听证会、医学咨询、警方询问)等任务。在查询对话中经常发生重点转移,并且它们的顺序起着关键作用。例如,如图1所示,在被告完成辩护之前,法官不会作出判决,医生在说明诊断之前不会开药。话语的潜在重点经常影响对话的发展,因此在回应生成过程中融入重点的概念是有益的。
本文关注查询对话中的回应生成,并旨在提高生成内容的合理性。出于实际原因,我们只生成对话中主要发言者(例如法官、医生)的回应。在解决这个问题时,我们面临以下挑战:(1)重点是顺序而潜在的。下一个回应应该考虑对话历史中潜在的重点,并且需要预测下一个重点。(2)重点是离散的,不同的重点对应不同的回应。因此,生成器需要在确定重点之前生成一个受建立的重点引导的回应。
为了解决这些挑战,我们提出了一种新颖的重点感知回应生成(FRG)方法,通过共同优化多级编码器、一组重点解码器(用于生成具有不同重点的回应)和协同重点排序模块。具体而言,多级编码器旨在通过说话者级别的注意力层和块级别的注意力层,基于每个块(在第3节中定义)中的说话者特征和内容的聚合特征,更好地从对话历史中学习潜在的重点。然后,重点解码器集合中的每个解码器根据其对应的重点生成一个候选回应。
查询对话是一种常见的对话形式,旨在完成调查(Hamami,2014)(例如法庭听证会、医学咨询、警方询问)等任务。在查询对话中经常发生重点转移,并且它们的顺序起着关键作用。例如,如图1所示,在被告完成辩护之前,法官不会作出判决,医生在说明诊断之前不会开药。话语的潜在重点经常影响对话的发展,因此在回应生成过程中融入重点的概念是有益的。
本文关注查询对话中的回应生成,并旨在提高生成内容的合理性。出于实际原因,我们只生成对话中主要发言者(例如法官、医生)的回应。在解决这个问题时,我们面临以下挑战:(1)重点是顺序而潜在的。下一个回应应该考虑对话历史中潜在的重点,并且需要预测下一个重点。(2)重点是离散的,不同的重点对应不同的回应。因此,生成器需要在确定重点之前生成一个受建立的重点引导的回应。
为了解决这些挑战,我们提出了一种新颖的重点感知回应生成(FRG)方法,通过共同优化多级编码器、一组重点解码器(用于生成具有不同重点的回应)和协同重点排序模块。具体而言,多级编码器旨在通过说话者级别的注意力层和块级别的注意力层,基于每个块(在第3节中定义)中的说话者特征和内容的聚合特征,更好地从对话历史中学习潜在的重点。然后,重点解码器集合中的每个解码器根据其对应的重点生成一个候选回应。最后,重点排序模块对由重点解码器生成的所有候选回应进行排序,并预测最终输出的下一个重点。为了测试提出的方法,我们使用了来自两个不同领域的两个查询对话数据集 - 法庭听证会和医学咨询。由于在不同领域中注释重点的困难和高成本,通常需要领域专家的输入,我们使用了一个两阶段的训练范式来确保我们方法的泛化能力。我们首先通过大量的无标签数据对解码器进行预热,以确保生成能力,然后我们在少量的标记数据上分别对其进行微调,以确保特定重点的生成质量。大量实验证明,所提出的FRG模型在自动评估和人工评估上都取得了最好的性能。
总之,我们的贡献如下:
• 我们通过将重点纳入生成过程中,研究了查询对话中的回应生成任务。
• 我们提出了一种新颖的重点感知回应生成(FRG)方法,通过共同优化多级编码器、一组重点解码器和协同重点排序模块。
• 我们通过对两个正交查询对话数据集进行大量实验证实了所提方法的性能。实验证明了我们方法的高领域适应性。
• 为了鼓励其他研究人员研究这个任务,我们公开了代码 1。
图1:响应生成的示例。左栏是法庭听证会上的谈话,焦点从委托人转移到违约赔偿金。正确的一个是在医疗咨询中的对话,焦点从症状转移到疾病。请注意,只有响应话语中的焦点才会作为注释给出。对话历史中的焦点实际上并没有标记在数据集中。
2 相关工作
2.1 会话型自然语言生成
神经语言生成(NLG)已经在许多任务中得到广泛研究和应用,包括机器翻译(Wu等,2016; He等,2018; Shen等,2019)、问答系统(McCann等,2018; Bagchi和Wynter,2013)和文本摘要(Rush等,2015; Liu和Lapata,2019; Wu等,2020, 2022)。现有的NLG方法可以分为基于规则和基于神经网络的方法。基于规则的方法通过手动制定模板生成内容(Yang等,2019; Becker,2002)。这种回应往往流畅且规律,但制定模板的成本相当高。基于神经网络的方法利用深度学习的优势(Shen等,2021; Zhang等,2022a,b; Li等,2022a,b; Zhang等,2023; Qian等,2023; Ma等,2021),需要的人力更少,并且具有灵活性。Bahdanau等人(2015)首次将注意机制应用于NLG任务。See等人(2017)提出了一种指针生成网络(PGN),可以解决词汇外(OOV)问题。
在对话场景中,还提出了许多相关的NLG技术,例如对话摘要(Chen和Yang,2020)、聊天机器人(Li等,2016)和回应生成(Zhou等,2018b)。在我们的工作中,我们关注查询对话中的回应生成任务。
2.2 回应生成
回应生成是NLG中的一个关键任务,旨在根据对话历史生成回应(Zhou等,2018a,b; Zeng和Nie,2021)。已经提出了一些方法来改进生成性能。Xing等人(2017)提出了面向主题的神经回应生成(TAS2S),它通过引入预处理的主题词来生成回应。Lau等人(2017)引入了一种主题驱动的神经语言模型(TDLM)方法,可以根据预测的主题嵌入生成回应。Lei等人(2021)应用了一种层次化的说话者感知编码器来建模对话。Zhao等人(2017)提出了一种对话行为引导的生成方法,旨在提高回应的多样性。Wu等人(2021)提出了一种可控的基于场景的回应生成框架,使用显式提示短语进行生成。由于预训练的流行,已经采用了几种预训练模型用于回应生成任务,如TransferTransfo(Wolf等,2019)和DialoGPT(Zhang等,2020b)。
在本工作中,我们强调对话中块之间的重点转移,因此提出了块级别注意力模块来捕捉它们的顺序。此外,我们的模型使用一组重点解码器来生成与预测重点相对应的回应排序列表,这在实际使用中更具适用性。
3 问题定义
在本节中,我们定义了查询对话中的回应生成问题。我们首先描述以下关键概念:
查询对话是一种旨在完成调查(Hamami,2014)(例如法庭听证会、医学咨询)的对话形式。
重点是对话在某个阶段的中心。在对话过程中,重点往往会发生变化。
主导角色是控制查询对话中重点转移的发言者(例如法官、医生)。
块由几个连续的话语组成,被视为重点转移的最小单位。因此,根据主导角色发言者的行动,对话可以划分为几个块。
回应话语是指主导角色发言者的询问话语(示例见图1)。
查询对话中的回应生成问题可以定义如下:
给定对话历史U = {(ut, st)}nt=1,其中{(ut, st)}是第t对话语ut和发言者角色st,任务是确定下一个重点f,并基于此生成相应的回应,表示为r = {wt}mt=1,针对主导角色。
换句话说,给定查询对话的历史记录,我们的任务是确定下一个重点并生成相应的回应。这需要理解对话的内容和上下文,以及主导角色在对话中的行动和重点转移。根据确定的重点,我们需要生成一条回应,以满足查询对话的要求。
通过解决这个问题,我们的目标是开发一种能够在查询对话中生成准确、连贯且有针对性的回应的方法。这将有助于提高对话系统在调查性对话任务中的表现,使其能够更好地与用户进行交互和提供有用的信息。
4 方法
在本节中,我们描述了我们的重点感知回应生成(FRG)模型。图2显示了整体框架。我们的模型由一个共享的多级编码器、一个重点排序模块和一组重点解码器组成。模型以多任务学习的方式工作。重点排序模块和解码器将编码器的输出作为输入。
4.1 多级编码器
多级编码器由四个层组成,用于对来自不同级别的输入进行编码。
首先,我们引入了两种特殊的标记:
(1)发言者标记<s>表示发言者的话语结束,其中s是发言者的id。
(2)块标记<b>表示块的结束。一个块由几个连续的具有相同重点的话语组成,并根据主导角色的发言行为(例如法官、医生)自动设置。例如,在图2中,每次法官发言时都会创建一个块。
输入被转换为:
I = {u1, <s1>, u2, <s2>, <b>, u3, <s3>, ..., unu, <snu >, <b>},
其中u是话语,s是相应的发言者,nu是话语的数量。请注意,由于我们只为主导角色发言者生成回应,因此I的最后必定是<b>。
输入是一个标记序列。然后,我们首先将标记转换为嵌入。上述提到的特殊标记是随机初始化的。
图2:FRG的架构由一个多级编码器、一组焦点解码器和一个协同焦点排序模块组成。
4.1.1话语水平层
在这一层中,令牌的嵌入被输入一个双向LSTM(Bi-LSTM)(Huang et al.,2015),产生输入h t = Bi-LSTM (I)的令牌级表示。为了获得每个话语的表示,我们取该话语的说话者标记的输出。因此,输入的话语级表示是h u = {h t k },k∈XS,其中XS是i中的说话人标记索引集。为了获得每个块的表示,我们取该焦点块的块标记的输出。因此,输入的块级表示是h b = {h t k },k∈XB,其中XB是I中的块标记索引的集合。
4.1.2说话者水平注意层
在对话中,不同的说话者将扮演不同的角色。为了获得说话者级别的表示,我们根据说话者的id创建了一个特殊的掩模M。M是一个维数为的矩阵。对于任何mi,j在M: mi,j = (1 si = sj 0 si = sj。(1)其中,si是ui话语的说话者。给定话语级表示hu和掩模M,说话者级表示hs计算如下:
4.1.3块级注意层
在探究式对话中,我们假设只有当主要角色的说话者说话时,焦点才会转移,然后我们将对话历史划分为几个块。给定块级表示hb,我们对它运行一个自我关注,最终的块级表示hb‘计算如下:
4.1.4会话级别层
在这一层中,我们连接前一层的输出以得到h con。对于ht中的每个h t i,我们将其与其相应的说话者级表示和块级表示连接起来:
然后我们使用另一个Bi-LSTM层来得到输入的h = Bi-LSTM(h con)的最终表示。
4.2焦点解码器
为了使模型产生合理的响应,我们使用了一组具有相同结构的解码器,旨在生成由不同焦点引导的响应。我们称之为焦点解码器。具体来说,解码器的数量等于预定义的焦点的数量。给定了输入h和解码状态st的表示,我们应用了注意机制(Bahdanau et al.,2015)。在每一步t,注意力分布at计算如下:
给定相同的h,解码器将由于参数的不同而产生不同的输出。我们解释了如何热身和独立微调训练部分的解码器。
4.3焦点排序模块
给定输入h的表示,焦点排序模块将通过一个全连接的层和一个软max操作产生每个焦点的概率。排名得分rs = {rs1,rs2,...,rsnf }为rs=softmax(FC(均值(h))),其中FC表示一个全连接层。然后,解码器的输出可以按rs进行排序。
4.4两阶段训练范式
由于焦点的注释是困难和昂贵,我们采用两阶段训练范式,以确保我们的方法的高泛化能力。在第一阶段,我们使用大量未标记的数据对没有排序模块的模型进行训练,旨在使解码器获得良好的生成能力。在这里,所有的解码器都共享相同的参数。
在第二阶段,我们使用少量的标记数据来训练排序模块,并对第一阶段训练的编码器和解码器进行微调。在这一阶段,每个解码器对应一个不同的焦点,解码器将通过标注到相应焦点的数据进行训练。
对于焦点解码器集,我们在计算每个解码器的损失时进行掩码操作。解码器d的实际损失是:
4.5推理
在推理过程中,解码器应用大小为4的波束搜索来生成候选输出,并根据排名分数rs进行排序。
5 实验
5.1 数据集
我们在实验中使用了以下两个数据集:法庭听证和医学咨询。
法庭听证数据集:法庭听证是一种司法事件,法官询问原告和被告以澄清案件事实。我们使用的注释数据是由Duan等人(2019)发布的。输入是对话历史,输出是法官的下一个回应话语。该数据集中有七个重点:本金、利息、普通债务索赔、担保责任、违约金、债权人资格、诉讼时效。
医学咨询数据集:医学咨询是患者和医生之间的对话。我们使用的注释数据是由竞赛:2021年知识图谱与语义计算会议(CCKS21)发布的。该数据集中有五个重点:症状、药物、检测、属性、疾病。
两个数据集的统计信息如表1所示。我们根据80%:10%:10%的比例随机将每个数据集分为训练集、验证集和测试集。确保注释数据不在测试集中。
表1:数据集的统计数据。CH指法庭听证,MC指医疗咨询。
5.2 评估指标
5.2.1 自动评估
我们采用ROUGE-1、ROUGE-L、BLEU-1、BLEU-N(BLEU-1到BLEU-4的平均值)和BERTScore作为自动评估指标。具体来说,我们报告ROUGE的ROUGE-1和ROUGE-L值;BLEU的BLEU-1和BLEU-N值;BERTScore的P、R和F1值。
5.2.2 人工评估
我们进行人工评估来分析生成回复的质量。我们从每个数据集中随机抽取500个测试样例。对于每个样例,我们将由5种代表性方法生成的回复与真实回复一起呈现给5位标注员。评估从两个角度进行:(1)合理性水平。合理性指的是对话历史和生成回复之间的逻辑连贯性。标注员需要对生成回复的合理性进行评分。(2)流畅度水平。标注员需要对生成回复的流畅度进行评分。两个评分都在1到5之间(1代表最差,5代表最好)。
5.3 基线方法
我们采用以下方法作为基线来与我们的方法进行比较:
L-Distance(Levenshtein距离)用于衡量两个文本之间的差异。给定测试样例的输入,我们在训练数据集中找到与之最小L-Distance的样例,并将其回复作为输出。该方法以文本检索的方式进行。LSTM+ATT和PGN是基于循环神经网络(RNN)的模型。T5和GPT-2是基于Transformer的自然语言生成(NLG)任务模型。我们还在任务数据集上对它们进行微调。TransferTransfo和DialoGPT是对话预训练模型。我们在任务数据集上对它们进行微调。TDLM先预测焦点嵌入,然后将焦点嵌入发送给解码器生成回复。TAS2S先预测焦点词,然后将焦点词作为外部词汇表提供给解码器。MPG使用多任务学习同时预测焦点和生成回复。
FRG-top1表示我们选择具有最高排名得分的解码器生成的内容作为输出,而FRG-top3表示我们同时选择三个排名最高的候选项。后者模拟了用户可以从建议的候选项中选择合适答案的实际情况。
我们还进行了对FRG-top1的消融实验,如下所示:FRG w/o RM移除了排名模块,并用单个解码器取代了解码器集合。FRG w/o ML移除了说话者级注意力层和块级注意力层。FRG w/o BL移除了块级注意力层。FRG w/o SL移除了说话者级注意力层。
5.4 实验结果
在本节中,我们分析了实验结果。
定量评估。表2展示了在法庭听证和医疗咨询数据集上使用ROUGE、BLEU和BERTScore进行回复生成的结果。
根据结果,我们得出以下观察结果:(1)L-Distance方法在两个数据集上的表现最差,这意味着仅基于上下文相似性从数据集中检索回复并不可靠。(2)基于RNN的基线模型和基于Transformer的基线模型在这个任务中表现相似,但远低于FRG的性能。这表明,在多级编码器和焦点解码器的帮助下,FRG能够估计主导角色说话者的焦点,从而生成更精确的内容。(3)使用注释的模型表现更好,这证明了考虑焦点的有用性。(4)TDLM和TAS2S表明将焦点嵌入合并到解码器中只带来了小幅改进,这表明焦点解码器的积极效果。(5)此外,与基线方法相比,FRG在法庭听证和医疗咨询数据集上的表现也表明具有良好的领域适应性。
为了研究第二个训练阶段注释数量的影响,我们在图4中研究了性能的变化,并得出以下结论:(1)少量注释可以显著提高模型的性能(例如,将法庭听证数据集的ROUGE-L从16.3提升到25.8)。随着注释数量的增加,模型的性能继续提高。(2)注释对司法领域数据的影响比医疗领域更强。这表明使用的焦点数量和粒度可能会影响性能。
定性评估
我们在表3中展示了人工评估的结果,并报告了以下观察结果:(1)尽管L-Distance由于其检索方法在流畅度方面表现出色,但在焦点合理性方面表现非常差。(2)由于焦点解码器的作用,FRG在合理性水平上显著提高了性能。(3)与其他生成方法相比,FRG在流畅度水平上也取得了更好的表现。(4)任意两个人工标注员之间的Kappa系数κ都超过0.8,这表明人工评估的高质量。
消融研究
我们在表2中报告了消融研究的结果,注意到FRG w/o RM的性能大幅下降(例如,法庭听证数据集上的R-1从33.3下降到19.6),这表明排名模块和焦点解码器的重要性。类似地,FRG w/o ML、FRG w/o BL和FRG w/o SL的性能也有所下降,尽管不及FRG w/o RM。这证实了所提出的块级注意力层和说话者级注意力层在编码器中的有效性。
案例研究
图3展示了我们的方法(FRG)和四种基线方法生成的回复的两个案例,以便更直观地理解每种方法的性能。我们发现,L-Distance的输出与对话历史无关。PGN、GPT-2和TAS2S生成的话语更有可能重复对话历史中已经说过的内容。FRG能够通过焦点的引导生成更合理的内容。
5.6 错误分析
为了探索我们模型的局限性,我们还分析了错误率较高的生成回复,并总结了出现的问题,并探索了优化解决方案。
经过统计分析,我们得出以下观察结果:(1)当需要使用外部信息时,FRG的性能较差。在法庭听证数据集中,有27%的错误与此问题有关(例如,“根据法律规定,最高利率不得超过类似银行贷款利率的四倍。”)。同时,在医疗咨询数据集中,有38%的错误与此问题有关(例如,“根据说明,曲美他嗪片和金盾双歧杆菌可以餐后服用。”)。(2)在法庭听证数据集中,有36%的错误和在医疗咨询数据集中有47%的错误发生在生成长回复(例如,超过25个标记)时。(3)长对话历史(例如,超过10个话语)也会导致高错误率。法庭听证数据集中有42%的错误和医疗咨询数据集中有53%的错误属于这种情况。
为了解决这些问题,构建一个检索数据库和增强语言模型的长期依赖性对未来是有希望的。
6 结论与未来工作
在本文中,我们从焦点视角研究了询问对话中的回复生成任务,并提出了一种新颖的焦点感知回复生成(FRG)方法。我们设计了一个多级编码器,以不同层次表示对话历史,以及一组焦点解码器,以不同的焦点为指导生成回复。通过焦点排名模块,生成的回复被排序为最终输出。实验结果表明了我们方法的有效性。
未来,我们将基于FRG方法探索以下方向:(1)添加外部知识以约束排名模块;(2)在实际应用中使用用户反馈来优化排名模块。
7 限制
在本节中,我们讨论了我们工作的限制如下:
- 正如论文中所描述的,我们提出的方法需要对潜在焦点进行注释;少量的注释(每个焦点约250个标记的样本)就可以带来显著的改进(见图4)。因此,在将我们的方法应用于其他领域时,至少需要准备一些注释。
- 如在错误分析部分提到的,模型无法生成未见过的实体,例如特定的药物名称或法律。需要进一步改进以解决这个问题,以便实际应用。