Google Docs 中自动生成的摘要

1727066738214.jpg

对于我们许多人来说,每天处理收件箱中大量的文件是一项挑战:报告、评论、简报、政策等等。收到新文件时,读者通常希望其中包含要点的简要摘要,以便有效地对其进行优先排序。然而,撰写文件摘要可能是一项认知挑战,而且耗时,尤其是当文件撰写者从头开始的时候。

为了解决这一问题,我们最近宣布,Google Docs 现在会自动生成建议,以帮助文档撰写者创建内容摘要(如果有)。今天,我们将介绍如何使用机器学习 (ML) 模型实现此功能,该模型可以理解文档文本,并在有信心的情况下生成 1-2 句自然语言描述文档内容。但是,文档撰写者可以完全控制 - 接受原样建议、进行必要的编辑以更好地捕获文档摘要或完全忽略建议。读者还可以使用此部分以及大纲来从总体上理解和浏览文档。虽然所有用户都可以添加摘要,但自动生成的建议目前仅适用于 Google Workspace 企业客户。在语法建议、智能撰写和自动更正的基础上,我们认为这是改善工作场所书面沟通的又一重要步骤。

有文档摘要建议时,左上角会出现一个蓝色摘要图标。文档编写者可以查看、编辑或忽略建议的文档摘要。

模型详细信息

如果没有过去五年来自然语言理解(NLU) 和自然语言生成(NLG) 领域机器学习的巨大进步,尤其是Transformer和Pegasus的推出 ,自动生成摘要就不可能实现。

抽象文本摘要是 NLU 和 NLG 研究中的一个长期问题,它将长文档语言理解和生成这两个各自具有挑战性的任务结合在一起。将 NLU 和 NLG 结合起来的一种流行方法是使用序列到序列学习来训练 ML 模型,其中输入是文档单词,输出是摘要单词。然后,神经网络学习将输入标记映射到输出标记。序列到序列范式的早期应用将循环神经网络(RNN) 用于编码器和解码器。

Transformers 的引入为 RNN 提供了一种有前途的替代方案,因为 Transformers 使用自注意力机制来更好地建模长输入和输出依赖关系,这在文档摘要中至关重要。不过,这些模型需要大量手动标记的数据才能进行充分训练,因此仅凭 Transformers 的出现不足以显著提高文档摘要领域的领先水平。

Transformer 与自监督预训练(例如BERT、GPT、T5 ) 的结合,在许多标记数据有限的 NLU 任务中取得了重大突破。在自监督预训练中,模型使用大量未标记的文本来学习一般的语言理解和生成能力。然后,在随后的微调阶段,模型学习将这些能力应用于特定任务,例如摘要或问答。

Pegasus 的研究将这一想法更进一步,引入了针对抽象摘要定制的预训练目标。在 Pegasus 预训练中,也称为间隙句子预测(GSP),未标记的新闻文章和网络文档中的完整句子会被屏蔽在输入中,模型需要根据剩余的未屏蔽句子来重建它们。具体来说,GSP 会尝试通过不同的启发式方法来屏蔽被认为对文档至关重要的句子。其直觉是让预训练尽可能接近摘要任务。Pegasus在各种摘要数据集上取得了最先进的结果。然而,将这一研究进展应用到产品中仍面临许多挑战。

将最新研究进展应用于 Google Docs

数据

自监督预训练可生成具有通用语言理解和生成能力的 ML 模型,但后续的微调阶段对于模型适应应用领域至关重要。我们在包含手动生成的摘要的文档语料库上对模型的早期版本进行了微调,这些摘要与典型用例一致。

然而,该语料库的早期版本存在不一致和高度变异的问题,因为它们包含许多类型的文档,以及许多编写摘要的方法——例如,学术摘要通常很长且详细,而执行摘要则简短有力。这导致模型很容易混淆,因为它已经接受了太多不同类型的文档和摘要的训练,以至于很难了解它们之间的关系。

幸运的是,Pegasus 工作中的一项关键发现是,有效的预训练阶段在微调阶段需要较少的监督数据。一些摘要基准测试只需要 1,000 个微调示例,Pegasus 就能达到 Transformer 基线(需要 10,000 多个监督示例)的性能——这表明人们可以注重质量而不是数量。

我们仔细清理和过滤了微调数据,以包含更一致且代表摘要连贯定义的训练示例。尽管我们减少了训练数据量,但这却带来了更高质量的模型。与数据集提炼等领域的最新研究一致,关键的经验教训是,最好拥有一个较小的高质量数据集,而不是一个较大的高方差数据集。

服务

一旦我们训练了高质量的模型,我们就会开始面对在生产中使用该模型的挑战。虽然 Transformer 版本的编码器-解码器架构是训练序列到序列任务(如抽象摘要)模型的主要方法,但它在实际应用中可能效率低下且不切实际。主要的低效率来自 Transformer 解码器,我们通过自回归解码逐个标记生成输出摘要。当摘要变长时,解码过程会变得明显变慢,因为解码器在每一步都会关注所有先前生成的标记。RNN 是一种更高效的解码架构,因为与 Transformer 模型不同,RNN 不会对先前的标记进行自注意力。

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

当前挑战和下一步行动

虽然我们对迄今为止取得的进展感到非常兴奋,但我们仍在继续应对一些挑战:

文档覆盖范围:由于文档种类繁多,开发用于微调阶段的文档集非常困难,推理阶段也面临同样的挑战。我们的用户创建的一些文档(例如会议记录、食谱、课程计划和简历)不适合总结或难以总结。目前,我们的模型仅针对最有信心的文档提供总结建议,但我们希望随着模型的改进,继续扩大这一范围。

评估:抽象摘要需要抓住文档的本质,同时保持流畅和语法正确。特定文档可能有许多可视为正确的摘要,而不同的读者可能喜欢不同的摘要。这使得仅使用自动指标来评估摘要变得困难,用户反馈和使用情况统计对于我们了解和不断提高质量至关重要。

长文档:长文档是模型总结起来最困难的文档之一,因为很难捕捉到所有要点并在单个摘要中抽象出来,而且它还会显著增加训练和服务期间的内存使用量。然而,长文档对于模型自动总结来说可能最有用,因为它可以帮助文档编写者抢先完成这项繁琐的任务。我们希望能够应用最新的机器学习进展来更好地应对这一挑战。

结论

总的来说,我们很高兴能够应用 NLU 和 NLG 的最新进展来继续帮助用户阅读和写作。我们希望 Google Workspace 中现在提供的自动建议功能能够让作者更轻松地用摘要注释他们的文档,并帮助读者更轻松地理解和浏览文档。

致谢

作者要感谢 Google 内部为这项工作做出贡献的许多人员:AJ Motika、Matt Pearson-Beck、Mia Chen、Mahdis Mahdieh、Halit Erdogan、Benjamin Lee、Ali Abdelhadi、Michelle Danoff、Vishnu Sivaji、Sneha Keshav、Aliya Baptista、Karishma Damani、DJ Lick、Yao Zhao、Peter Liu、Aurko Roy、Yonghui Wu、Shubhi Sareen、Andrew Dai、Mekhola Mukherjee、Yinan Wang、Mike Colagrosso 和 Behnoosh Hariri。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论