编者按:自2019年以来,微软亚洲研究院在“智能文档”领域进行了诸多探索,提出了通用文档理解预训练模型 LayoutLM,以及多语言通用文档理解预训练模型 LayoutXLM。然而,除了诸多视觉效果固定不变的文档外,现实中还存在大量实时渲染的动态视觉富文本文档,直接套用过去如 LayoutLM 系列模型中采用的基于二维空间坐标的布局编码对动态文档进行建模是不现实的。为此,微软亚洲研究院的研究员们开发了一种全新模型 MarkupLM,可直接对动态文档的标记语言源代码进行处理,不需要任何额外的计算资源即可渲染生成动态文档的实际视觉效果。实验结果表明,MarkupLM 显著优于过去基于网页布局的方法,且具有高实用性。
视觉富文本文档(Visually Rich Document)因其包含大量的文本、布局、格式信息而成为人们日常工作生活中十分常用且重要的文件形式,然而处理这类文档(如提取信息,校对数据等)却需要耗费大量的人力与时间成本。因此,一类旨在使得机器理解并自动处理视觉富文本文档的需求便应运而生,被称为“文档智能(Document AI“。自2019年以来,微软亚洲研究院的研究员们已对此进行了诸多探索,并开发出了基于多模态预训练的富文本文档理解模型 (Visually-rich Document Understanding, VrDU) LayoutLMLayoutLMv2,及多语言通用文档理解预训练模型 LayoutXLM 等一系列相关模型,成功地在诸如表单、收据、发票、报告等视觉富文本文档数据集上取得了优良的表现。
然而,除了上述的诸多视觉效果固定不变的文档之外,还存在大量的实时渲染的动态视觉富文本文档,如基于 HTML 的网页,或基于 XML 的 Office 文件等。这些动态文档的特点是,它们并不包含一个硬编码的图像,而是以标记语言(Markup Language)代码的形式储存的。以图1为例,相同的网页在不同设备(如手机、平板、个人电脑等)上渲染得到的视觉效果会有所差异;此外,当需要处理大量的动态文档时,先统一进行渲染也会消耗巨额的计算资源。因此,直接套用过去如 LayoutLM 系列模型中采用的基于二维空间坐标的布局编码对动态文档进行建模是不现实的。
1:同一网页在不同设备上的显示效果
(https: //amzn.to/2ZZoi5R)
根据动态视觉富文本文档的特点,微软亚洲研究院的研究员们开发出了一种全新的模型 MarkupLMMarkupLM 直接对这些文档的标记语言源代码进行处理,不需要任何额外的计算资源即可渲染生成动态文档的实际视觉效果。通过从标记语言中提取树状结构的文档对象化模型(Document Object Model,DOM),并利用 DOM 对文档中的每个节点输出一个用于定位的 XPath(XML Path Language)表达式,MarkupLM 能够快速得到动态文档中每段文本在 DOM 树中的位置信息,并将其与对应的文本联合编码,从而极大地增强了模型对文档的建模能力
除了针对性设计的模型结构,研究员们也希望 MarkupLM 能自动地从大规模的无标注动态文档中学习可以广泛适用于相关下游任务的表征。作为最常见的动态文档,网页自然而然成为了 MarkupLM 的训练数据。研究员们采用了目前最大规模的网页数据集 CommonCrawl 作为训练集。除此之外,研究员们也从词、节点、文档三个层次构建了适应性的预训练任务,帮助 MarkupLM 从多维度理解与学习动态文档。
论文链接:
https://arxiv.org/abs/2110.08518
代码&模型链接:
https://aka.ms/markuplm
为了验证训练得到的 MarkupLM 的性能,研究员们在两种不同的下游任务上进行了实验,包括基于网页的阅读理解(WebSRC)与结构化网页信息提取(SWDE)。实验结果表明,MarkupLM 显著优于过去基于网页布局的方法,此外,在仅使用标记语言信息时 MarkupLM 取得了比采用渲染后图像联合编码的基线模型更好的性能,体现了它的高实用性。
基于Transformer新布局的模型结
与常见的预训练语言模型一样,MarkupLM 采用了与 BERT、RoBERTa 一致的 Transformers 架构。为了在模型中加入基于标记语言的布局信息,研究员们在 Embedding 层中额外加入了一个 XPath Embedding 模块,将每个词对应的 XPath 进行编码,并将该 Embedding 与原有的文本、位置,以及词类型 Embedding 相加,得到最终输入 Transformers Block 的词表征。图2展示了 MarkupLM 的总览结构,需要注意的是,由于用于参数初始化的 RoBERTa 模型中仅包含一种词类型 Embedding,因此在图中并未将其特别标出。
2:MarkupLM 模型结构及相关预训练任务示意图
XPathEmbedding编码
给定一个视觉富文本文档,模型首先将根据 DOM 树以深度优先遍历的方式抽取纯文本作为主要输入,同时也一并得到各个节点与 XPath 之间的对应关系。如图3所示,“6.5 inch” 对应的 XPath 表达式即为“/html/body/div/li[1]/div/span[2]”。
3:抽取文本及 XPath 的示例
将 XPath 转换为 Embedding 向量的示例可参见图4。对于一个 XPath 表达式,模型首先将其按层级切分,得到不同深度上的 XPath 单元,而每个单元又包含了标签的名称及下标。对于无下标的单元,则统一将其下标设置为0。在每层深度上,XPath Embedding模块均含有一个独立的标签嵌入表与下标嵌入表。因此每个 XPath 单元均会产生两个向量,分别表示名称与下标,随后两个向量相加即可得到各 XPath 单元的表征。为了保留单元之间的层次信息,该模块随后会将所有单元的表示按原有位置进行拼接操作,得到整个 XPath 表达式的表示向量。最后,考虑到该表示向量与其他原有 Embedding 向量之间的维度不一致,模型采用了一个前馈神经网络(FFN)层将该向量的维度进行转换,从而保持统一,该过程中引入的非线性激活函数也进一步增强了模型的表达能力。
图4:将一 XPath 表达式编码为 Embedding 的示意图
三大预训练任务,助力MarkupLM 性能Up
在预训练任务的选择上,研究员们从多角度出发,分别构建了词级别的掩码标记语言模型、节点级别的节点关系预测,以及文档级别的标题页面匹配三大任务。
掩码标记语言模型(Masked Markup Language Model, MMLM)
受到传统的掩码语言模型(Masked Language Model)与针对视觉信息的掩码视觉语言模型(Masked Visual Language Model)的启发,研究员们提出了针对标记语言的掩码标记语言模型(Masked Markup Language Model)。其做法与先前的工作类似,在构建输入数据的阶段,一定比例的输入词会被随机替换为[MASK],而 XPath 信息则保持不变,因此模型需要在完整的标记语言提示下预测并恢复出被遮盖的词。
节点关系预测(Node Relation Prediction, NRP
为了增强模型对 XPath 表达式的建模能力,研究员们进一步设计了节点关系预测(Node Relation Prediction)这一分类任务。具体来说,对于每个训练样本,模型会从中随机选取若干个节点对,并根据涉及到的 XPath ,计算得到每个节点对中两节点的有向关系。为了简化处理,研究员们预定义了一组关系集合,包括:自身、父、子、兄弟、祖先、子孙、其他等7类关系,并据此为选定的节点对进行标注。模型需要根据每个节点中第一个词的输出特征预测节点对的关系。
标题页面匹配(TitlePageMatching,TPM)
除了对文本及标记语言的细粒度建模,文档级别的全局信息也有助于模型的学习。在网页中,<title>标签包含的内容可以作为对正文部分很好的概括,提供了丰富的高层语义信息。针对这种特点,研究员们额外设计了标题页面匹配(Title Page Matching)的二分类任务。对每个输入样本,模型会根据一定概率随机将其标题部分替换为另一页面的标题。模型需要根据输出序列中[CLS]的表示判断该样本的标题是否被替换过。
MarkupLM显身手,多种类型任务获高分
预训练
MarkupLM 包含 BASE 与 LARGE 两种尺寸,均由 RoBERTa 的对应版本初始化而来。上述两模型均在数据集 CommonCrawl 的一个含2,400万英文网页的子集上进行训练。在具体实现中,为了避免 MMLM 中遮盖标题部分文本对 TPM 目标的影响,研究员们仅对正文部分进行了遮罩与恢复预测。
网页阅读理解
基于网页的阅读理解任务使用 WebSRC 作为测试数据集。该数据集中包含了来自6,447个网页的400,498个问题,覆盖了键值对、比较、表格理解等多种类型。任务要求模型根据给定的问题,从网页中直接抽取一段连续文本作为回答。表1所示的实验结果表明,MarkupLM 在 BASE 和 LARGE 上都远超利用相同模态信息(文本与标记语言)的基线,甚至优于利用了图像信息的模型,达到了74.43的 EM 分数。
1:MarkupLM 在网页阅读理解数据集 WebSRC 上的实验结果
网页信息抽取
对于网页信息抽取,研究员们采用 SWDE 数据集进行了实验验证。该数据集包含了124,291个网页,横跨汽车、数码、教育等多个领域,要求模型根据给定的问询属性从页面中抽取对应的具体值。该数据集的特点在于仅采用10%-50%的样本进行训练,而剩下的则用于测试,旨在模拟实际应用中利用少部分样本训练后,在大规模数据上推断的场景。表2与表3中的结果表明 MarkupLM 取得了远超以往方法的性能,在各种数量的训练样本下均达到很高的 F1 分数
2:MarkupLM 在网页信息抽取数据集 SWDE 上的实验结果
3:MarkupLM BASE(左)与 LARGE(右)在 SWDE 不同类别网页上的具体分数
消融实验
为了探究预训练中各个任务对模型性能产生的影响,研究员们利用100万个英文网页对模型重新进行了训练并在 WebSRC 上进行了测试,结果如表4所示。可以看到新提出的两个任务 NRP 与 TPM 均能有效帮助模型学习视觉富文本文档,EM 分数分别在仅使用 MMLM 的基础上提升了2.44.6,其中 TPM 的帮助更大。同时使用三个预训练任务则效果更好,提供了约5.3的 EM 涨幅。研究员们也探究了不同初始化策略对模型的影响,发现当使用更强的 RoBERTa 代替 BERT 时,EM 进一步增加了1.9。最后,当使用全部的数据、完整的预训练任务,以及更好的初始化时,便能够得到完整的模型。
4:MarkupLM 在不同预训练任务与初始化下的消融实验结果
MarkupLM——简单高效的智能文档“多面手”
针对动态视觉富文本文档提出的 MarkupLM 在一个简单的框架下高效地融合了文本和标记语言的信息。通过 Transformer 架构,MarkupLM 整合了不同的输入嵌入,包括文本嵌入、位置嵌入和 XPath 嵌入。此外,根据动态文档特点设计的预训练任务也极大增强了 MarkupLM 的性能,使其在网页阅读理解与信息抽取任务上的表现超越了原有的最优方法。
在未来的研究中,微软亚洲研究院的研究员们还将对基于动态编码的 PDF 和使用 XML DOM 作为骨干的 Office 文档的 MarkupLM 预训练进行研究,发掘这一类文档的通用处理办法。另外,MarkupLM 和基于布局的模型(如 LayoutLM)之间的关系也十分值得探索,下一步研究员们将深入了解这两种模型是否可以在统一的多视图和多任务设置下进行预训练,以及这两种模型的知识是否可以相互转换,以更好地理解结构信息。
微软亚洲研究院自然语言计算组(Natural Language Computing Group)正在招聘研究员和实习生,欢迎对文档智能、图像和文本预训练等领域感兴趣的同学加入我们。
全职岗位详情:
https://careers.microsoft.com/students/us/en/job/1127939/Researcher-MSRA-Full-Time-opportunity-for-graduates
https://careers.microsoft.com/students/us/en/job/1127940/Research-Software-Development-Engineer-MSRA-Full-Time-opportunity-for-graduates
实习岗位详情:
https://www.msra.cn/zh-cn/jobs/interns/nlc-research-intern-20170522
简历投递邮箱:
你也许还想看
继续阅读
阅读原文