微软亚洲研究院提出多语言通用文档理解预训练模型LayoutXLM
编者按:最近一段时间,基于文本、布局和图像的多模态预训练模型在视觉丰富的文档理解任务中取得了优异的性能,展现了不同模态之间联合学习的巨大潜力。继此前发布的通用文档理解预训练模型 LayoutLM 之后,微软亚洲研究院的研究员们进一步提出了一种基于多语言通用文档理解的多模态预训练模型 LayoutXLM,希望为丰富的视觉文档理解任务消除因不同语言所带来的障碍。同时,为了更精准地评估多语言文档理解预训练模型的性能,研究员们还引入了多语言表单理解基准数据集 XFUN。该数据集包含7种主流语言的表单理解标注样本:中文、日文、西班牙文、法文、意大利文、德文、葡萄牙文。
富文本文档因多样的布局且包含丰富的信息成为人们日常工作、生活中常用的文档形式。但相对于人类,机器在理解富文本文档方面却“弱”了很多。为了实现智能文档理解,微软亚洲研究院的研究员们于2019年提出了基于多模态预训练的富文本文档理解模型(Visually-rich Document Understanding, VrDU)LayoutLM,并在公开的基准测评上取得了优异的性能,其中包括票据理解、复杂布局的文档理解、文档图像分类和文档视觉问答任务。
显著的性能提升主要是由于 LayoutLM 将文本、布局和图像信息在统一的框架中共同建模训练,从而更好地学习到了不同模态之间的关联。在英文数据上获得进展之后,微软亚洲研究院的研究员们将目光转向了非英文“世界”。毕竟,网络上近40%的数字文档都是非英文语言构成的,不同语言的富文本文档样本数据如图1所示。
图 1:不同语言的富文本文档样例
虽然,用机器翻译自动翻译这些文件后再进行处理可以有一定的帮助,但由于直接将富文本文档进行机器翻译通常翻译质量较差,并且不同语言的文档形式各不相同,所以这种方法差强人意。若要实现多语言的智能文档理解,就必须使用世界各地不同语言真实文档数据集对模型进行预训练。
近年来,多语言预训练方法层出不穷,例如 mBERT、XLM、XLM-RoBERTa、mBART,以及最近的 InfoXLM 和 mT5 等,这些方法通过在多种语言上预训练 Transformer 模型,在跨语言自然语言理解任务上获得了非常好的结果,甚至还在一些跨语言转换基准中成功地消除了语言障碍,如 XNLI 和 XTREME。尽管这些跨语言的预训练模型使用了大量的多语言文本数据,但纯文本的多语言模型并不能简单地应用在文档理解任务中,因为不同国家甚至同一国家不同地区的文件格式或布局都具有多样性,仅从纯文本角度建立模型处理富文本文档还远远不够。
因此,为了准确处理各种富文本文档,使用多模态框架至关重要,也就是说,不仅要用文本信息,还要用布局和图像信息来预训练多语言模型。
针对这一问题,微软亚洲研究院的研究员们提出了一种基于多语言文档理解任务的多模态预训练模型 LayoutXLM,作为 LayoutLMv2 模型的多语言扩展版。受 LayoutLMv2 模型的启发,LayoutXLM 采用了与之相同的 Transformer 架构来进行多模态预训练,并由多语言预训练的 InfoXLM 模型进行初始化。相关工作细节详见论文 “LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding”。
论文地址:https://arxiv.org/pdf/2104.08836.pdf
LayoutLMv2 在多语言掩码式视觉语言模型之外还使用了两个新的训练目标——文本-图像对齐任务和文本-图像匹配任务。通过这种方式,预训练的模型可以从不同的文件类型中吸收跨模式的知识,但其中布局和格式之间的局部不变性知识会被保留下来。因此,LayoutXLM 也利用了 LayoutLMv2 的这一训练优势。
研究员们还利用 IIT-CDIP 数据集以及互联网上大量公开的多语言 PDF 文件对模型进行预训练,进而让 LayoutXLM 模型从真实世界的文件中学习。
通过上述方式,LayoutXLM 模型不仅从各种不同语言的文档模板/布局/格式中获得了文本和视觉信号,同时还从文本、视觉和语言学的角度利用了局部不变的特性。而为了方便对预训练的 LayoutXLM 模型进行评估,研究员们还创建了多语言文档理解数据集 XFUN。该数据集包含语义实体识别和关系抽取两个自任务,涵盖7种语言:中文、日文、西班牙文、法文、意大利文、德文、葡萄牙文。目前 XFUN 数据集已经开放下载,下载地址:https://aka.ms/layoutxlm
实验结果显示,预训练的 LayoutXLM 在 XFUN 基准数据集上的表现优于多个 SOTA 的跨语言预训练模型,这也证明了多模态预训练策略在多语言文档理解上的潜力。
下面为大家介绍一下 LayoutXLM 的模型原理、多语言文档理解评测基准数据集 XFUN 的构建,以及相关实验结果。
与 LayoutLMv2 框架类似,研究员们用一个多模态的 Transformer 架构设计了 LayoutXLM 模型。该模型接受了来自三种不同模态的信息,包括文本、布局和图像,它们分别被编码为文本嵌入层(text embedding)、布局嵌入层(layout embedding)和视觉嵌入层(visual embedding)。文本和图像嵌入被连接起来后,再加上布局嵌入,从而得到模型输入。
图 2:LayoutXLM 模型架构图
采用研究员们设计的具有空间感知的自注意力机制(spatial-aware self-attention mechanism)的多模态 Transformer,可以对模型输入进行编码并将多个模态的信息进行融合。最后,输出的上下文表示向量可用于特定任务层,以完成下游任务。
LayoutLMv2 的预训练目标在对视觉丰富的文档进行建模时已显示出其有效性。因此,研究员们很自然地将这个预训练框架调整为多语言文档预训练。按照跨模态对齐这一核心思路,LayoutXLM 文档理解预训练框架包含三个预训练目标——多语言掩码式视觉语言模型(文本-布局对齐)、文本-图像对齐(细粒度的文本-图像对齐)和文本-图像匹配(粗粒度的文本-图像对齐)。
多语言掩码式视觉语言模型(Multilingual Masked Visual-Language Model):掩码式视觉语言模型(MVLM)最初是在 LayoutLM 中提出的,在 LayoutLMv2 中也有使用,其目的是对视觉丰富的文档中的丰富文本进行建模。在这个预训练目标中,模型需要根据其文本上下文和所有的布局暗示来预测被遮盖的文本。与 LayoutLM/LayoutLMv2 类似,研究员们用多语言掩码式视觉语言模型(MMVLM)来训练了 LayoutXLM。
文本—图像对齐(Text-Image Alignment):文本-图像对齐(TIA)任务是为了帮助模型捕捉文本和图像之间的细粒度对齐关系。研究员们随机选择了一些文本行,然后在文档图像上覆盖其对应的图像区域,模型需要对每个文本预测其是否被覆盖。
文本—图像匹配(Text-Image Match):对于文本-图像匹配(TIM)任务,研究员们的设计目标是使文本和图像之间的高层语义表示保持一致。为此,需要要求模型预测文本和图像是否来自同一个文档页面。
LayoutXLM 模型用53种语言的文档进行了预训练,图3展示了预训练数据中不同语言的分布。
图 3:数据集的语言分布
研究员们选择了多语言的 PDF 文件作为训练数据来源。因为,PDF 文件可以大大方便收集和预处理的步骤:不同于扫描文档图片,PDF 文件可以免去在自然图像中筛选扫描文件的麻烦;另一方面,也可以用 PDF 解析器直接提取准确的文本和相应的布局信息,从而节省运行 OCR 工具的时间。
获取原始多语言 PDF 数据之后,研究员们使用开源的 PDF 解析器 PyMuPDF 提取了文本、布局和文档图像,并通过文档长度、BlingFire 语言得分等方式筛选掉低质量的训练数据。最终研究员们构建了约三千万的多语言富文本文档训练数据。
近几年,许多针对文档理解任务的评估数据集被提出,如 PublayNet、FUNSD、SROIE、TableBank、DocBank、DocVQA 等。这些数据集成功地帮助评估了神经网络模型,并显示了深度学习模型与人类之间的性能差距,极大地促进了文档理解研究的进展。
然而,这些评估和基准都只关注于英文文档,限制了对非英文文档理解任务的研究。为此,微软亚洲研究院的研究员们按照英文表单理解数据集的标注方式扩展到了其他7种语言,包括中文、日文、西班牙文、法文、意大利文、德文和葡萄牙文,提出了一个新的多语言表单理解基准测试 XFUN。其中抽样文档如图4所示。
图 4:XFUN 数据集中的两张样例,其中红色代表标题,绿色代表键,蓝色代表值。
针对键值提取这一表单理解中最关键的任务之一,与 FUNSD 类似,研究员们将这项任务定义为两个子任务,即语义实体识别和关系提取,进行任务描述。
在语义实体识别(Semantic Entity Recognition, SER)子任务中,采用的描述方法是:
给定一个富文本文档 D,获得 token 序列t={t_0, t_1, …, t_n},其中每个 token 都可以表示为 t_i = (w, (x_0, y_0, x_1, y_1)),w 为 token 文本,(x_0, y_0, x_1, y_1) 为文本在文档中的空间坐标位置。定义所有语义实体的类别为 C = {c_0, c_1, …, c_m}。语义实体识别任务要求模型标记抽取出所有定义的语义实体并且将其分类到正确的类别中,即需要找到函数 Fser:(D, C) -> ,其中 E 是模型预测的语义实体集合:
针对关系抽取 (Relation Extraction, RE)子任务,采取的描述方式是:
给定文档 D,语义实体类别集合 C,给定关系集合 R={r_0, r_1, …, r_m},关系抽取任务要求模型预测任意两个语义实体之间的关系,即需要找到函数 Fre:(D, E, R, E) -> L,其中 L 是预测的语义关系集:
有了清晰的任务描述,接下来就是数据收集和标注,分为两步:构建表单模板和定义键值对。
在不同的商业场景中,表单通常被用来收集信息。为了避免现实世界中的文件泄露敏感信息,研究员们收集了互联网上公开的文件,并过滤了文件中的敏感内容,只保留了手动填写合成信息的模板。研究员们从互联网上收集了7种语言的表单模板。之后,标注人员按照相应的要求在这些表单模板中手动填写伪信息。每个模板只允许使用一次,这意味着每个表单模板都是独一无二的。
此外,由于英文表单数据集中通常既有数字填写的表单,也有手写的表单,研究员们也要求标注人员通过电子填写或手写的方式来填写表单。填好的表单最后被扫描成文档图像,以便进一步进行 OCR 处理和键值标注。
获得了表单后,研究员们使用微软认知服务 Read API 来获得带有边界框的 OCR 标注。通过 GUI 标注工具,标注人员可以看到原始文档图像和所有 OCR 标记的边界框可视化。标注人员被要求标记出所有的实体,并为实体分配预定义的标签。另外,如果两个实体是对应关系,它们应该作为一个键值对被连接在一起。
最终,XFUN 基准测试包括7种语言和1,393张完全注释的表单。每种语言包括199种形式,其中训练集包括149张表单,测试集包括50张表单,(统计结果见表1)。
表 1:XFUN 基准数据集的统计信息
为了证明 LayoutXLM 的性能,研究员们在 XFUN 基准上进行了实验。除了典型的特定语言微调(Language-specific fine-tuning)实验外,还增加了两个额外的实验设置, 零样本迁移学习(Zero-shot transfer learning)和多任务微调(Multitask fine-tuning),来证明在不同语言之间迁移知识的能力。
1. 特定语言微调(Language-specific Fine-tuning)是指典型的微调范式,即在语言X上进行微调,在语言X上进行测试。
2. 零样本迁移学习(Zero-shot Transfer Learning)意味着模型只在英语数据上训练,然后在每个目标语言上进行测试。
3. 多任务微调(Multitask Fine-tuning)要求模型在所有语言的数据上进行训练,然后在每个目标语言上进行测试。
在这三种实验设置下,研究员们将语义实体识别和关系抽取这两个子任务分别进行了评估,并将 LayoutXLM 模型与已有的跨语言模型 XLM-R 和 InfoXLM 进行了比较。
研究员们在特定语言的微调任务中评估了 LayoutXLM 模型,结果见表2。与 XLM-R 和 InfoXLM 等预训练模型相比,LayoutXLM LARGE 模型在 SER 和 RE 任务中都获得了最高的 F1 分数。这表明 LayoutXLM 有能力将从预训练中获得的知识转移到下游任务中,这进一步证实了框架的有效性。
表 2:在XFUN上进行特定语言微调的实验结果,其中SER代表语义实体识别,RE代表关系抽取。
对于跨语言的零样本迁移学习,表3中给出了评估结果。虽然该模型只在 FUNSD 数据集(英语)上进行了微调,但它仍然可以将知识转移到不同的语言中。此外,研究员们观察到 LayoutXLM 模型明显优于其他基于文本的模型。这验证了 LayoutXLM 能够捕捉到不同语言间文本布局共享的局部不变性,并将其转移到其他语言中进行表单理解。
表 3:在 XFUN 上进行零样本迁移学习的实验结果
表4展示了多任务微调的评估结果。在这种实验设置下,预训练的 LayoutXLM 模型同时在8种语言数据上进行了微调,并在每种语言上进行了评估,通过这种方式研究员们可以得知模型是否可以通过多语言同时微调获得性能提升。据观察,与特定语言的微调相比,多任务学习进一步提高了模型的性能,这也证实了文档理解可以从不同语言文本布局的局部不变性中受益。
表 4:在 XFUN 上进行多任务微调的实验结果
虽然 LayoutXLM 在实验中取得了非常优异的成绩,微软亚洲研究院的研究员们并未止步于此,接下来将进一步扩大多语言训练数据,以涵盖更多的语言以及更多的文档布局和模板。此外,由于存在大量内容相同但语言不同的商业文档,研究员们还将研究如何通过在平行文档上进行对比学习来提升多语言预训练模型的准确性。
论文标题:LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding
论文链接:https://arxiv.org/abs/2104.08836
代码/模型:https://aka.ms/layoutxlm
数据集:https://github.com/doc-analysis/XFUN
你也许还想看: