华人博士一作:自动生成摘要超越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

相关文章

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur