基于预训练模型的检索式对话系统最新研究进展
©PaperWeekly 原创 · 作者 | 褚维芜
学校 | 北京邮电大学研究生
研究方向 | 自然语言处理
笔者最近阅读了一些对话系统预训练相关的文章,其所采用的模型大致可以分为两类:生成式(GPT 系)和判别式(BERT 系、ConveRT 系)。其中判别式模型大多可以用于检索式对话系统的构建,本文主要对检索式对话系统预训练相关工作进行了整理和介绍。
背景
1.1 检索式对话系统
目前对话系统的建模主要有三种方式:生成式、检索式以及生成和检索融合的方式。检索式对话系统(Retrieval-based dialogue system)是根据对话历史和当前用户话语选择最合适的系统回复来与用户进行对话的系统。顾名思义,一个检索式对话系统的任务就是在大量的候选回复中选择一个最佳的回复反馈给用户,如下图所示。
检索式对话系统将对话建模为回复选择任务,这种方式构建的对话系统具有许多优势,例如:不需要专家定义结构化的领域本体,减少人工;避免了困难的语言生成(language generation)问题;回复选择模型的输出更方便进行约束和组合;不需要设计专用的用于决策的策略模块等。
目前,预训练语言模型(如 BERT、GPT 等)已经广泛应用于许多 NLP 任务。这些模型是基于大量的文本语料库(如:Wikipedia)进行自监督训练的,进一步 fine-tune 模型输出的表示可以在各种下游任务上取得很好的成果。
然而,由于文本和对话的语言模式存在一定的差异,传统的文本预训练模型很难在对话数据上进行 fine-tune。因此,近年来有研究者利用社交媒体的闲聊数据(如:Twitter、Reddit)来预训练语言模型,得到专用于对话系统的预训练语言模型,并将其运用于对话任务,取得了很好的效果。
模型
训练方式的选择:为什么使用 pretrain + fine-tune,不采用其他方式?
本文采用的方案是利用 Reddit 进行 pretrain(only run once),再利用预训练好的模型再各个领域 fine-tune。而其替代方案是,域内数据和 Reddit 数据融合成一个单一的训练集,但是这种方式存在如下的问题:
需要对每个任务进行昂贵的再训练 域内数据和 Reddit 数据大小之间的不平衡,目标任务信号被消除
初步实验结果表明,该方案的结果低于提出的轻量级 fine-tune 策略
所以 pretrain + fine-tune 才是时间上、性能上均为最佳的模式。
数据集的选择:为什么使用 Reddit 数据集?
Reddit 数据集包含原生的对话结构,且其数据量大、话题广泛、回复长度不受限制、回复话语更自然,所以非常适用于回复选择任务。
模型结构及训练
模型结构
预训练目标函数:Scaled Cosine Similarity Scoring 计算 input 和 response 之间的相似度:。在训练过程中,一个 batch 包括 个 input-response 对,一个 batch 对于的损失函数为:
2.2 ConveRT:更轻量的模型
2019 年 11 月,PolyAI 团队在 arXiv 上传论文:ConveRT: Efficient and Accurate Conversational Representations from Transformers [2](2020 EMNLP Findings),这篇文章可以认为是 2019 ACL 的后续工作,依然是 pretrain(Reddit 数据)+fine-tune 的方式,在其基础上提出了一个更轻量级的预训练回复选择模型 ConveRT,并且模型还可以引入了更多的对话历史信息。另外,模型学习的句子编码可以 transfer 到其他对话任务(eg.意图识别)。
模型结构
预训练目标函数:和 2019 ACL [1] 一致
2.3 Pretrain+fine-tune:Real-World Setting
Amazon 团队在 2021 NAACL 的 Industy Paper 发表了 Pretrain-Finetune Based Training of Task-Oriented Dialogue Systems in a Real-World Setting [5]。这篇文章依然采用 pretrain+fine-tune 的方式训练检索式对话系统,且模型部署在 agent-support 应用程序中,并实时进行评估。
模型结构 预训练目标函数:a ranking based loss function 计算 context 和 response之间的相似度 ,直接最小化给定 context 时真实 response 的负对数概率:
2.4 其他相关工作
总结
参考文献
[1] Henderson M , I Vulić, Gerz D , et al. Training Neural Response Selection for Task-Oriented Dialogue Systems[C]// Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. 2019.
[2] Henderson M, Casanueva I, Mrkšić N, et al. ConveRT: Efficient and Accurate Conversational Representations from Transformers[C]//Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: Findings. 2020: 2161-2174.
[3] Coope S, Farghly T, Gerz D, et al. Span-ConveRT: Few-shot Span Extraction for Dialog with Pretrained Conversational Representations[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. 2020: 107-121.
[4] Henderson M, Vulić I. ConVEx: Data-Efficient and Few-Shot Slot Labeling[C]//Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2021: 3375-3389.
[5] Srivastava M, Lu Y, Peschon R, et al. Pretrain-Finetune Based Training of Task-Oriented Dialogue Systems in a Real-World Setting[C]//Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Industry Papers. 2021: 34-40.
[6] Wu C S, Hoi S C H, Socher R, et al. TOD-BERT: Pre-trained Natural Language Understanding for Task-Oriented Dialogue[C]//Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2020: 917-929.
特别鸣谢
感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧