简介
2020年六月 微软发布,还不清楚那个会议。
论文下载链接
这篇论文和上篇7月份发布那篇论文很像很像。并且SOLOIST引用了七月份这篇论文,这个有点迷。
Motivation
构建一个任务导向型的对话系统是很困难的事情,需要在该任务领域内积累大量知识,如果更换领域的话,基本得从头开始进行所有的积累工作。所以借鉴一下NLP中的预训练模型的思想,如果能够先在有大量语料的领域内训练出一个通用的模型,然后再不同的领域或者任务上进行微调,这样可以快速地在不同的领域内构件任务导向型的对话系统。
Contribution
1:提出使用端到端的方法解决任务导向对话系统
2:提出使用Pre-trained-Fine-tune的模式来解决不同领域内任务导向对话系统的迁移
3:设置了多任务学习
Method
模型的结构如下:
模型使用的是GPT2,训练时输入一共包括四个部分,对话历史,信念状态,数据库查询结果,响应。
如下例:
对话历史中用户和系统的句子分别以User和System开头,信念网络以Belief state 开头,以< EOB > 结束,后面两个信息同样。注意输出响应类似占位符,后面可以通过匹配方式,对餐馆和菜品做替换。
输出一共有三个任务:
1:信念状态的预测
只根据对话历史来预测信念状态,直接把各个状态当做一句话去预测,预测出每个各个状态。
2:输出响应生成
根据对话历史,信念状态,以及根据状态在数据库中查询到结果,来预测生成系统的输出响应。这里和七月份那篇文章不同,它在训练的时候不预测这块,而是直接查询数据库,然后做拼接,另外这块没有action的预测,直接做的输出响应预测。论文中给出的理由是只需要对state进行标注,无需对action进行标注,降低了数据标注的成本。
3:对比目标
这块是新加的一个任务。他把训练数据中的部分state或者response做了替换,这样生成了负例样本。这个任务主要是做二分类,预测数据中是否有东西被替换。有点像Bert里的mask机制,这样可以让模型有一定的补全功能。如果训练数据集中有部分样本标错,或者state部分有确实,模型可以通过这样的机制对数据进行一定的纠错或补全。
Conclusion
论文的整体思想很nice,提出了一个构建标准的任务导向对话系统的流程,首先通过在大量的open-domain的数据集上训练处一个通用的模型,然后再根据不同的领域或者任务,使用少量的数据即可做任务导向型对话系统的迁移。