博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
清华大学关健博士:利用自监督学习的开放端故事生成评价方法
阅读量:2243 次
发布时间:2019-05-09

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

⬆⬆⬆              点击蓝字

关注我们

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

尽管现有的有参考指标(如BLEU)已经在机器翻译评价等任务上有较好的表现,但是对于开放端语言生成评价(如故事生成、对话生成)等具有一对多特性的任务,这些指标仍然与人工评价有较低的相关性。对此,EMNLP 2020中的《UNION: An Unreferenced Metric for Evaluating Open-ended Story Generation》一文为开放端故事生成评价提出了一个可学习的无参考指标UNION,可以不需要任何参考文本即可对生成故事的质量进行评价。UNION采用自监督学习的方法,不依赖于任何人工标注和具体模型。在两个故事数据集上的实验表明,UNION在评价生成故事的质量上是一个更可靠的评价指标,与人工评价有更好的相关性,同时也比现有的SOTA评价指标更好的泛化性。

本次AI TIME策划的EMNLP 2020专题报告,特别邀请到论文作者、来自清华大学计算机系的博士生关健给大家详细讲解UNION这一评价指标。

关健,清华大学计算机系2019级博士生,交互式人工智能(CoAI)组成员,师从黄民烈副教授。主要研究方向为自然语言生成,已在EMNLP、NeurIPS、AAAI、TACL等国际会议或期刊上发表数篇论文。

一、自然语言生成

近两年可以说是自然语言处理(NLP)整个领域大爆发的阶段,大量研究工作和技术的提出不断为计算机能够听懂“人话”添砖加瓦。自然语言生成(NLG)作为自然语言处理的一部分,现已有多种生成模型。在自然语言生成模型中,模型框架主要有LM、Seq2Seq,模型结构包括RNN、Transformer等。虽然GPT3、T5、BART等预训练模型已经能够生成很好的文本,比如像故事、对话以及机器翻译任务,但是这些模型也受到了一些源于评价方法的限制。

图1是自然语言生成过程,通常如由一个Transformer模型通过多头注意力机制生成一个自然语言文本。

如何评价生成结果?一般而言有两种:

  1. 人工评价,标注者通过人工标注,判断生成好还是不好,再反馈给语言生成模型进行改进。

  2. 自动评价,计算机基于指标自动完成打分,并将结果进行反馈。

人工评价虽然可以得到较为准确的评价结果,但是存在耗时、昂贵、难以复现等不可避免的问题。而自动评价相对更为快速,具有成本低廉、可重复计算等优势,可以更好地指导模型生成,提高生成质量。评价是一个非常有前景且大有可为的领域,做好评价工作可以快速更新迭代自然语言生成模型。而且将人类先验知识融入评价方法,就能够生成人类所需的文本。

图1  自然语言生成示例

事实上,不同的自然语言生成任务有不同的评价方法。受限语言生成 (Constrained NLG)任务如机器翻译、自动摘要等,具有典型的一对一特性,即输入中包含生成所需的充分信息。对于这类任务,BLEU、MoverScore等评价指标就可以达到很好的效果。而开放端语言生成 (Open-Ended NLG)任务主要包括开放域对话、常识/科幻/寓言故事生成等,其特点是一对多,即输入中仅仅包含非常有限的信息,同一个输入可能有许多合理的输出。在这种情况下,BLEU、MoverScore等评价指标将不再有效,而是需要另外的无参考指标。

图2  受限语言生成(左)vs 开放端语言生成(右)

从图3几种评价指标的对比中可以发现,开放端语言生成评价的合理性与是否与参考文本在字面或语义上相似是无关的。

现有的无参考指标主要有两种:

  1. 基于判别器的自动评价指标,通过判别器区分人撰写的文本和机器生成的文本,但容易过拟合到特定的数据或模型;

  2. 学习人工评价的自动评价指标,从人工评价中学习人类偏好,但容易过拟合到训练数据上。而UNION是基于自监督学习的自动评价指标,通过模仿生成模型自动构造大量的负样本进行训练,不依赖于任何人工标注和生成模型,因此避免了上述两种无参考指标的缺点,具有与人工评价更高的相关性,并且对质量/数据迁移具有好的泛化性。

图3  开放端语言生成任务下不同评级指标的对比

二、UNION:一种评价开放端故事生成的无参考指标

UNION在评价开放端故事生成上具有很好的性能表现。再具体讲解之前,先来讨论一个经验观察:语言生成模型生成的故事为什么不合理?

为弄清这一问题,基于ROCStories,分析了381个NLG模型生成的不合理的故事,图4是其中一个。如标注所示,故事存在情节重复、不连贯、逻辑冲突、场景混乱等一系列问题。以这几种问题为基准,对剩余故事进行手动注释,最终统计结果表明这些问题在所有故事中都大量存在,且占据了较高的比例。

图4  NLG模型生成的不合理的故事示例 

在以上经验观察的基础上,关健提出了UNION这一评价指标,模型整体框架如图5所示,主要包括了负采样(Negative Sampling)和建模两部分。流程上,模型先基于负采样方法构建大量的负样本,再通过BERT建模区分人撰写的文本和负样本,学习自动评价指标。

图5  UNION模型框架

负采样

负采样

负采样模块由四种技巧构成:

  1. 重复(Repetition)  

  2. 替换(Substitution)

  3. 重新排序(Reordering)

  4. 否定转换(Negation Alteration)

图6  重复

替换是负采样的第二个技巧。研究发现,故事的连贯与否主要是通过上下文中关键词之间的时序和逻辑关系来识别的。通过执行关键词替换,可以构造不连贯的负样本。将ConceptNet中的头或尾实体作为关键词,再在ConceptNet中查找相应的反义词。若反义词存在,则进行替换。若不存在反义关系,可采用同词性的随机替换。除了词级别的替换,还有一种是句子级别的替换,将故事的一个句子随机替换为数据集里其余故事中的另一个句子。

图7  替换

重新排序是指将故事中前后相邻的两个句子进行交换,使故事的时序关系变得更加混乱。而通过增加或删除反义词的否定转换,可以构造更为矛盾的样本。在经过重复、替换、重新排序、否定转换四种技巧之后,便得到了较为丰富的负采样样本。

图8  重新排序和否定转换

最后,负采样的具体示例如图下:

图9  负采样具体示例

建模

负采样

BERT建模,首先将人撰写的样本和负样本进行BERT编码,以期望作出UNION分数预测。具体操作是,把人撰写的样本自动标注为1,负样本自动标注为0,通过分类任务对两种样本进行区分。除了主要的预测任务,还为BERT设计了负样本重构任务。对于给定负样本,要求BERT重构出原来的正样本。这样设计的目的是希望UNION不仅可以区分故事的好与不好,还能够指出故事的不好之处在哪,以使模型更好地进行分数预测。最后是整体损失,将UNION分数预测的损失和负样本重构的损失结合到一起。

图10  BERT建模

实验

负采样

实验部分,主要采用了有参考指标、无参考指标、混合指标三类基线指标。模型设置为UNION和所有的基线模型均基于BERT/GPT的base版本,采用ROCStories (ROC)和WritingPrompts (WP)两个数据集,通过Fusion、Plan&Write、Fine-tuned GPT2、KG-enhanced GPT2四种自然语言生成模型生成测试集。

图11  实验信息

图12是各评级指标和人工评价相关性的实验结果,从数据中可以看出,在开放端故事生成上,有参考指标与人工评价的相关性都低于0.2,几乎不相关。无参考指标总体上优于有参考指标,而这当中UNION取得了实验最好的效果。

图12  和人工评价的相关性

对于可学习指标,除了性能表现,泛化性也至关重要。我们期望即使不经过重新训练指标也可以可靠地评价来自不同数据集的输出。为衡量指标对数据迁移的泛化性,采用在一个数据集上进行训练,在另一个数据集进行测试的实验方法。图13的结果表明,即使相关性有略微下降,UNION依然具有较好的泛化性和鲁棒性。

此外,由于各NLG模型生成的样本的质量可能会有很大差异,因此可靠的指标应该能够评价不同质量级别的样本,即质量迁移的泛化性。实验构建了8个评测集,这些评测集分别用不同的采样方法,具有不同的质量分布。最后的结果表明,当质量分布发生改变时,泛化性和鲁棒性表现更好的依然是UNION。因此,UNION评价指标既不依赖于人工评价,也不依赖于机器学习模型。

图13  对数据迁移/质量迁移的泛化性

最后为了了解UNION中四种负采样技巧的效果,进行消融实验。依次去掉其中一种技巧,重新训练UNION,再观察最终的评价表现。得到的结果表明四个负采样技巧对于评价故事生成都是必需的,相较之下重新排序可能是最重要的技巧。此外还发现,对UNION 来说,评价情节重复和场景混乱的故事可能是更容易的。

图14  消融实验

案例研究

负采样

图15是案例研究。对于S1这个合理的故事,人工打分为1,UNION打分为0.99,但BLEU、MoverScore分别仅有0.43和0.34。对于S2、S3两个不合理故事,BLEU和MoverScore的打分反而更高了,只有UNION和人工评价保持了较好的相关性。同样,在S4、S5两个例子中,BLEU、MoverScore打分都偏高,而UNION和人工评价打分依旧相接近。

图15  案例研究

总结

UNION是一个用于评价开放端故事生成的自动评价指标,基于自监督学习框架,不依赖于任何NLG模型或者人工标注。不仅可以达到和人工评价更好的相关性,而且可以达到对数据和质量迁移更好的泛化性。同时,相似的想法可以被迁移到其他领域,如开放域闲聊对话生成的评价等。

????????往期精选

整理:何文莉

审稿:关健

排版:杨梦蒗

本周直播预告:

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

微信联系:AITIME_HY

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

更多资讯请扫码关注

(直播回放:https://b23.tv/ALhy5p)

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

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

你可能感兴趣的文章
剑指offer 23.从上往下打印二叉树
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>
阿里云《云原生》公开课笔记 第五章 应用编排与管理
查看>>
阿里云《云原生》公开课笔记 第六章 应用编排与管理:Deployment
查看>>
阿里云《云原生》公开课笔记 第七章 应用编排与管理:Job和DaemonSet
查看>>
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>
阿里云《云原生》公开课笔记 第九章 应用存储和持久化数据卷:核心知识
查看>>
linux系统 阿里云源
查看>>
国内外helm源记录
查看>>
牛客网题目1:最大数
查看>>
散落人间知识点记录one
查看>>