华人博士一作:自动生成摘要超越BERT!帝国理工谷歌提出新模型Pegasus

本文主要是介绍华人博士一作:自动生成摘要超越BERT!帝国理工谷歌提出新模型Pegasus,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


  新智元报道  

来源:venturebeat、arXiv

文本摘要是机器学习算法正在改进的一项任务,微软最近发表的论文“Structured Neural Summarization”证明了这一点。这是个好消息,因为自动文本摘要系统有望减少企业员工阅读信息的时间(一项调查估计人们每天至少花2.6小时阅读信息。)

不甘示弱,谷歌大脑和伦敦帝国理工学院的一个团队最近构建了一个系统——Pre-training with Extracted Gap-sentences for Abstractive Summarization,简称PEGASUS,利用谷歌的Transformer架构,并结合了针对文本摘要生成定制的预训练目标。

论文第一作者张敬卿来自帝国理工学院数据科学院,博士在读;张敬卿本科毕业于清华大学计算机科学与技术系,主要研究兴趣包括深度学习、数据挖掘、时间序列与文本挖掘、多模态问题与生成模型。

研究人员表示,该系统在12个摘要任务中均取得了最先进的结果(SOTA),这些任务涵盖新闻、科学、故事、使用说明、电子邮件、专利和立法法案等,并且在低资源摘要方面表现“惊人”,在只有1000个样本的6个数据集上超过了之前的最好结果

Pegasus模型:基于Transformer,5.68亿参数

正如研究人员指出的那样,文本摘要旨在根据输入文档生成准确而简洁的摘要。生成摘要并不是简单地复制输入里的片段,而是可能产生新的单词或涵盖主要信息,并使输出保持语言流畅。

Transformer是谷歌大脑的研究人员开发的一种神经网络架构。和其他深度神经网络一样,它们包含的功能(神经元)被布置在相互连接的层中,这些层传递输入数据的信号,并缓慢地调整每个连接的突触强度(权重)——这就是所有AI模型提取特征和学习做出预测的方式。但Transformer的独特指出在于,每个输出元素都连接到每个输入元素,并动态地计算它们之间的权重。

该团队设计了一项训练任务,在该任务中,文档中的重要句子被覆盖(masked)起来。AI必须利用网络和新闻文章来填补空白,包括那些包含在研究人员编纂的新语料库(HugeNews)中的文章。

在实验中,研究团队选择了性能最佳的Pegasus模型(有5.68亿参数),分别在从3.5亿个网页爬取的750GB文本的Common Crawl数据集,或从新闻网站收集的15亿篇文章、总计3.8TB的HugeNews数据集上进行训练。

结果证明,Pegasus生成的文本摘要在流畅性和连贯性方面都达到了很高的语言质量,而且它不需要采取额外的对策来减轻不流畅。此外,在只有100篇示例文章的低资源环境中,Pegasus生成的摘要质量可与在20000到200000篇完整的完整数据集上训练的模型相媲美。

总结本研究的贡献:

  • 我们提出了一种新的self-supervised的预训练目标,用于摘要总结、空缺句子生成,以及选择这些句子的学习策略。

  • 我们在广泛的摘要任务上评估了所提出的预训练目标,并选择了最佳的模型设置。我们使用这些设置来训练一个568M参数的PEGASUS模型,该模型在所有12个下游数据集上超过了SOTA,或与SOTA相当。

  • 我们展示了如何在几乎不受监督的情况下,通过微调PEGASUS模型在多个领域实现良好的摘要生成性能,而且仅使用1000个示例就可以在许多任务上超越以前的SOTA结果。

预训练目标GSG

在这项工作中,我们提出了一个新的预训练目标GSG(Gap Sentences Generation),但为了进行比较,我们也评估了BERT的掩码语言模型目标(masked-language model objective)。

Gap Sentences Generation (GSG)

我们假设,使用更接近下游任务的预训练目标,可以获得更好更快的微调性能。考虑到我们打算用于摘要生成,我们提出的预训练目标设计从输入文档生成类似摘要的文本。为了利用大量的文本语料库进行预训练,我们设计了一个序列到序列的自监督目标(self-supervised objective)。

图1: PEGASUS的基本架构是一个标准的Transformer encoder-decode。在这个例子中,GSG和MLM同时作为预训练目标。原始文本有三句话。一个句子被[MASK1]屏蔽,并用作目标生成文本(GSG)。其他两句话仍然保留在输入中,但是一些词被[MASK2] (MLM)随机屏蔽了。

为了更接近摘要,我们选择对文档来说重要/主要的句子。由此产生的目标既具有经验证明的masking的优势,又预期了下游任务的形式。

我们考虑3种主要的策略,用于选择m个空缺句子(gap sentences),而无需从文档中替换,文档记为,由n个句子组成:

Random:均匀地随机选择m个句子

Lead:选择前m个句子。

Principal:根据重要性选择得分最高的句子。根据重要性选择得分最高的句子。

重要性的计算公式是:

在这个公式中,句子是独立评分的(Ind),并选择最好的m。

图2显示了一个包含lead、random和principal三种策略的gap句子选择示例。

图2

掩码语言模型(Masked Language Model,MLM)

参考BERT,我们在输入文本中选择15%的tokens,所选择的tokens:(1)80%的时间被mask token替换[MASK2],或(2)10%的时间被随机token替换,或(3)10%的时间不变。我们应用MLM训练Transformer encoder,作为唯一的预训练目标或与GSG一起作为预训练目标。

图1显示了将GSG和MLM结合应用到同一个例子中的情况。然而,我们发现MLM并没有在大量的预训练步骤中改善下游任务,因此选择不将MLM应用到最终的PEGASUSLARGE模型。

评估结果:12大任务获得最优性能

图4:PEGASUSBASE在C4上预训练的效果。

图5:PEGASUSBASE在C4 (15% GSR, Ind-Orig)上训练词汇量的效果。

表1:与之前的SOTA相比,PEGASUSLARGE和PEGASUSBASE在所有下游数据集上的结果

表2:PEGASUSLARGE与XSum、CNN/DailyMail和Gigaword上其他预训练模型的比较。最佳结果用粗体显示。

表1和表2显示了PEGASUSBASE和PEGASUSLARGE在下游数据集上的性能改进。虽然PEGASUSBASE在许多数据集上都超过了当前的SOTA水平,但PEGASUSLARGE在使用HugeNews的所有下游数据集上都取得了比当前水平更好的结果,尽管C4在WikiHow上的表现更好。

图6:PEGASUSLARGE模型对一则CNN/DailyMail文本生成的摘要,它的ROUGE2-F值相对较低,为16,但在文本质量上相当好,而且事实上也很准确。

* 凡来源非注明“机器学习算法与Python学习原创”的所有作品均为转载稿件,其目的在于促进信息交流,并不代表本公众号赞同其观点或对其内容真实性负责。

推荐阅读

25岁就有娃,上交年度学霸火了!6块腹肌、歌赛冠军、Science一作

【下载】459页《Python深度学习》

视频剪辑什么鬼?Python 带你高效创作短视频

ICCV2019最佳论文SinGAN全面解读,看这一篇就懂了

GitHub标星两万的"Python抢票教程”,我们先帮你跑了一遍

这篇关于华人博士一作:自动生成摘要超越BERT!帝国理工谷歌提出新模型Pegasus的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782070

相关文章

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.