博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对话模型,DialogBERT和DialogWAE优势何在?
阅读量:2242 次
发布时间:2019-05-09

本文共 4451 字,大约阅读时间需要 14 分钟。

点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

多轮对话生成一直是一项典型的NLP应用,并且在众多任务上取得成功。多轮对话问题一直面临两大挑战,即如何准确地学习对话历史的向量表示,以及如何更好地学习应答与历史之间的关系,以保证对话的连贯性。

围绕这两大主题,讲者分别提出一种针对多轮对话生成的预训练模型DialogBERT和多模态应答生成模型DialogWAE,前者采用层次化BERT构建句子级的连贯关系,并提出两种预训练方法:掩藏句编码回归和分布式句子顺序预测;后者采用高斯混合先验生成对话,提高对话的多样性和丰富性;对比实验验证了讲者所提策略能更好的获得语义更丰富,更加连贯的应答。

顾小东:上海交通大学副教授,博士生导师,研究方向为程序搜索、对话生成、语言模型等。2017年博士毕业于香港科技大学,师从Sunghun Kim教授。2015-2016年间作为实习生在微软亚研院从事程序自动生成方面的研究。以第一作者在ICLR、ICSE、FSE、AAAI、IJCAI等人工智能和软件工程领域顶级会议发表论文数篇,并担任审稿人。

一、对话模型面临的两个挑战

开放领域的对话生成是一项典型自然语言应用问题,可概括为基于对话历史(即,上下文),采用机器学习算法,预测下一句对话。目前解决该问题的方法主要围绕图1所示的框架展开研究,首先给定模型一段对话历史,然后采用深度学习的方法学习对话历史的语义向量,最后通过构建对话历史与应答间的语义关系实现应答生成。上述过程存在两个挑战:

a.由于对话历史通常很长,信息量大,这对将对话历史表示为精确的语义向量带来很大困难;

b.如何学习应答与对话历史之间的关系,以保证对话的连贯性。

图1.对话模型常用框架流程介绍

二、DialogBERT预训练策略

1、问题概述

针对第一个挑战,如何学习复杂上下文的语义向量?近期的相关研究是采用预训练语言模型来处理对话历史,比如,Transformer、GPT2等。

其缺陷之一在于:模型将对话历史看作一个较长的单词序列(通常,前句和后句间具有非常连贯的语义),但对话中句子间存在多种关系,比如转折等,因此很难将对话历史看作是很长的文本序列处理;

缺陷之二在于:基于自注意力机制的Transformer模型,关注的是单词层级的相关性,而不是学习句子间的连贯性。该策略难以准确获取句子层级的连贯关系,并且在时间上很低效。

基于此,讲者提出DialogBERT模型,即采用层次化BERT模型的思想,学习长序列对话上下文丰富的语义,如图2所示。首先使用句子级别的编码器学习每个句子的向量;然后将每句话的向量作为篇章级编码器的输入,从而学习句子间的语义关系。同时,讲者提出两种预训练策略:隐藏句子回归以及分布式句子顺序预测。

图2. DialogBERT模型介绍

2、训练策略

训练任务一:隐藏句子回归。首先是对层次化BERT模型得到的隐藏变量进行解码,以生成目标应答,如图3所示。

图3.应答生成

然后随机mask一些句子,再通过训练编码器以复原被mask的句子。讲者提出从向量的角度做回归,即对mask的句子进行编码得到的向量,与经过预测得到的向量做均方误差。

图4. 隐藏句子回归

训练任务二:学习句子顺序。指将原始句子顺序打乱,然后预测句子的顺序,但现有的工作是将句子的每一种排序作为一类,通过分类模型进行训练。其局限性在于,对句子排列组合得到非常多的句子序列,且存在大量重复排序,比如,某两种排序中,只有最后两个顺序对调, 这两种排序仍然是高度相关的,而简单的分类模型难以捕捉这种相关性。

讲者提出分布式句子顺序预测方法,即将encoder得到的句子向量通过排序网络对每句话打分,然后按照分数对句子进行降序排列。在该过程中,训练目标是衡量由softmax得到句子顺序的概率分布与目标顺序分布间的距离,即采用KL散度表示。

图5. 分布式句子顺序预测

3、实验验证

实验所用数据集、评价指标以及baseline 模型如图6所示。

图6.实验数据集、指标以及baselines介绍

通过定量实验分析结果可知,将应答生成、隐藏句子回归以及分布式序列预测这三项组合,可以得到更好的效果。

图7.实验结果

进一步,讲者进行消融实验来验证不同模块对实验结果的影响,图8上表是对不同大小的上下文编码器进行对比实验,即取不同Transformer层数时的实验结果表明,层数大小对编码结果影响不明显,即上下文编码器很容易识别上下文的语义关系。

图8下表是指与其他预训练策略进行对比,实验结果表明采用分布式序列预测比全局分类具有非常大提升。

图8.消融实验对比结果

最后,随机选取200个对话,由Amazon的Crossing平台进行人工评估,结果表明讲者所提策略能学习到更连贯更具信息量的应答。

图9. 人工评估结果

从MultiWOZ数据集上的实验可知,讲者所提策略能得到更具信息量的回答;在DailyDialo数据集上的实验表明,所提方法能够生成更连贵,同时具有信息量的应答。

图10.示例研究

三、DialogWAE模型预训练策略

1、问题概述

针对挑战二:如何学习上下文与应答之间的关系,使应答更加连贯,更符合上下文语义?讲者2019年发表于ICLR的文章,提出多模态应答生成策略,来解决上述问题。在对话模型中常采用sequence-to-sequence模型,往往由于一个对话上下文会产生多个不同应答,导致模型最终更倾向于生成一种safe response,比如,good,I don’t know。与人类对话相比,safe response的质量大大下降。

究其原因,由于回答场景多样就会出现多样性回答,比如,图11所述场景。

图11.不同场景不同应答示例

目前大多模型基于原始上下文语义,并只采用一个decoder来生成应答,假设对decoder增加条件信息,理论上可避免一对多现象。那么,如何将不同条件引入原始sequence-to-sequence模型中?现有的做法通常是引入隐变量表示不同的场景,主题等,并在已知上下文的情况下预测该场景,继而在不同场景下预测其应答。但这样的场景没有办法一个个遍历,通常采用EM思想,先评估场景的后验概率,然后在其基础上求解并最大化该似然的期望值。

图12.问题详述

非常经典的对话模型CVAE就是采用这种思路,用神经网络拟合隐变量的后验概率,然后最小化ELBO表达式。CVAE分别采用recognition network以及prior network拟合场景的后验概率和先验概率,从而生成高斯参数,采样即可得到隐变量。一方面可最小化KL求解;另一方面可在后验概率基础上生成应答,并最大化其似然函数。

然而,CVAE模型有两个缺点:其一,假设概率Z是一个非常简单的形式,即单模态的高斯模型,使得隐变量容易出现mode collapse的问题(会收缩到非常简单的一个模态);其二,由于隐变量形式简单,使得decoder易忽略隐变量,出现posterior collapse。

 

2、模型介绍

 

讲者考虑多模态对话,即一个问题,具有多个模态的应答,每个模态代表不同话题或场景等。基于此,提出DialogWAE模型,其基本思想不是简单从高斯分布中采样隐变量,而是通过GAN来生成,即在上下文和应答基础上采样一个噪声,以生成更丰富的隐变量。则原来VAE距离可转化为关于GAN的距离(文章中采用了更稳定的Wasserstein距离),其中隐变量z由生成器生成,W由判别器进行计算。

图13. DialogWAE基本原理

最终模型结构如图14所示。分别由两个网络生成两个noise,并通过生成器Q和G生成对应的Z,再由判别器最小化二者的Wasserstein距离。为了支持多模态(如多种话题等),文章引入了高斯混合先验,假设先验概率是一个混合高斯模型,因此先验网络生成的高斯混合参数中,除了σ外还引入了π,π是指假设每次只有一个话题被选中,可由Gambul softmax采样得到。

图14. 基于高斯混合先验的DialogWAE模型框架

算法的流程,如图15所示,详细算法见论文。

图15. 算法流程介绍

3、实验验证

基于英文数据集Switchboard 和Dailydialogue进行实验验证;采用BLUE score和 BOW Embedding 作为主要评估指标,采用Distinct评估采样样本的多样性;同时选择多种baseline模型作对比研究。

图16. 实验设置

实验结果表明,在定量性的指标上,讲者所提方法具有更好的效果;从生成应答的长度来看,也超过大部分的baseline模型;此外,增加了高斯混合先验GMP 模块后,模型取得更好的效果。

图17. 实验结果

最后,通过实例证明了讲者所提方法可生成更加丰富的应答。

图18. 实例验证

四、结论

讲者基于对话领域,分别介绍了DialogBERT和DialogWAE两项工作。前者提出了一种分布式句子排序策略,后者采用GAN生成隐变量,并借助高斯混合先验生成多模态应答。

图19. 结论

 

REF

参考文献:

[1] Xiaodong Gu, Kang Min Yoo, Jung-Woo Ha. DialogBERT: discourse-aware response generation via learning to recover and rank utterances (AAAI 2021) https://arxiv.org/abs/2012.01775

 

[2] Xiaodong Gu, Kyunghyun Cho, Jung-Woo Ha, Sunghun Kim. DialogWAE: multimodal response generation with conditional Wasserstein auto-encoder (ICLR 2019) https://arxiv.org/abs/1805.12352

 

整理:刘美珍

审稿:顾小东

排版:岳白雪

AI TIME欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你!

请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI TIME是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

 

(直播回放:https://www.bilibili.com/video/BV1tv411h7ST)

(点击“阅读原文”下载本次报告ppt)

转载地址:http://kzwdb.baihongyu.com/

你可能感兴趣的文章
解决问题之 MySQL慢查询日志设置
查看>>
contOS6 部署 lnmp、FTP、composer、ThinkPHP5、docker详细步骤
查看>>
TP5.1模板布局中遇到的坑,配置完不生效解决办法
查看>>
PHPstudy中遇到的坑No input file specified,以及传到linux环境下遇到的坑,模板文件不存在
查看>>
TP5.1事务操作和TP5事务回滚操作多表
查看>>
composer install或composer update 或 composer require phpoffice/phpexcel 失败解决办法
查看>>
TP5.1项目从windows的Apache服务迁移到linux的Nginx服务需要注意几点。
查看>>
win10安装软件 打开时报错 找不到 msvcp120.dll
查看>>
PHPunit+Xdebug代码覆盖率以及遇到的问题汇总
查看>>
PHPUnit安装及使用
查看>>
PHP项目用xhprof性能分析(安装及应用实例)
查看>>
composer安装YII
查看>>
Sublime text3快捷键演示
查看>>
sublime text3 快捷键修改
查看>>
关于PHP几点建议
查看>>
硬盘的接口、协议
查看>>
VLAN与子网划分区别
查看>>
Cisco Packet Tracer教程
查看>>
02. 交换机的基本配置和管理
查看>>
03. 交换机的Telnet远程登陆配置
查看>>