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

 

©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 的交流群里。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页