Domain Adaptive Dialog Generation via Meta Learning

简介

Domain Adaptive Dialog Generation via Meta Learning, ACL2019, pdf, pytorch code

这篇论文将Meta Learning中的经典算法MAML融合进end2end(生成式)的对话系统。旨在利用Meta Learning学习出在领域(Domain)间快速适应的模型。使得在新的领域只有少量数据的情况下,也能获得不错的对话效果。

本文提到:Meta Learning在对话中,已有人将其利用到dst和dpl中,也有人将其应用到end2end的对话系统中,但适应的是用户的情绪。

模型结构

基础模型是seq2seq + Two Stage CopyNet,来自这篇论文:

Sequicity: Simplifying Task-oriented Dialogue Systems with Single Sequence-to-Sequence Architectures, acl2018, pdf, pytorch code

image

如何加入MAML:

image

上图中a是典型的梯度更新:

  • (1) 结合训练数据和初始模型
  • (2) 计算损失函数值
  • (3) 更新模型参数

b是Meta Learning的更新。

  • (1) 分别结合k个Source Domain的训练数据和初始模型。
  • (2) 对每个domain,计算一个损失函数值
  • (3) 用上面的损失函数值更新每个domain对应的模型$M’_k$。
  • (4) (5) 使用第k个domain的数据,重新计算每个领域模型$M’_k$当前的损失函数值。
  • (6) 把这些损失函数值都相加,得到一个新值。
  • (7) 用上面的函数值去更新模型M的参数。

具体算法:

image

实验

数据集:SimDial(来自Zero-shot Learning的paper)

image

指标:BLEU score, entity F1 score, adapting time.

结果:数据集上指标优于Zero-shot和Transfer Learning。