©PaperWeekly 原创 · 作者|Xiang Gao

单位|Microsoft Research

研究方向|对话系统

大数据的精华与糟粕

随着 GPT-2 等大规模预训练模型的提出,对话生成模型性能取得了突飞猛进的提高,Microsoft, Google, Facebook 先后提出自家的预训练对话模型:DialoGPT [1], Meena [2], Blender [3]. 这些模型虽然在实现细节有区别,但训练的核心都是模仿训练语料的数据分布。

可是,即使是人类也会产生不同质量的回复:有的回复获得很多赞,还有的能引发更多的讨论,但也有灌水,甚至是不文明和拉仇恨的言论。而如果把糟粕精华一股脑全都丢给模型去训练,就会产生各种各样的问题。我们希望对话生成模型能“思而后言”,对回复的质量先做一个评估再返回结果。

预测人类反馈

生成模型的一个经典问题是可能会经常生成 I don’t know 等无趣的回复。一个有效的措施是 MMI 算法 [4]:用 beam search 等方法对给定上文生成多个回复,再用 mutual information 来排序。

背后假设是,如果能从一个回复猜出来它的上文是什么,那么这个回复就很可能是含有有用信息。此外还有通过构建更具有表达力的 latent space 的来增强回复多样性的工作,比如 CVAE [5] 和 SpaceFusion [6]

MMI 是一个作者很喜欢的数据驱动型打分器思想。但是,我们最终希望优化的真的是 mutual information 吗?可不可以直接优化预期人类对生成结果的反馈呢?

如果直接进行整个数据集的人工标注,将是一个成本很高的方案,尤其是对于“是否受人喜欢”这样的衡量每个人标准不一,导致每个样本都需要多人标注,提高成本。

不过,我们可以利用一些已有的人类反馈数据,比如点赞和回复数。很多社交平台的评论都有如图 1 所示树状结构,我们可以借此定义 Updown(点赞数),Depth(讨论深度), 和 Width(讨论广度)三种人类反馈的衡量。有了这些 label,我们就可以着手构建训练集了。

▲ 图1:我们可以利用社交网络中用户点赞和发帖的树状结构来定义human feedback metrics来构建训练数据集

Reddit Feedback数据集

可是,给定上文和回复,预测此回复的点赞或评论数目是很困难的一个任务,因为这里面牵扯了太多文本外的其他因素(平台,时机,用户自身流量等)。我们于是把任务从预测变为分类:给定同一个上文的两个回复,要求打分器判断哪一个回复是获得人类反馈更多的那一个。

此外,还会有一些混杂因素,比如那些发帖早的往往会得到更多的赞或回复。所以我们进一步限定在只比较发帖时间相隔不超过一个小时的回复。

另外,考虑到我们最终希望模型应用到生成模型上,但训练数据是人类生成而非机器生成,所以我们另外考虑了两个子任务:1)区别人类回复和随机回复,2)区别人类生成和机器生成。

在这样的限定下,我们用 2011 和 2012 年数据构建了总共 1.3 亿条数据,包含 5 个训练任务,如表 1 所示。

▲ 表1:各任务的训练数据集统计

DialogRPT模型

我们用 DialoGPT 初始化,在 Reddit Feeback 数据集我们分别训练了五个 GPT-2 架构的模型,称为 DialogRPT (Dialog Ranking Pretrained Transformers)。

表 2 是一个对人类反馈的预测的例子,对于给定上文“I love NLP! ” 我们比较多个回复。可以看到“Me too! ” 这样相对而言普通的回复会得到比较低的分数,而“Can you tell me how it works? ”这样的回复可能会引发不会在一两句结束的深度讨论,于是得到了最高的 Depth 分数。

“Can anyone recommend a nice review paper? ”这样的回复可能有很多不同的答案,所以其 Width 分数最高。“Here’s a free textbook(URL)in case anyone needs it”这个回复提供了一个可能大家喜爱的资源,于是被预测会得到很多点赞,其 Updown 分数最高。

▲ 表2:DialogRPT 预训练模型对点赞(Updown),讨论深度(Depth),讨论广度(Width)的预测

我们进一步比较了 DialogRPT 和 dialog perplexity (ppl.)和 reverse dialog perplexity 这两个 MMI 的组件。从准确率上来看,MMI 对这些任务没有很好的预测能力,即人类的反馈似乎并不是完全取决于回复和上文的 mutual information. 与之相比,DialogRPT 能使得准确率提高不少。

▲ 表3:不同模型对点赞(Updown),讨论深度(Depth),讨论广度(Width)的预测准确度( >50% 为具有预测能力)

我们还额外进行了 DialogRPT 的 Zero-shot 测试,看他是否能在 Reddit 以外的数据集具有预测能力。我们考查了区别人类回复和随机回复这个任务,如表 4 所示,DialogRPT 在四个数据集上都表现出来了很强的预测能力。

▲ 表4:不同模型对点赞(Updown),讨论深度(Depth),讨论广度(Width)的 hits@k 预测准确度

总结

在大规模计算和预训练模型时代,也许很多任务都能通过跟多的数据和 GPU 来提高结果。这也许一定程度上解放了我们对于一些技术细节的纠结,留给了我们更多时间去思考任务级别和系统级别的创新。

对话系统除了生成类人的回复外,也许下一个篇章就是变得更加受人喜爱和需要。“思而后言”,对回复进行更好的评估和决策,也许是一个第一步。

我们在论文《Dialogue Response Ranking Training with Large-Scale Human Feedback Data》里详细介绍了 Reddit Feedback 数据集和 DialogRPT 模型,被 EMNLP 2020 接受。模型,源代码和数据已开源,见下面链接。

源代码,数据和预训练模型:

https://github.com/golsun/DialogRPT

论文链接:

https://arxiv.org/abs/2009.06978

参考文献

[1] Yizhe Zhang, Siqi Sun, Michel Galley, Yen-Chun Chen, Chris Brockett, Xiang Gao, Jianfeng Gao, Jingjing Liu, and Bill Dolan. 2019b. Dialogpt: Large-scale generative pre-training for conversational response generation. Proc. of ACL.

[2] Daniel Adiwardana, Minh-Thang Luong, David R So, Jamie Hall, Noah Fiedel, Romal Thoppilan, Zi Yang, Apoorv Kulshreshtha, Gaurav Nemade, Yifeng Lu, et al. 2020. Towards a human-like open-domain chatbot. arXiv preprint arXiv:2001.09977.

[3] Stephen Roller, Emily Dinan, Naman Goyal, Da Ju, Mary Williamson, Yinhan Liu, Jing Xu, Myle Ott, Kurt Shuster, Eric M Smith, et al. 2020. Recipes for building an open-domain chatbot. arXiv preprint arXiv:2004.13637.

[4] Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. 2016. A diversity-promoting objective function for neural conversation models. In NAACL, pages 110–119.

[5] Tiancheng Zhao, Ran Zhao, and Maxine Eskenazi. 2017. Learning discourse-level diversity for neural dialog models using conditional variational autoencoders. In ACL, pages 654–664.

[6] Xiang Gao, Sungjin Lee, Yizhe Zhang, Chris Brockett, Michel Galley, Jianfeng Gao, and Bill Dolan. 2019a. Jointly optimizing diversity and relevance in neural response generation. NAACL-HLT 2019.

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

思而后言:用点赞数据来帮助对话生成模型相关推荐

  1. 细思极恐!大数据和机器学习揭示十二星座的真实面目

    细思极恐!大数据和机器学习揭示十二星座的真实面目 "为什么我的论文总发表不了,是不是我天生就不是做研究的料?"很多同学在写论文中遇到挫折,经常会发出这样的疑问.那么今天我就用星座, ...

  2. MySQL存储用户点赞的信息_点赞数据存储方法及设备与流程

    本申请涉及互联网技术领域,尤其涉及一种点赞数据存储方法及设备. 背景技术: 为了增加用户的互动性,许多社交平台为用户提供了投票/点赞,或反对/踩的功能.例如,在网络直播平台上,为了使用户和主播具有良性 ...

  3. 赛思信安:实现数据全生命周期管理

    步入大数据时代,中国存储厂商的创新激情再次被点燃.围绕着企业级用户的数据存储.管理.备份.使用以及安全等需求,北京赛思信安技术有限公司(以下简称赛思信安)进行了全面的产品研发.4月11日,赛思信安在北 ...

  4. pandas生成新的累加数据列、pandas生成新的累加数据列(数据列中包含NaN的情况)、pandas计算整个dataframe的所有数据列的累加

    pandas生成新的累加数据列.pandas生成新的累加数据列(数据列中包含NaN的情况).pandas计算整个dataframe的所有数据列的累加 目录

  5. R语言data.table导入数据实战:data.table生成新的数据列(基于已有数据列)、生成多个数据列

    R语言data.table导入数据实战:data.table生成新的数据列(基于已有数据列).生成多个数据列 目录 R语言data.table导入数据实战:data.

  6. NLP诗词生成模型数据准备及实战

    NLP诗词生成模型数据准备及实战 目录 NLP诗词生成模型数据准备及实战 方案流程 示例代码 自然语言处理+数据准备 Machine readable vector format 自然语言处理NLP的 ...

  7. NLP文本生成模型数据准备及实战

    NLP文本生成模型数据准备及实战 自然语言处理+数据准备 Machine readable vector format 自然语言处理NLP的数据预处理有哪些共性,可以参考? 什么样的数据格式是深度学习 ...

  8. python地图热力图是什么意思_python实现输入的数据在地图上生成热力图效果

    我就废话不多说了,直接贴代码,注意要先安装folium #-*-coding:utf8-*- #输入data生成热力图html,借助了leaflet,没网不能用 import os import fo ...

  9. python中国地图热力图是什么意思_python实现输入的数据在地图上生成热力图效果...

    我就废话不多说了,直接贴代码,注意要先安装folium #-*-coding:utf8-*- #输入data生成热力图html,借助了leaflet,没网不能用 import os import fo ...

最新文章

  1. 《java多线程编程实战指南 核心篇》读书笔记二
  2. 机器学习中导数最优化方法(基础篇)
  3. Android判断网络连接是否可用【从新浪云搬运】
  4. C#软件winform程序安装包制作及卸载程序制作
  5. cocos2d学习路线
  6. 安卓ps2模拟器_安卓PSP模拟器评测:合金装备 和平步行者
  7. AIX 文件操作和AIX 目录操作
  8. 【Nokov】关于动捕系统获取刚体姿态的说明
  9. emui内核支持kvm吗_EMUI和MIUI为什么不基于安卓linux内核不使用虚拟机直接用c++开发一些更流畅系统自带软件呢?...
  10. linux 系统日志 驱动,linux下安装显卡驱动求救(内附安装日志文件)
  11. 百度Python面试题
  12. 一个用于创建JSON接口的网站 http://myjson.com/api
  13. MySQL Order By 使用方法
  14. pr的安装教程/基础使用
  15. 三菱FX2N模拟量模块-模拟量输入模块
  16. MATLAB数据类型——浮点数
  17. 若依报错com.alibaba.fastjson2.JSONArray cannot be cast to com.ruoyi.common.core.domain.model.LoginUser
  18. 使用driver.js实现新(xin)手(shou)导航,并使展示区域无法点击
  19. 视频监控三大标准比较 ONVIF不负众望
  20. 一枚程序猿的MacBook M1详细体验报告

热门文章

  1. 英文歌的计算机普,听到一首音乐 想找歌名(急/英文歌)
  2. e语言html显示框,html marguee标签
  3. Android 拉起小程序页面进行传值
  4. 数据库综合系列 之 存储过程
  5. 2019年上半年总结__下半年计划
  6. art-template-loader:template
  7. Bootstrap-Other:UI 编辑器
  8. log4j2常见配置
  9. BZOJ 4448 主席树+树链剖分(在线)
  10. 【iBoard电子学堂】【iCore双核心板】资料光盘A盘更新,版本号为A6