使用图神经网络进行设备上的内容提炼

1724638870143.jpg

在当今的数字时代,智能手机和桌面网络浏览器是访问新闻和信息的主要工具。然而,网站混乱的泛滥——包括复杂的布局、导航元素和无关的链接——严重损害了阅读体验和文章导航。对于有无障碍要求的人来说,这个问题尤其严重。

为了改善用户体验并使阅读更加方便,Android和Chrome用户可以利用阅读模式功能,该功能通过处理网页以允许自定义对比度、可调整的文本大小、更清晰的字体以及启用文本转语音实用程序来增强可访问性。此外,Android 的阅读模式还具有从应用程序中提取内容的功能。扩展阅读模式以涵盖广泛的内容并提高其性能,同时仍在用户设备上本地运行而无需向外部传输数据,这是一个独特的挑战。

为了在不损害隐私的情况下扩展阅读模式的功能,我们开发了一种新颖的设备内容提炼模型。与早期使用DOM Distiller(一种仅限于新闻文章的启发式方法)的尝试不同,我们的模型在各种类型的内容中都表现出色,质量和多功能性都很好。我们确保文章内容不会超出本地环境的范围。我们的设备内容提炼模型将长篇内容顺利地转换为简单且可自定义的布局,以提供更愉快的阅读体验,同时也优于领先的替代方法。在这里,我们探讨了这项研究的细节,重点介绍了我们的方法、方法论和结果。

图神经网络

我们不依赖难以维护和扩展到各种文章布局的复杂启发式方法,而是将此任务作为完全监督的学习问题来处理。这种数据驱动的方法允许模型更好地跨不同布局进行推广,而不受启发式方法的限制和脆弱性。以前优化阅读体验的工作依赖于 HTML 或文档对象模型( DOM) 的解析、过滤和建模,DOM 是由用户的 Web 浏览器从站点 HTML 自动生成的编程接口,它代表文档的结构并允许对其进行操作。

新的阅读模式模型依赖于无障碍树,它提供了简化且更易于访问的 DOM 表示。无障碍树是从 DOM 树自动生成的,并被辅助技术利用,让残障人士能够与网络内容互动。这些树在 Chrome 网络浏览器和 Android 上可通过AccessibilityNodeInfo对象使用,这些对象同时适用于 WebView 和原生应用内容。

我们首先手动收集和注释可访问性树。本项目使用的 Android 数据集包含大约 10,000 个带标签的示例,而 Chrome 数据集包含大约 100,000 个带标签的示例。我们开发了一种新颖的工具,该工具使用图神经网络(GNN) 通过多类监督学习方法从可访问性树中提取重要内容。数据集由从网络上采样的长篇文章组成,并标有标题、段落、图像、发布日期等类别。

GNN 是处理树状数据结构的自然选择,因为与传统模型不同,传统模型通常需要详细的、手工制作的特征来理解这种树中的布局和链接,而 GNN 可以自然地学习这些连接。为了说明这一点,请考虑家谱的类比。在这样的树中,每个节点代表一个家庭成员,连接表示家庭关系。如果要使用传统模型预测某些特征,可能需要诸如“具有某种特征的直系亲属数量”之类的特征。然而,有了 GNN,这种手动特征制作就变得多余了。通过将树结构直接输入模型,GNN 利用了一种消息传递机制,其中每个节点都与其邻居进行通信。随着时间的推移,信息会在网络中共享和积累,从而使模型能够自然地辨别复杂的关系。

回到可访问性树的背景,这意味着 GNN 可以通过理解和利用树中的固有结构和关系来高效地提炼内容。这种能力使他们能够根据树中的信息流识别并可能省略非必要部分,从而确保更准确的内容提炼。

我们的架构主要遵循编码-处理-解码范式,使用消息传递神经网络对文本节点进行分类。下图说明了整体设计。文章的树形表示是模型的输入。我们根据边界框信息、文本信息和可访问性角色计算轻量级特征。然后,GNN 使用消息传递神经网络通过树的边缘传播每个节点的潜在表示。此传播过程允许附近的节点、容器和文本元素彼此共享上下文信息,从而增强模型对页面结构和内容的理解。然后,每个节点根据收到的消息更新其当前状态,为对节点进行分类提供更明智的基础。经过固定数量的消息传递步骤后,节点的现在上下文化的潜在表示被解码为基本或非基本类。这种方法使模型能够利用树中的固有关系和代表每个节点的手工制作的特征,从而丰富最终分类。

这是算法在移动设备上处理文章的实际操作的视觉演示。图神经网络 (GNN) 用于从文章中提取重要内容。1. 从应用程序中提取文章的树形表示。2. 为每个节点计算轻量级特征,以向量表示。3. 消息传递神经网络通过树的边缘传播信息并更新每个节点表示。4. 包含文本内容的叶节点被分类为重要内容或非重要内容。5. 根据 GNN 输出编写应用程序的精简版本。

我们刻意限制了模型使用的特征集,以提高其跨语言的广泛泛化能力,并缩短用户设备上的推理延迟时间。这是一个独特的挑战,因为我们需要创建一个可以保护隐私的设备上轻量级模型。

我们最终的轻量级 Android 模型有 64k 个参数,大小为 334kB,平均延迟为 800ms,而 Chrome 模型有 241k 个参数,大小为 928kB,平均延迟为 378ms。通过采用这种设备上的处理,我们确保用户数据永远不会离开设备,从而加强了我们对用户隐私的负责任态度和承诺。模型中使用的特征可以分为中间节点特征、叶节点文本特征和元素位置特征。我们执行了特征工程和特征选择,以优化特征集,从而提高模型性能和模型大小。最终模型被转换为TensorFlow Lite格式,以在 Android 或 Chrome 上部署为设备上的模型。

结果

我们在单个 GPU 上对 GNN 进行了大约 50 个 epoch 的训练。Android 模型在网页和原生应用测试集上的表现如下所示:

下表列出了 Android 网页和原生应用的内容精炼指标。我们报告了三个类别的准确率、召回率和F1 分数:非必要内容、标题和正文,包括每个类别的宏观平均值和按实例数加权的平均值。节点指标以可访问性树节点的粒度评估分类性能,这类似于段落级别。相比之下,单词指标以单个单词级别评估分类,这意味着节点内的每个单词都会获得相同的分类。

在评估经常访问的网页文章的结果质量时,正文(主要是段落)的 F1 分数超过 0.9 意味着 88% 的文章被处理且没有遗漏任何段落。此外,在超过 95% 的情况下,提炼结果对读者来说是有价值的。简而言之,绝大多数读者会认为提炼的内容既中肯又准确,错误或遗漏的情况很少发生。

下表列出了Chrome 内容蒸馏与其他模型(如DOM Distiller或Mozilla Readability)在一组英语页面上的比较结果。我们重用了机器翻译中的指标来比较这些模型的质量。参考文本来自真实主内容,而来自模型的文本作为假设文本。结果显示,与其他基于 DOM 的方法相比,我们的模型具有出色的性能。

下表显示了 DOM-Distiller、Mozilla Readability 和新 Chrome 模型之间的比较。我们报告基于文本的指标,例如BLUE、CHRF和ROUGE,方法是将从每个模型中提炼出的正文与评分者使用我们的注释策略手动标记的真实文本进行比较。

Chrome 内容蒸馏模型在不同常用语言的测试集上对标题和正文内容的 F1 分数表明 Chrome 模型能够支持多种语言。

表格中列出了 Chrome 模型针对标题和正文类别的每种语言的 F1 分数。语言代码对应以下语言:德语、英语、西班牙语、法语、意大利语、波斯语、日语、韩语、葡萄牙语、越南语、简体中文和繁体中文。

结论

数字时代既需要精简的内容呈现,也需要坚定不移地致力于保护用户隐私。我们的研究强调了阅读模式在 Android 和 Chrome 等平台上的有效性,它通过图形神经网络提供了一种创新的数据驱动内容解析方法。至关重要的是,我们的轻量级设备模型可确保内容提炼不会损害用户数据,所有流程都在本地执行。这不仅增强了阅读体验,也加强了我们对用户隐私的奉献精神。随着我们探索不断变化的数字内容消费格局,我们的研究结果强调了在体验和安全性方面优先考虑用户的至关重要性。

致谢

该项目是与 Manuel Tragut、Mihai Popa、Abodunrinwa Toki、Abhanshu Sharma、Matt Sharifi、David Petrou 和 Blaise Aguera y Arcas 合作的成果。我们衷心感谢我们的合作者 Gang Li 和 Yang Li。我们非常感谢 Tom Small 协助我们准备这篇文章。

版权声明

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

评论