There Is No Standard Answer: Knowledge-Grounded Dialogue Generation with Adversarial Activated Multi-Reference Learning
Abstract
以知识为基础的对话(KGC Knowledge-grounded conversation)显示出极好的潜力,可以提供信息丰富的回答。然而,现有的方法强调在特定的对话语境中选择一个黄金知识,忽略了对话中的一对多现象。然而,现有的方法强调在特定的对话语境中选择一个黄金知识,忽略了对话中的一对多现象。为此,我们建立了一个多引用KGC数据集,并提出了一系列指标来系统地评估现有KGC模型的一对多有效性。此外,为了扩展知识选择的假设空间,增强多知识与多回复之间的映射关系,我们设计了基于span的变分模型,并在清醒-睡眠模式下优化模型,改进证据下界目标,学习一对多泛化。自动和人工评估都证明了我们方法的有效性。
1 Introduction
外部知识是参与和有意义的回复的关键因素。为此,知识基础会话(knowledge-grounded conversation, KGC)这一研究领域受到了广泛的关注。近年来,一些方法和基准已经提出。这些方法主要遵循Dinan等人提出的两步范式:给定对话上下文和候选知识库,他们(1)首先从候选库中选择一个或多个知识段,然后(2)基于对话上下文和所选知识生成回复。
大量著作强调从知识库中发现黄金知识。更具体地说,虽然候选库中的许多知识段落与当前对话上下文相关(上下文相关),但通常只有一个知识段落与观察到的回复相关(标签相关),这往往被许多著作和研究者称为黄金知识。尽管已经开发了许多技术来从候选池中区分黄金知识,但其精度仍然远远不能令人满意。而且,似乎连人类都无法准确地识别所谓的黄金知识。
鉴于人类的糟糕表现,我们假设所谓的黄金知识是对KGC的过度简化。具体来说,对话本质上是一对多的,具有高熵(Paranjape et al, 2022),因此可能存在不止一个合适的知识。以来自Reddit的对话为例(图1)。
图1:来自Reddit的对话。用相同颜色突出显示的文本是回复及其在知识池中的相应基础。
所有的知识都是相关的,基于这些知识的四个回应都是合理的。总之,在这种情况下,没有这样的黄金知识。黄金知识假说忽视了会话中的一对多的属性,惩罚了完全有效的知识,因而不利于生成的多样性。我们指出了以前的方法在黄金知识和学习一对多泛化方面的两个局限性。首先,之前默认存在黄金知识的方法已经成功地产生了可接受的性能,因为大多数基准只提供了一个回复,在评估时恰好支持黄金知识假设。此外,当在这些基准上训练时,KGC模型没有机会接触到一个以上的回复。总而言之,现有的基准测试无法训练或评估模型的一对多泛化。其次,黄金知识在粒度上是灵活的,不局限于一个完整的句子(图1)。但以前的方法通常将基础的粒度限制为一个完整的句子。因此,他们的知识选择决策空间被观察到的回复严重扭曲和过度拟合。
在这项工作中,我们提出了一个新的KGC框架,该框架在以下两个方面具有更好的一对多泛化能力:(1)为了训练和评估KGC模型的一对多泛化能力,我们建立了第一个多引用KGC数据集和一系列指标。(2)为了扩展知识选择的假设空间,我们设计了一个变分跨度阅读模型,直接阅读知识文本,并采样一个跨度作为我们的基础,而不是从候选集中选择知识句子。我们进一步提出了一种清醒-睡眠式学习算法,使原始证据下界目标(ELBO)适应多参考场景。我们进行了大量的实验,自动评估和人工评估都表明了我们的方法在多参考KGC中的有效性。
我们的贡献总结如下:
•据我们所知,我们是第一个探索KGC中的一对多问题并建立多引用KGC数据集以及一系列指标的人。
•我们提出了一个变分跨度阅读模型,该模型以更细的粒度读取和理解知识,并将跨度作为基础知识进行采样。
•我们提出了一种对抗激活的多参考学习算法,以改进多参考场景下的原始ELBO。
2 Related Work
由于现有的基准测试通常只包含一个会话引用,之前的大部分工作都采取了黄金知识的假设,其中一些人使用来自回复的后验信息来检测黄金知识,省略了所有其他未观察到但似乎合理的回复。此外,基础的粒度仅限于一个完整的句子或段落。最近,一些研究人员试图探索与span进行接地对话的可能性。它们的跨度是由硬性选择过程确定的。不同的是,我们将广度预测视为一个概率过程,并提出了一种变分方法来捕捉注意力广度。
该模型还涉及到对话中的“一对多”属性,指的是在一个对话上下文中,多个回答是合适的现象。如何训练和评估对话系统的一对多泛化是开放域回复生成中被广泛研究的主题。受变分自动编码器(VAE)效能的启发,以往的一些工作采用潜变量来模拟对话的一对多属性。例如,Zhao等人利用服从高斯分布的潜在变量对话语层次多样性进行了建模。Qiu等人提出了一种两阶段方法,该方法表示具有连续潜变量的多个参考的不同特征。但其潜变量的可解释性较差。Bao et al(2020)和Bao et al(2021)在预训练过程中引入离散潜变量。潜在变量的每一个值都对应于特定的潜在言语行为。对于对话系统的评价,Gupta等表明多参考评价与人类判断的相关性更好,并发布了开放域对话的测试集。但据我们所知,尽管莫歇等人构建了KGC的多参考测试集,在KGC中没有标准的一对多训练和评估基准。
3 Methodology
3.1 Problem Formulation and Overview问题的提出与概述
对于多引用KGC数据集,每个case都是一个三元组(C, K, R),其中C = [w1, w2,···,]是由之前的token组成的对话上下文,K = [k1, k2,···,
]是背景知识和事实的串联序列。我们使用wi和kj分别表示上下文中的第i个token和知识中的第j个token。
是观测到的回复的集合。我们的目标是在起始位置
和结束位置
所表示的知识中预测各种跨度(S1, S2,···,Sn),然后相应地生成多个不同的回复(R1, R2,···,Rn)。
我们的方法的体系结构如图2所示。
图2:提出模型的体系结构。
它主要由选择性阅读(章节3.2)和多参考学习(章节3.3)两部分组成。具体来说,对于选择性阅读,我们计算和
与对话上下文和知识的先验分布,我们称之为pθ(
)和pθ(
)。这两个分布被用来估计联合分布pθ(
,
)。同时,我们计算了一个辅助后验分布qφ(
|R)和qφ(
|R),用于通过最小化KL散度来教授先验。注意后验只参与训练过程。对于多参考学习,我们设计了一种唤醒睡眠式学习算法。在唤醒步骤中,后验器和生成器学习最大化关于增强回复集的证据下界目标;在睡眠步骤中,训练判别器以区分观察到的真实回复和增强回复。
3.2 Variational Span Reading变分跨距读数
Prior Reading.前阅读。为了计算跨度的先验分布,我们首先将上下文和知识连接到一个单独的序列中:
在通过多个BERT层之前(Devlin et al, 2019):
与独立编码相比,它允许对话上下文与知识之间更充分的交互,获得上下文感知知识
作为
中的知识部分切片,知识感知上下文表示作为上下文部分的均值池:
接下来我们计算 pθ(,
)的联合分布。 这并不简单,因为它需要列举所有不同
和
的可能性。所以我们建议首先独立计算起始位置和结束位置的分布:
其中MLP是一个多层感知器。我们使用[·;·]表示向量拼接.pθ()的计算方法与此类似。 接下来,我们通过聚集约束区域内的概率来接近条件分布pθ(
|
),这样结束位置总是落后于开始位置,形成一个定义良好的跨度:
因此,可以有效地计算出连接分布为
Posterior Reading后阅读。回复R中的提示用于识别潜在的和
,并计算qφ(
|R)和qφ(
|R),这要容易得多,因为回复是跨度的语义反映。首先,回复被连接到上下文之后:
然后序列通过3层变压器F:
类似于前面的阅读,回复感知上下文表示使用平均池化:
知识表示是知识部分对应的
切片。
回复中的提示足以独立地确定起点和终点。由于采用了平均场近似,联合分布可以分解为:
后验分布计算如下:
和qφ(|R)的计算方法相似。
Generator. 得到节点分布pθ(,
)后,对节点分布进行抽样,得到一对(
,
),对应于知识中的跨度S:
然后将采样的跨度和上下文输入到生成器中,以自回归方式预测回复:
理论上,生成器可以指定为任何大规模预训练的语言模型。这里我们使用GPT-2 (Radford et al, 2019)。重复采样过程会产生多个不同的范围,从而允许生成器对单个情况合成不同的回复。
3.3 Adversarial Activated Multi-reference Learning对抗激活多参考学习
直接优化边际似然非常耗时,传统的边际似然替代方法是证据下限目标(ELBO):
可以在附录A中找到逐级推导。在仔细研究ELBO后,我们发现目标仍然基于R中现有的回复,并试图最大化我们数据集中所有观测数据(C, K, R)的总体可能性。但事实上,对话的一对多属性表明,可能的回复可以是无限的,而不是可枚举的。对话系统应该根据观察到的回复来推断未观察到的回复,换句话说,能够区分一个候选是否是一个可能的回复。 有鉴于此,从Hu等人的启发中,我们提出了一种对抗激活的ELBO (AAELBO):
其中,为增广回复集,由原始观测到的回复R和增广回复组成:
其中λ是超参数。Dπ(·)是一个具有可训练参数π的鉴别器,用于区分回复是观测回复还是增广回复。d(·)为对应先验,定义为原始R与之间的采样概率。AAELBO迭代优化分为两步:
Sleep-Step.后验阅读、前验阅读和生成器参数是固定的。为了合成,我们首先计算后验分布pθ(
,
|R),并对多个grounding span进行采样。然后,我们将这些跨度分别连接到上下文,并将它们发送给生成器以获得
。鉴别器是一个经过训练的L-layer双向Transformer,以最大化以下目标:
如果R是原始数据集中观察到的回复,则y = 1,否则y = 0。
Wake-Step. 鉴别器的参数被冻结。我们使用鉴别器为候选集中的每个回复分配一个重要权重。然后在增广的上根据鉴别器给出的重要权重对后验读数、前验读数和生成器进行优化。数学上,这一步的训练目标是:
由于跨度是从离散采样过程中获得的,AAELBO目标的梯度不可微至。 因此,我们采用policygradient方法(Sutton et al, 2000)来估计梯度,其公式为:
传统的奖励Re以教师强迫的方式计算为,这对于多跨度和多引用之间复杂的映射关系建模是不合适的。 作为一种可能的补救措施,我们建议加强跨度对与后验读数和生成回复之间的关系。我们改进了原始奖励,以适应多引用场景:
奖励由两部分组成:重建奖励和接地奖励
,我们将在下面详细说明。 为了优化目标,我们首先对回复R∈
进行采样,并计算
。接下来,我们对一个span S进行采样,并将该span与上下文一起发送到生成器以合成
。α是超参数。
Reconstruction Reward.重建奖励的设计是为了加强后验阅读时的span-回复映射关系:
如果是抽样回复R,则
= 1,否则为0。s(·,·)为相似度函数。 当后验预测的跨度容易让生成器合成相应的回复时,重建奖励会给后验更大的奖励。
Grounding Reward.Grounding奖励的设计是为了加强生成中的span-回复映射关系。它使用BERT作为主干,接受一个span和一个生成的回复作为输入:
并将[CLS]token的表示映射到接地奖励:
其中σ(·)表示Sigmoid函数。为了训练鉴别网络,对于每个回复,我们首先启发式地将知识文本中对应的span标记为伪span标签:
其中s(·,·)是相似度函数,Ω是通过滑动窗口枚举知识中所有可能跨度构造的候选集。训练接地奖励网络使以下目标最小化:
其中µ是超参数。
4 Experiment Setup
4.1 Dataset
我们用来自Reddit的对话建立了一个多引用KGC数据集。经过精心的过滤和清洗,构造了一个多参考KGC数据集,其中包含一个训练集、一个验证集和两个测试集,即General test和Focused test。集中测试,在一个知识句子中包含多个参考。因此,它被设计用来评估一对多泛化能力仅与接地粒度有关。除此之外,我们还开发了一个通用测试,其中知识段落的基础是不受约束的,因为在现实场景中,多个引用基于不同的知识是更常见的。数据集的统计数据如表1所示。有关数据收集协议的详细信息,请参见附录B。
表1:多参考KGC数据集统计数据。
4.2 Baselines
我们将我们提出的方法与以下方法进行比较:(1) MTASK-RF (Ghazvininejad et al, 2018)是KGC的早期模型,使用独立的对话编码器和事实编码器分别对话语历史和知识进行编码。(2) TMN (Dinan et al, 2019)是一种存储网络的Transformer版本。(3) VHREDlgm(Zhao和Kawahara,2021)是一个具有线性高斯先验的变分层次模型,并使用多个增强回复进行训练。(我们的代码和数据集可以在https://github.com/ TingchenFu/MultiRefKGC上找到)(4) SKT (Kim et al, 2020)在每个回合使用顺序潜变量预测基础知识句子。(5) CGRG (Wu et al, 2021)是一种两阶段方法,首先预测控制短语,然后用GPT-2产生回复,GPT-2扩展了归纳注意。(6) KnowledGPT (Zhao et al, 2020b)通过策略梯度方法和课程学习联合训练知识选择器和生成器,在两个基准上取得了最先进的表现。(7) KTWM (Zheng et al ., 2021)将term级去噪纳入知识选择,并生成模拟回复向量来确定知识术语的细粒度权重。(8) CoLV (Zhan et al, 2021)利用两个潜在变量分别促进知识选择和回复生成的多样性。(9) K2R (Adolphs et al, 2021)是一种新的方法,它首先从大规模预训练的语言模型中探测知识,然后用上下文和探测的知识生成回复。所有基线均严格按照官方规范和原论文执行。它们的参数被调优以在验证集上获得最佳结果。
5 End-to-End Evaluation
5.1 Evaluation Metrics
我们选择distinct(Li et al, 2015),熵,BLEU 和ROUGE (Lin, 2004)作为我们的自动度量。BLEU和ROUGE评价了所提出模型的适当性,而distinct和熵关注的是生成的多样性。我们根据Qiu等人(2019)测量了Inter Dist(整个数据集中生成的文本的显著得分)和Intra Dist(每个单个案例的多个生成的假设的平均显著得分)。除了自动评估,还从普通测试中随机抽取了300个例子,并招募了受过良好教育的母语人士来评估不同模型生成的质量。每个注释者需要在{0:差,1:一般,2:好}中给出三个方面的分数:(1)fluency:回答是否流利;(2)coherence:回答是否与语境一致;(3)faithfulness:回复是否根据充分,是否忠实于线索。注释者的一致性是通过Fleiss的kappa来衡量的(Fleiss, 1971)。
5.2 Results and Discussions
通用试验自动评价结果见表2。
表2:通用测试的自动评估结果。加粗的数字是最好的结果。与最佳基线结果相比有显著改善,用*标记(t检验,p < 0.05)。
我们可以观察到以下几点:(1)我们的模型在适当性和多样性方面优于大多数基线方法,特别是knowledgept,由于其更灵活的基础,在KGC中具有竞争力的基线。为了验证这一点,我们测量所选知识/span和相应回复之间的unigram F1。结果是,knowledgept是13.6%,而我们是14.4%。(2) CGRG和CoLV的得分与我们的相当,这分别得益于它们的控制短语和生成的潜在变量。(3) KTWM的细粒度权重机制使其具有竞争适当性。但如果不考虑多引用场景,它会不成比例地关注通用词,这表明它的多样性很差。(4) SKT和也是基于VAE的方法。SKT高度依赖于ground-truth知识标签,这在KGC数据集中并不总是可用的。
支持多参考训练,但不考虑外部知识。其糟糕的性能表明了多参考KGC模型的必要性。
集中测试的自动结果如表3所示。
表3:集中测试的自动评估结果。加粗的数字是最好的结果。与最佳基线结果相比有显著改善,用*标记(t检验,p < 0.05)。
在比较表3和表2时,我们可以看到几乎所有方法的适当性都在下降,而且三种基于VAE的模型的Intra-dist也在下降或波动。我们推测原因是集中测试的情况更具挑战性,他们的回复在语义上更集中。所提出的模型与KnowledGPT相比的优势更加明显,因为KnowledGPT只考虑粗粒度的知识选择。在控制短语的帮助下,CGRG在差分和熵方面的表现令人印象深刻。相反,K2R在通用测试和集中测试中多样性较低。我们估计这是因为K2R的知识模块。它是一种普通的编码器-解码器架构,无法生成多样化的知识,从而限制了生成的假设空间。
人工评价结果如表4所示。
表4:人工评价结果。加粗的数字是最好的结果。
值得注意的是,所提出的模型在信誉度上有了显著的改进。 我们将此归因于跨度机制,因为跨度中的语义更加集中。kappa表示人类评价的有效性。此外,我们注意到K2R的可靠性很差,因为它的知识是产生的,可能会产生幻觉。
案例研究可以在附录D中找到。
5.3 Ablation Study
为了理解每个组件的影响,我们将提出的模型与通用测试中的几个变体进行比较:(1) -span:模型的退化知识选句版本。(2) -dis:去除识别网络,将我们的训练目标简化为普通ELBO;(3) -rec:移除重建奖励。(4) -ground:取消接地奖励。从表5的结果中,我们可以观察到(1)删除跨度机制导致适当性下降,因为完整知识通道中不相关的部分会给模型带来噪声。
表5:常规试验消融研究。加粗的数字是最好的结果。与其他变异的显著差异用*标记(t检验,p < 0.05)。 (2)判别网络在提高生成的多样性方面发挥了重要作用,这可以通过-dis的性能来体现。这是合理的,因为我们的AAELBO用未观察到的回复增加了原始回复集。(3)这两个奖励分量都至关重要,因为去除任何一个都会破坏接地跨度与回复之间的映射关系,导致次优解。
6 One-to-Many Evaluation
6.1 Evaluation Metrics
一对多泛化注重对话模型的多样性。在KGC中,多样性不仅源于生成器的综合过程,也源于知识的选择过程。Intra-Dist和Inter-Dist仅评估端到端生成的多样性,不足以衡量每个组件的效果。受Shen等人(2019)的启发,我们提出了一系列指标来填补这一空白:(1)独特接地的比例:在进行重复实验时,选择独特知识的比例(句子或跨度)。该指标衡量的是接地过程中的多样性。(2)唯一生成比例:在进行重复实验时,唯一生成回复的比例。这一指标衡量的是整体多样性。(3)接地效果:进行重复实验时,唯一接地与唯一产生之比,或(2)与(1)之比。它衡量了创造者所贡献的多样性和知识的影响力。
6.2 Results And Discussions
我们选择两种基于VAE的方法SKT (Kim et al, 2020)和CoLV (Zhan et al, 2021)作为我们的基线,还包括我们方法的两种变体,即-span和-dis。我们注意到-span在span效果上达到了最好的效果,SKT的结果非常相似。我们注意到,-span在跨度的效果方面取得了最好的结果,而SKT的结果非常相似。这是因为它们的基础始终是一个完整的知识句子,因此在输入生成器时更具影响力和决定性。这也解释了唯一跨度的低比率,因为他们的知识选择决策空间有限。此外,同样是基于span的方法,通过-dis和CoLV的比较,我们可以得出CoLV的潜变量有助于提高代多样性。我们的方法在唯一接地比和接地效果上得到了最好的结果,验证了我们提出的AAELBO的有效性。
7 Conclusions
我们已经证明了所提出的变分知识注意方法有助于在不同的粒度级别上灵活地建立对话。此外,我们设计了一种醒睡式学习算法来适应原来的ELBO。为了增强不同跨度和不同回复之间的映射关系,我们改进了REINFORCE (Williams, 1992)中的原始奖励,以适应多参考场景。我们已经通过大量的实验证明了我们的模型的有效性。
Limitations
本文提出了一种解决KGC中一对多泛化问题的方法。所有建立在大规模PLM之上的技术或多或少地继承了它们的潜在危害(Bender et al, 2021)。此外,我们承认有一些具体的局限性:
(1)在数据集集合中,我们使用ungram - f1来度量回复与知识段落之间的相似度。这种方法并不十分精确,可能会漏掉有用的信息或引入不必要的噪声。如果所选择的知识不准确,回复可能包含额外的幻觉。为了弥补这一点,我们招募了人群工作者来控制数据集的质量。
(2)在生成过程中,我们对地面进行单跨度采样。然而,有时选择多个知识片段有可能包含更多有用的信息。如果需要,我们可以简单地多次采样(公式11),以获得多个跨度用于接地。