论文笔记:Multi-Task Pre-Training for Plug-and-Play Task-Oriented Dialogue System

619 阅读10分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情

导语

摘要

预训练语言模型最近被证明有利于任务导向型对话(TOD)系统。尽管取得了成功,但现有方法往往将此任务表述为级联生成问题,可能导致不同子任务之间的误差累积和更大的数据标注开销。本文提出PPTOD,一种面向任务型对话的统一即插即用模型。引入了一种新的对话多任务预训练策略,允许模型从异构对话语料库中学习主要的TOD任务。在三个基准的TOD任务上广泛测试了所提出模型,包括端到端对话建模、对话状态跟踪和意图分类。实验结果表明,PPTOD在高资源和低资源场景下的所有评估任务上都取得了新的技术水平。此外,与之前的SOTA方法的比较表明,人工标注者判断PPTOD生成的响应更准确、语义更连贯。

1 简介

面向任务的对话通常可以分解为3个子任务:(1)对话状态跟踪(dialogue state tracking, DST),用于跟踪用户的信念状态;(2)对话策略学习(POL)用于决定采取何种系统行动;(3)用于生成对话响应的自然语言生成(NLG)。

大多数现有方法将面向任务的对话表述为级联生成问题,即模型只能通过对前一个子任务的输出进行约束来解决后一个子任务。SimpleTOD等模型使用级联的方式将三个子任务的输出依次添加到输入中,主要有三个问题:

  1. 由于是级联方式,误差会逐步累积;
  2. 需要各个子任务上的标注数据;
  3. 级联方式导致子任务的延迟叠加。

本文提出了一个新颖的即插即用的任务型对话系统(Plug-and-Play Task-Oriented Dialogue (PPTOD)),该模型通过使用prefix prompt的形式将不同的对话模块(如DST、POL和NLG)集成到一个统一的模型中。PPTOD的优点如下:

  1. 由于每个子任务单独训练,所以可以使用更多的各个子任务上的训练数据;
  2. 避免了错误累积和推理延迟。

此外,PPTOD在一系列对话语料库上进行“预训练”,在面对新任务时,只需要采用和预训练一样的目标函数即可完成Fine-tune。通过自动评估和人工评估,PPTOD在全训练和低资源环境下都取得了更好的性能。

2 相关工作

3 方法

3.1 预训练数据集

PPTOD在一下几个数据集上进行预训练:MetaLWOZ, SNIPS, CLINC, ATIS, KVRET, WOZ, MSRE2E, Frames, TaskMaster, and SchemaGuided。总的来说,在80个领域有超过230万个语句。表1提供了所有数据集的数据注释和话语/领域统计的详细信息。

image.png

3.2 多任务行对话预训练

在多任务预训练阶段,每个训练样本表示为:

image.png

其中tt为样本dd所属的TOD任务,t{NLU,DST,POL,NLG}t∈\{NLU, DST, POL, NLG\}ztz_t是“translate dialogue to A:”形式的任务特定提示,对于NLU、DST、POL和NLG任务,A分别对应“用户意图”、“信念状态”、“对话行为”和“系统响应”。xx表示输入对话上下文,它是对话中所有先前语句的拼接——系统的和用户的。yy表示目标输出文本。

image.png

如图1所示,为了执行用户意图分类任务(即NLU),模型被输入序列“translate dialogue to user intent: [user] Tell me the weather forecast for Lecanto, Georgia.” 并被训练用于生成用户的意图“[get_weather]”。

其训练的目标函数即最大似然的目标函数:

image.png

3.3 在新任务上Fine-tune

在新任务上Fine-tune的目标函数和预训练时的目标函数一致。(这里笔者存疑:其实这个预训练就是在一些其他子任务上Fine-tune,还可以叫预训练吗?)

image.png

3.4 实现细节

本文报告3种不同size的PPTOD的结果,即small、base和large。详见论文。

4 实验

在三个基准TOD任务上测试了PPTOD:(1)端到端对话建模;(2)对话状态跟踪;(3)用户意图分类。

4.1 End-to-End Dialogue Modelling

端到端对话建模旨在在最真实的、完全端到端的环境中评估模型,其中生成的对话状态用于数据库搜索和响应生成。

4.1.1 数据集和评价指标

使用基准数据集MultiWOZ 2.0和2.1上进行实验。在MultiWOZ中,响应的生成不仅与对话上下文有关,还与数据库(DB)状态有关。使用生成的对话状态(DST)自动从预定义数据库检索数据库状态。根据之前的研究,在推理过程中,PPTOD首先预测DST结果以检索DB状态。然后,基于检索到的数据库状态和对话上下文,并行生成POL和NLG的结果。在§5节中,我们会进一步比较使用或不使用数据库状态作为输入时模型的性能。

在评估方面,对所有单项指标遵循原始MultiWOZ设定,即使用Inform、Success和BLEU作为评价指标。同时还有一个整体分数,Combined = (Inform + Success) × 0.5 + BLEU。

4.1.2 Baselines

4.1.3 全量训练的评估

表2显示了主要结果。在两个MultiWOZ 2.0和2.1数据集上,PPTOD在8个指标中的7个表现优于之前的SOTA方法。

image.png

4.1.4 低资源训练的评估

为了研究PPTOD的泛化能力,在一个更具挑战性的低资源场景中对其进行了评估。根据之前的研究,通过改变训练数据的百分比,在MultiWOZ 2.0上训练模型,范围从1%(∼80个样本)到20%(∼1600个样本)。将该模型与几个强大的基线进行了比较,包括MDSequicity、DAMD、SOLOIST和MinTL。结果如下表所示:

image.png

值得注意的是,当用于训练的样本更少时,性能增益更大。这表明PPTOD更好地利用了预训练的先验知识,因此在极端低资源的环境中取得了更好的结果。此外,使用20%的训练数据,PPTOD可以取得与使用完整数据集训练的SOLOIST等系统的分数相当的结果。

4.2 Dialogue State Tracking

评估了PPTOD在对话状态跟踪任务中的应用,评价指标使用联合目标精度。

4.2.1 全量训练的评估

下面将PPTOD与多种现有方法进行了比较,这些方法可以分为两类:(1)基于分类的方法和(2)基于生成的方法。表4显示了DST结果。

image.png

4.2.2 低资源评估

为研究PPTOD在有限训练样本下在下游任务中的表现,在模拟的低资源环境中对其进行了评估。具体来说,本文通过改变训练数据的百分比(即1%、5%、10%和20%)在MultiWOZ 2.0上训练模型。将PPTOD与三个强大的基于生成的基线进行了比较,包括SimpleTOD、MinTL和SOLOIST,使用作者发布的官方代码。

image.png

表5给出了实验结果。可以看到,在所有情况下,PPTOD的表现都大大优于其他基线。在极端情况下,只有1%的训练数据,PPTOD比最强的solo模型精度高出18个点。这表明所提出模型具有更强的泛化性,可以更好地应用于训练数据量有限的新任务。

4.3 Intent Classification

意图分类的目标,即NLU,是根据用户的话语对用户的意图进行分类。在基准Banking77数据集上进行了实验,该数据集包含有77种不同用途的数据。遵循之前的研究,在完全训练和低资源环境下测试了该模型。在资源匮乏的情况下,我们将每个意图的训练样本数量从10变化到30。报告了标准分类精度以进行评估。

image.png

5 进一步分析

5.1 Plug-and-Play vs Cascaded Generation

首先,将即插即用生成与所采用的级联生成进行了比较。大多数现有的研究。通过即插即用或级联在MultiWOZ 2.0上对T5-small模型(无对话多任务预训练)进行微调。此外,还研究了数据库状态对模型性能的影响。具体来说,对于即插即用模型,在利用数据库状态时,首先预测对话状态(DST),从预定义的数据库中检索数据库状态。然后,基于数据库状态和对话上下文,并行生成POL和NLG的输出;当忽略DB状态时,即插即用模型以完全并行的方式生成DST、POL和NLG结果。

为了进行评估,报告了端到端对话建模任务的结果。此外,还报告了每个模型的平均推理延迟和相对加速比。我们将消融模型与两个强基线进行了比较,SOLOIST和mintl。

表6给出了结果。正如所见,即插即用模型比级联模型产生了更好的结果。一个原因是,对于级联模型,之前生成的结果被明确地用作后一个子任务的模型输入,这会导致误差累积。使用DB状态通常会提高即插即用和级联模型的模型性能,因为它为模型提供了更多的基础信息。此外,使用DB state,所提出的即插即用模型取得了比MinTL更好的总体分数,速度提高了约4倍。这表明即插即用公式在生成精度和推理延迟方面对模型都有好处。

image.png

5.2 多任务预训练调查

对对话多任务预训练策略进行了进一步分析。为量化不同预训练数据的重要性,使用为个别TOD相关任务(即NLU、DST、POL和NLG)标注的数据对T5-small模型进行预训练。在预训练后,使用MultiWOZ 2.0和Banking77数据集在三个下游TOD任务上评估模型。对于端到端对话建模和对话状态跟踪,在1%和全训练环境下测试了该模型。对于意图分类,我们测量了用每个意图10个训练样本或全部训练样本训练的模型的准确性。

image.png

表8给出了第一行的结果,显示了普通T5-small模型的性能。可以看出,在没有任何预训练的情况下,普通的T5-small模型在所有评估任务的低资源设置下表现很差。这表明,预训练的先验知识对于模型在低资源场景中实现强大性能是不可或缺的。

用为单个TOD相关任务标注的数据进行预训练,有助于模型在相应的下游任务中取得更好的结果。例如,在低资源和全训练环境下,用DST数据进行预训练可以显著提高下游DST任务中的模型性能。类似地,使用NLG数据进行预训练有助于模型在端到端对话建模任务中获得更好的BLEU分数。

PPTOD小模型在大多数评估指标上都取得了最好的结果。这表明,具有不同注释的预训练数据是相互兼容的,联合利用所有预训练数据有助于模型实现最佳的整体性能。

5.3 人工评估

本文还使用人工对生成的响应从以下几个维度进行了评估:

  • 理解能力,Understanding
  • 真实性,Truthfulness
  • 连贯性(句法角度),Coherency
  • 流利性(语法角度),Fluency

image.png

6 总结

本文提出PPTOD,一种统一模型,以即插即用的方式支持面向任务的对话理解和响应生成。引入了一种新的对话多任务预训练策略,以进一步增强模型完成相关任务的能力。在3个基准TOD任务上分别在高资源和低资源环境下进行了广泛的实验和分析。实验结果表明,PPTOD在各项评价指标上均优于现有的SOTA系统。