简单有效的零镜头任务导向对话

1726809441762.jpg

现代对话代理需要与越来越多的服务集成,以执行各种各样的任务,从预订航班和查找餐厅,到播放音乐和讲笑话。添加此功能可能很困难——对于每个新任务,都需要收集新数据并重新训练为对话代理提供支持的模型。这是因为大多数面向任务的对话 (TOD) 模型都是在单个特定于任务的本体上训练的。本体通常表示为可能的用户意图列表(例如,如果用户想要预订航班,如果用户想要播放一些音乐等)和可能从对话中提取的参数槽(例如,航班日期、歌曲名称等)。僵化的本体可能会受到限制,阻止模型推广到新任务或领域。例如,在某个本体上训练的 TOD 模型只知道该本体中的意图,并且缺乏将其知识推广到未见过的意图的能力。即使新本体与代理已知的本体重叠,情况也是如此。例如,如果代理已经知道如何预订火车票,那么添加预订机票的能力就需要对全新数据进行训练。理想情况下,代理应该能够利用其在一个本体中的现有知识,并将其应用于新本体。

新的基准测试(例如模式引导对话(SGD) 数据集)旨在通过将每个本体提炼为一个槽和意图模式来评估推广到未见过的任务的能力。在 SGD 设置中,TOD 模型在多个模式下进行训练,并根据它们推广到未见过的模式的能力进行评估 — 而不是它们对单个本体的过度拟合程度。然而,最近的研究表明,顶级模型仍有改进空间。

为了解决这个问题,我们引入了两种不同的序列到序列方法用于对话建模的零样本迁移,这在论文“描述驱动的任务导向对话”和“展示而不是讲述:对于模式引导的任务导向对话,演示优于描述”中进行了介绍。 这两个模型都以额外的上下文信息为条件,要么是槽位和意图描述,要么是单个演示示例。 在多个对话状态跟踪基准上获得的结果表明,通过消除固定的模式和本体,这些新方法可以在对话状态跟踪任务上产生最先进的结果,并且模型效率更高。 所述方法的源代码可以在这里找到。

背景:对话状态跟踪

为了解决对话模型的零样本迁移挑战,我们专注于对话状态跟踪 (DST) 问题。DST 是对话代理的一个基本问题,其中模型预测对话的信念状态,即代理对用户指示的偏好的理解。信念状态通常被建模为对用户在对话中指示偏好的槽位的赋值。下面显示了一个示例。

对话示例及其用于对话状态跟踪的地面实况槽和意图。此处,活跃用户意图是“预订火车”,预订这趟火车的相关信息记录在槽值中。

描述驱动的任务导向对话

在我们的第一篇论文中,我们介绍了描述驱动对话状态跟踪 (D3ST),这是一种 DST 模型,它在对信念状态进行预测时利用槽位和意图描述。D3ST 建立在T5 序列到序列语言模型之上,该模型在先前的研究中被证明可以有效地针对 DST 问题进行预训练。

D3ST 使用槽位和意图描述提示输入序列,使 T5 模型能够同时关注这些上下文信息和对话。它的概括能力来自这些描述的制定。我们为每个槽位分配一个随机索引,而不是为每个槽位使用一个名称。对于分类槽位(即,仅从一小组预定义集合中取值的槽位),可能的值也是任意枚举然后列出的。意图也是如此,这些描述一起构成要包含在输入字符串中的模式表示。这与对话文本连接并输入到 T5 模型中。目标输出是信念状态和用户意图,同样由它们分配的索引标识。下面显示了一个示例。

D3ST 输入和输出格式的示例。红色文本包含插槽描述,而蓝色文本包含意图描述。黄色文本包含对话话语。

这会强制模型使用槽的索引而不是特定槽来预测对话上下文。通过在不同示例之间随机化我们分配给每个槽的索引,我们可以防止模型学习特定的架构信息。索引为 0 的槽在一个示例中可能是“火车出发”槽,在另一个示例中可能是“火车目的地”槽 — 因此,鼓励模型使用索引 0 中给出的槽描述来找到正确的值,并阻止其过度拟合到特定架构。通过这种设置,看到足够多不同任务或领域的模型将学会概括信念状态跟踪和意图预测的动作。

展现而非诉说

在我们随后的论文《展示而非讲述:在基于图式引导的任务导向型对话中,演示优于描述》中,我们使用了一个带注释的对话示例来演示对话中可能出现的槽位和值,而不是依赖于槽位描述。从这个意义上讲,我们通过描述“展示”图式的语义,而不是“讲述”模型,因此得名“展示而非讲述”(SDT)。SDT 也是基于 T5 构建的,并且零样本性能优于 D3ST。

n SDT 输入和输出格式的示例。红色文本包含示范性示例,而蓝色文本包含其基本事实信念状态。模型要预测的实际对话为黄色。虽然 D3ST 提示完全依赖于槽描述,但 SDT 提示包含简洁的示例对话,后跟预期的对话状态注释,从而实现更直接的监督。

SDT 单个示例演示的理由很简单:可能仍存在一些模糊之处,无法在插槽或意图描述中完全捕捉到,需要具体示例来演示。此外,从开发人员的角度来看,创建简短的对话示例来描述架构通常比编写完全捕捉每个插槽和意图背后含义的描述更容易。

基准测试结果

我们根据一系列基准对 D3ST 和 SDT 进行了评估,其中最值得注意的是SGD 数据集,该数据集测试了其测试集中未见过的模式的零样本泛化。我们根据联合目标准确率 (JGA) 评估我们的状态跟踪模型,即模型预测出完全正确的信念状态的对话回合比例。

我们的两个模型在可比模型大小下均达到或超越了现有的最先进基线(T5DST和paDST),如下所示。总体而言,SDT 的表现略优于 D3ST。请注意,我们的模型可以在不同大小的底层T5 语言模型上进行训练。此外,虽然基线模型每次前向传递只能对一个位置进行预测,但我们的两个模型都可以在一次前向传递中解码整个对话状态——这是一种训练和推理效率更高的方法。

针对现有基线和我们提出的模型 D3ST 和 SDT 绘制的 SGD 数据集上的联合目标准确率与模型大小的关系图。请注意,paDST* 包含额外的数据增强。

两篇论文都报告了其他指标。D3ST 在MultiWOZ 数据集 上表现出最佳质量,在 MultiWOZ 2.4 上 JGA 为 75.9%。D3ST 和 SDT 在 MultiWOZ 跨域留一法设置中均表现出最佳性能。此外,D3ST 和 SDT 均使用SGD-X 数据集进行评估,并表现出对架构语言变化的强大鲁棒性。这些基准都表明 D3ST 和 SDT 是最佳 TOD 模型,具有推广到未知任务和领域的能力。

零样本能力

D3ST 和 SDT 有时表现出令人惊讶的泛化能力,能够应用于从未见过的任务,我们在尝试使用模型进行全新对话时看到了很多有趣的例子。我们在下面列举了一个这样的示例:

在 SGD 数据集上训练的 D3ST 模型对有关创建此博客文章的未见元对话(左)做出预测(右)。该模型预测了完全正确的信念状态,即使它没有针对与博客、作者或 NLP 相关的任何内容进行微调。

未来工作

这些论文证明了零样本 TOD 系统可以推广到未知任务或领域。但是,我们目前仅限于 DST 问题 — 我们计划扩展这项研究以实现零样本对话策略建模,让 TOD 系统能够按照任意指令采取行动。此外,当前的输入格式通常会导致输入序列过长,这可能会降低推理速度 — 我们正在探索新的、更有效的方法来编码架构信息。

致谢

这篇文章是 Jeffrey Zhao、Raghav Gupta、Harrison Lee、Mingqiu Wang、Dian Yu、Yuan Cao 和 Abhinav Rastogi 共同努力的成果。我们要感谢 Yonghui Wu 和 Izhak Shafran 一直以来的建议和指导。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论