在当今的数字时代,智能手机和桌面网络浏览器是访问新闻和信息的主要工具。然而,网站混乱的激增——包括复杂的布局、导航元素和无关的链接——严重损害了阅读体验和文章导航。对于有无障碍要求的个人来说,这个问题尤其严重。
为了改善用户体验并使阅读更容易,Android和Chrome用户可以利用阅读模式功能,该功能通过处理网页以允许自定义对比度、可调整文本大小、更清晰的字体以及启用文本转语音实用程序来增强可访问性。此外,Android 的阅读模式还可以从应用程序中提取内容。扩展阅读模式以涵盖广泛的内容并提高其性能,同时仍然在用户设备上本地运行而不向外部传输数据,提出了独特的挑战。
为了在不损害隐私的情况下扩大阅读模式功能,我们开发了一种新颖的设备上内容蒸馏模型。与使用DOM Distiller(一种仅限于新闻文章的启发式方法)的早期尝试不同,我们的模型在各种类型内容的质量和多功能性方面都表现出色。我们确保文章内容不会脱离当地环境的限制。我们的设备上内容蒸馏模型可以将长篇内容顺利地转换为简单且可定制的布局,以提供更愉快的阅读之旅,同时也优于领先的替代方法。在这里,我们探讨了这项研究的细节,重点介绍了我们的方法、方法和结果。
图神经网络
我们不依赖于难以维护和扩展到各种文章布局的复杂启发式方法,而是将此任务视为完全监督的学习问题。这种数据驱动的方法使模型能够更好地泛化不同的布局,而不受启发式的约束和脆弱性。以前优化阅读体验的工作依赖于 HTML 或文档对象模型(DOM) 的解析、过滤和建模,DOM 是用户的 Web 浏览器从站点 HTML 自动生成的编程接口,它表示文档的结构并允许其被操纵。
新的阅读模式模型依赖于可访问性树,它提供了简化且更易于访问的 DOM 表示。辅助功能树是从 DOM 树自动生成的,并由辅助技术利用,以允许残障人士与 Web 内容进行交互。这些可以在 Chrome Web 浏览器和 Android 上通过AccessibilityNodeInfo对象获得,这些对象是为 WebView 和本机应用程序内容提供的。
我们首先手动收集和注释可访问性树。该项目使用的 Android 数据集包含大约 10k 个标记示例,而 Chrome 数据集包含大约 100k 个标记示例。我们开发了一种新颖的工具,它使用图神经网络(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 等平台中阅读模式的有效性,通过图神经网络提供了一种创新的、数据驱动的内容解析方法。至关重要的是,我们的轻量级设备上模型可确保在不损害用户数据的情况下进行内容蒸馏,并且所有流程都在本地执行。这不仅增强了阅读体验,也加强了我们对用户隐私的重视。当我们探索不断变化的数字内容消费格局时,我们的发现强调了在体验和安全方面优先考虑用户的至关重要性。
微信群 公众号