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
如何加入MAML:
上图中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的参数。
具体算法:
实验
数据集:SimDial(来自Zero-shot Learning的paper)
指标:BLEU score, entity F1 score, adapting time.
结果:数据集上指标优于Zero-shot和Transfer Learning。