谷歌Docs,现在已经可以自动生成文本摘要了!

简介: 谷歌Docs,现在已经可以自动生成文本摘要了!
虽然很方便,但遗憾的是,谷歌 Docs 的自动摘要生成功能仅向企业客户开放。希望个人用户也能尽快用到。

对我们很多人来说,每天都需要处理大量的文件。当收到一份新文件时,我们通常希望文件包含一个简要的要点总结,以便用户最快的了解文件内容。然而,编写文档摘要是一项具有挑战性、耗时的工作。

为了解决这个问题,谷歌宣布 Google Docs 现在可以自动生成建议,以帮助文档编写者创建内容摘要。这一功能是通过机器学习模型实现的,该模型能够理解文本内容,生成 1-2 句自然语言文本描述。文档编写者对文档具有完全控制权,他们可以全部接收模型生成的建议,或者对建议进行必要的编辑以更好地捕获文档摘要,又或者完全忽略。

用户还可以使用此功能,对文档进行更高层次的理解和浏览。虽然所有用户都可以添加摘要,但自动生成建议目前仅适用于 Google Workspace 企业客户(Google Workspace 是 Google 在订阅基础上提供的一套云计算生产力和协作软件工具和软件)。基于语法建议、智能撰写和自动更正,谷歌认为这是改善工作场所书面交流又一有价值的研究。

如下图所示:当文档摘要建议可用时,左上角会出现一个蓝色的摘要图标。然后,文档编写者可以查看、编辑或忽略建议的文档摘要。


模型细节

过去五年,特别是 Transformer 和 Pegasus 的推出,ML 在自然语言理解 (NLU) 和自然语言生成 (NLG)方面产生巨大影响。

然而生成抽象文本摘需要解决长文档语言理解和生成任务。目前比较常用的方法是将 NLU 和 NLG 结合,该方法使用序列到序列学习来训练 ML 模型,其中输入是文档词,输出是摘要词。然后,神经网络学习将输入 token 映射到输出 token。序列到序列范式的早期应用将 RNN 用于编码器和解码器。

Transformers 的引入为 RNN 提供了一个有前途的替代方案,因为 Transformers 使用自注意力来提供对长输入和输出依赖项的更好建模,这在文档中至关重要。尽管如此,这些模型仍需要大量手动标记的数据才能充分训练,因此,仅使用 Transformer 不足以显着提升文档摘要 SOTA 性能。

Pegasus 的研究将这一想法又向前推进了一步, 该方法是在论文《PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization 》中提出,通过引入一个预训练目标自定义来抽象摘要。在 Pegasus 预训练中,也被称为 GSP(Gap Sentence Prediction ),未标记的新闻消息和网络文档中的完整句子在输入中被 mask 掉,模型需要根据未被 mask 掉的句子重建它们。特别是,GSP 试图通过不同的启发式把对文档至关重要的句子进行 mask。目标是使预训练尽可能接近摘要任务。Pegasus 在一组不同的摘要数据集上取得了 SOTA 结果。然而,将这一研究进展应用到产品中仍然存在许多挑战。

PEGASUS 基础架构是标准的 Transformer 编码器 - 解码器。

将最近的研究进展应用到 Google Docs

数据

自监督预训练生成的 ML 模型具有通用的语言理解和生成能力,但接下来的微调阶段对于该模型适应于应用领域至关重要。谷歌在一个文档语料库中对模型早期版本进行了微调,其中手动生成的摘要与典型用例保持一致。但是,该语料库的一些早期版本出现了不一致和较大变动,其原因在于它们包含了很多类型的文档以及编写摘要的不同方法,比如学术摘要通常篇幅长且详细,而行政摘要简短有力。这导致模型很容易混淆,因为它是在类型多样的文档和摘要上训练的,导致很难学习彼此之间的关系。

幸运的是,谷歌开源 Pegasus 库(用于自动生成文章摘要)中的关键发现之一是:有效的预训练阶段在微调阶段需要更少的监督数据。一些摘要生成基准只需要 1000 个 Pegasus 的微调示例即能媲美需要 10000 + 监督示例的 Transformer 基线性能,这表明我们可以专注于模型质量而非数量。

谷歌精心地清理和过滤了微调数据,以包含更一致且更代表连贯摘要的训练示例。尽管训练数据量减少了,但生成了更高质量的模型。正如数据集蒸馏等其他领域最近的工作一样,我们可以得到以下这个重要教训,即更小的高质量数据集要优于更大的高方差数据集。

服务

一旦训练了高质量模型,谷歌转向解决在生产中为模型提供服务时面临的挑战。Transformer 版本的编码器 - 解码器架构是为摘要生成等序列到序列任务训练模型的主流方法,但该方法在实际应用中提供服务时效率低且不实用。效率低主要归咎于 Transformer 解码器,它利用自回归解码来逐 token 地生成输出摘要。当摘要更长时,解码过程变得很慢,这是因为解码器在每一步都要处理之前生成的所有 token。循环神经网络(RNN)是更高效的解码架构,这得益于它不像 Transformer 模型那样对之前的 token 施加自注意力。

谷歌使用知识蒸馏(将知识从大模型迁移到更小更高效模型的过程)将 Pegasus 模型提炼为包含 Transformer 编码器和 RNN 解码器的混合架构。为了提高效率,谷歌还减少了 RNN 解码器层的数量。生成的模型在延迟和内存占用方面有显著改善,而质量仍与原始模型相当。为了进一步改善延迟和用户体验,谷歌使用 TPU 为摘要生成模型服务,这实现了显著加速并允许单台机器处理更多请求。

持续的挑战

虽然谷歌对迄今为止取得的进展感到兴奋,但仍要继续应对以下一些挑战:

文档覆盖率:由于文档之间存在显著差异,因此在微调阶段开发一组文档很难。推理阶段也存在同样的挑战。此外,谷歌用户创建的一些文档(如会议记录、食谱、课程计划和简历)不适合总结或难以总结。

评估:抽象摘要需要捕捉文档的本质,保持流畅且语法正确。一个特定的文档可能存在许多可被认为正确的摘要,不同的用户也可能喜欢不同的摘要。这使得仅使用自动指标评估摘要变得困难,用户反馈和使用情况统计对于谷歌理解和不断提高模型质量至关重要。

长文档:模型最难生成长文档的摘要,因为它更难捕获所有要点并抽象(总结)在一个摘要中。此外,长文档的训练和服务期间内存占用显著增加。但是,长文档对于模型自动生成摘要这一任务而言可能最有用,因为它可以帮助文档编写者在这项繁琐的任务中抢占先机。谷歌希望可以应用最新的 ML 进展来更好地应对这一挑战。

原文链接:https://ai.googleblog.com/2022/03/auto-generated-summaries-in-google-docs.html

相关文章
|
存储 缓存 Linux
如何在Linux环境下对pip的缓存地址进行修改
如何在Linux环境下对pip的缓存地址进行修改
3084 0
|
人工智能 搜索推荐 算法
【推荐系统】UserCF(基于用户的协同过滤)(理论+图解+代码实践)
【推荐系统】UserCF(基于用户的协同过滤)(理论+图解+代码实践)
2824 0
【推荐系统】UserCF(基于用户的协同过滤)(理论+图解+代码实践)
|
7月前
|
JSON API PHP
通用图片搜索API:百度源免费接口教程
本文介绍一款基于百度图片搜索的免费API接口,由接口盒子提供。支持关键词搜索,具备详细请求与返回参数说明,并提供PHP及Python调用示例。开发者可快速集成实现图片搜索功能,适用于内容聚合、素材库建设等场景。
1018 0
|
10月前
|
人工智能 开发框架 小程序
工会成立100周年纪念,开发职工健身AI运动小程序、APP方案推荐
为庆祝中华全国总工会成立100周年,特推出基于AI技术的智能健身系统,以小程序和APP形式呈现,助力职工健康生活。方案包括:1) 小程序插件,支持多种运动识别,开箱即用;2) APP插件,提供更高精度的运动检测;3) 成熟的「AI乐运动」系统,支持赛事活动管理。这些方案满足不同需求,推动全民健身体验升级,彰显工会对职工健康的关怀。
|
负载均衡 算法 网络协议
【专栏】网络高可用性和负载均衡关键在于VRRP、VGMP和HRP协议
【4月更文挑战第28天】网络高可用性和负载均衡关键在于VRRP、VGMP和HRP协议。VRRP实现路由器冗余,保证流量转发;VGMP优化多播流量传输,适合多媒体服务;HRP提供无缝故障转移,适用于电信级网络。选择需考虑网络环境和业务需求,VRRP简单易部署,VGMP处理多播流量,HRP适合高稳定性场景。理解协议特点,确保网络最佳性能和可用性。
847 4
|
存储 Python
Python Logging 限制文件大小
Python Logging 限制文件大小
395 3
|
存储 物联网 Python
使用 unicodedata 模块对字符串标准化
使用 unicodedata 模块对字符串标准化
432 1
|
人工智能 JSON 自然语言处理
我的Google Vertex AI实践经验分享
忙碌的开发者分享了使用Google Vertex AI的实践经验。从复杂的初始设置到微调模型时的手动资源分配,作者经历了种种挑战,包括高昂的成本与不足的文档支持。尽管如此,Vertex AI在图像识别和自然语言处理方面展现出强大能力。作者希望反馈能帮助Google改进服务,使之更加用户友好。
819 2
|
存储 测试技术 开发者
FastAPI异步处理的神奇之处:如何用Python打造高性能Web应用,让你的项目一鸣惊人?
【8月更文挑战第31天】在现代Web开发中,高性能至关重要。FastAPI作为一款高性能Python Web框架,支持多种异步处理方式,包括非阻塞I/O、异步函数(async/await)及异步上下文管理器(async with),能够大幅提升应用性能。本文通过示例代码详细介绍了FastAPI中的异步处理方法,并分享了最佳实践,帮助开发者构建高效的Web应用。
955 0
|
存储 人工智能 自然语言处理
【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构
【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构
1377 0