Visually-Rich Document understanding—— 阅读笔记

paperlist:

1、2021《LayoutLM: Pre-training of Text and Layout for Document Image Understanding》微软

2、2021《LayoutLMv2: Multi-modal Pre-training for Visually-rich Document Understanding》微软

3、2021《ViBERTgrid: A Jointly Trained Multi-Modal 2D Document Representation for Key Information Extraction from Documents》微软

4、2021《StrucTexT: Structured Text Understanding with Multi-Modal Transformers》百度

5、2021《BROS: A Pre-trained Language Model Focusing on Text and Layout for Better Key Information Extraction from Documents》NAVER CLOVA

6、2021《MTL-FoUn: A Multi-Task Learning Approach to Form Understanding 》

7、2021《Entity Relation Extraction as Dependency Parsing in Visually Rich Documents》阿里

8、2021《StructuralLM: Structural Pre-training for Form Understanding》 阿里

一、LayoutLM: Pre-training of Text and Layout for Document Image Understanding 2021

一、LayoutLM: Pre-training of Text and Layout for Document Image Understanding
LayoutLM:用于文档图像理解的文本和布局的预训练

作者:微软

Abstract

近年来,预训练技术已在各种 NLP 任务中得到成功验证。尽管在 NLP 应用程序中广泛使用了预训练模型,但它们几乎只专注于文本级别的操作,而忽略了对文档图像理解至关重要的布局和样式信息。在本文中,我们提出 LayoutLM 来联合建模跨扫描文档图像的文本和布局信息之间的交互,这有利于大量真实世界的文档图像理解任务,例如从扫描文档中提取信息。此外,我们还利用图像特征将单词的视觉信息合并到 LayoutLM 中。据我们所知,这是第一次在文档级预训练的单个框架中联合学习文本和布局。它在几个下游任务中取得了最新的最新成果,包括表单理解(从 70.72 到 79.27)、收据理解(从 94.02 到 95.24)和文档图像分类(从 93.07 到 94.42)。代码和预训练的 LayoutLM 模型可在 https://aka.ms/layoutlm 上公开获得。

介绍

文档 AI 或文档智能是一个相对较新的研究主题,它涉及自动阅读、理解和分析业务文档的技术。业务文档是提供与公司内部和外部交易相关的详细信息的文件,如图 1 所示。它们可能是数字生成的,以电子文件的形式出现,或者它们可能是来自书面或印刷的扫描形式纸。商业文件的一些常见示例包括采购订单、财务报告、商业电子邮件、销售协议、供应商合同、信件、发票、收据、简历等等。商业文件对公司的效率和生产力至关重要。业务文档的确切格式可能会有所不同,但信息通常以自然语言呈现,并且可以通过纯文本、多列布局和各种表格/表格/图形等多种方式进行组织。由于布局和格式的多样性、扫描的文档图像质量差以及模板结构的复杂性,理解商业文档是一项非常具有挑战性的任务。

如今,许多公司通过手动操作从业务文档中提取数据,既耗时又昂贵,同时需要手动定制或配置。每种类型文档的规则和工作流程通常需要硬编码,并随着特定格式的更改或处理多种格式而更新。为了解决这些问题,文档 AI 模型和算法旨在从业务文档中自动分类、提取和结构化信息,加速自动化文档处理工作流程。从计算机视觉或自然语言处理的角度来看,文档 AI 的当代方法通常建立在深度神经网络的基础上,或者它们的组合。早期的尝试通常侧重于检测和分析文档的某些部分,例如表格区域。 [7] 率先提出了一种基于卷积神经网络(CNN)的 PDF 文档表格检测方法。之后,[21, 24, 29] 还利用了更先进的 Faster R-CNN 模型 [19] 或 Mask R-CNN 模型 [9] 来进一步提高文档布局分析的准确性。此外,[28] 提出了一种端到端、多模态、全卷积网络,用于从文档图像中提取语义结构,利用来自预训练 NLP 模型的文本嵌入。最近,[15] 引入了基于图卷积网络 (GCN) 的模型,将文本和视觉信息结合起来,从业务文档中提取信息。尽管这些模型在具有深度神经网络的文档 AI 领域取得了重大进展,但这些方法中的大多数都面临两个局限性:(1)它们依赖于少数人工标记的训练样本,而没有充分探索使用大规模未标记训练的可能性样品。 (2) 他们通常利用预训练的 CV 模型或 NLP 模型,但不考虑文本和布局信息的联合训练。因此,重要的是研究文本和布局的自监督预训练如何在文档 AI 领域有所帮助。

为此,我们提出了 LayoutLM,这是一种简单而有效的文本和布局预训练方法,用于文档图像理解任务。受 BERT 模型 [4] 的启发,其中输入文本信息主要由文本嵌入和位置嵌入表示,LayoutLM 进一步添加了两种类型的输入嵌入:(1)二维位置嵌入,表示标记在其中的相对位置一份文件; (2) 文档中扫描标记图像的图像嵌入。 LayoutLM 的架构如图 2 所示。 我们添加这两个输入嵌入是因为 2-D 位置嵌入可以捕获文档中标记之间的关系,同时图像嵌入可以捕获一些外观特征,例如字体方向、类型、和颜色。此外,我们为 LayoutLM 采用了多任务学习目标,包括屏蔽视觉语言模型 (MVLM) 损失和多标签文档分类 (MDC) 损失,这进一步加强了文本和布局的联合预训练。在这项工作中,我们的重点是基于扫描文档图像的文档预训练,而数字生成的文档的挑战性较小,因为它们可以被视为不需要 OCR 的特殊情况,因此它们不在本文讨论的范围内。纸。具体来说,LayoutLM 在 IIT-CDIP 测试集 1.0^2 上进行了预训练,其中包含超过 600 万个扫描文档和 1100 万个扫描文档图像。扫描的文件有多种类别,包括信函、备忘录、电子邮件、文件夹、表格、手写、发票、广告、预算、新闻文章、演示文稿、科学出版物、问卷、简历、科学报告、规范等,这是大规模自监督预训练的理想选择。我们选择三个基准数据集作为下游任务来评估预训练的 LayoutLM 模型的性能。第一个是用于空间布局分析和形式理解的 FUNSD 数据集 3 [10]。第二个是用于扫描收据信息提取的 SROIE 数据集 4。第三个是用于文档图像分类的 RVL-CDIP 数据集 5 [8],它由 16 个类别的 400,000 张灰度图像组成。实验表明,预训练的 LayoutLM 模型在这些基准数据集上明显优于几个 SOTA 预训练模型,证明了在文档图像理解任务中预训练文本和布局信息的巨大优势。

本文的贡献总结如下:

  • 首次在单个框架中预训练来自扫描文档图像的文本和布局信息。还利用图像特征来实现新的最先进的结果。
  • LayoutLM 使用掩码视觉语言模型和多标签文档分类作为训练目标,在文档图像理解任务中明显优于几个 SOTA 预训练模型。
  • 代码和预训练模型可在 https://aka.ms/layoutlm 上公开获取,用于更多下游任务。

2 LayoutLM

在本节中,我们简要回顾了 BERT 模型,并介绍了我们如何扩展以在 LayoutLM 框架中联合建模文本和布局信息。

2.1 BERT 模型

BERT 模型是一种基于注意力的双向语言建模方法。经验证,BERT 模型显示了从具有大规模训练数据的自监督任务中进行的有效知识转移。 BERT 的架构基本上是一个多层双向 Transformer 编码器。它接受一系列标记并堆叠多个层以生成最终表示。具体来说,给定一组使用 WordPiece 处理的标记,输入嵌入是通过对相应的词嵌入、位置嵌入和段嵌入求和来计算的。然后,这些输入嵌入通过一个多层双向 Transformer 传递,该 Transformer 可以使用自适应注意机制生成上下文化表示。

BERT 框架有两个步骤:预训练和微调。在预训练期间,模型使用两个目标来学习语言表示:掩码语言建模 (MLM) 和下一句预测 (NSP),其中 MLM 随机屏蔽一些输入标记,目标是恢复这些被屏蔽的标记,NSP是一个二元分类任务,以一对句子为输入,对它们是否是两个连续的句子进行分类。在微调中,特定任务的数据集用于以端到端的方式更新所有参数。 BERT 模型已成功应用于一组 NLP 任务。

2.2 LayoutLM 模型

尽管类 BERT 模型成为多项具有挑战性的 NLP 任务的最先进技术,但它们通常仅对任何类型的输入利用文本信息。当涉及到视觉丰富的文档时,可以将更多信息编码到预训练模型中。因此,我们建议利用文档布局中视觉上丰富的信息并将它们与输入文本对齐。基本上,有两种类型的特征

在视觉丰富的文档中显着改善语言表示,它们是:

文档布局信息。很明显,文档中单词的相对位置对语义表示有很大贡献。以表单理解为例,给定表单中的一个键(例如“Passport ID:”),其对应的值更有可能在其右侧或下方,而不是左侧或上方。因此,我们可以将这些相对位置信息嵌入为二维位置表示。基于 Transformer 中的 self-attention 机制,将二维位置特征嵌入到语言表示中将更好地将布局信息与语义表示对齐。

视觉信息。与文本信息相比,视觉信息是文档表示中另一个重要的特征。通常,文档包含一些视觉信号以显示文档段的重要性和优先级。视觉信息可以由图像特征表示并有效地用于文档表示。对于文档级视觉特征,整幅图像可以指示文档布局,这是文档图像分类的基本特征。对于词级视觉特征,粗体、下划线和斜体等样式也是序列标注任务的重要提示。因此,我们认为将图像特征与传统文本表示相结合可以为文档带来更丰富的语义表示。

2.3 模型架构

图2. LayoutLM的一个例子,其中二维布局和图像嵌入集成到原始BERT架构中。LayoutLM嵌入和Faster R-CNN中的图像嵌入一起工作,用于下游任务。

为了利用现有的预训练模型并适应文档图像理解任务,我们使用 BERT 架构作为主干并添加两个新的输入嵌入:二维位置嵌入和图像嵌入。

二维位置embedding。与对序列中单词位置建模的位置嵌入不同,二维位置嵌入旨在对文档中的相对空间位置进行建模。为了表示扫描文档图像中元素的空间位置,我们将文档页面视为具有左上角原点的坐标系。在此设置中,边界框可以由 ( x 0 , y 0 , x 1 , y 1 ) (x 0 , y 0 , x 1 , y 1 ) (x0,y0,x1,y1) 精确定义,其中 ( x 0 , y 0 ) (x 0 , y 0 ) (x0,y0) 对应于边界框左上角的位置,而 ( x 1 , y 1 ) (x 1 , y 1 ) (x1,y1) 表示右下角的位置。我们添加了四个位置嵌入层和两个嵌入表,其中表示相同维度的嵌入层共享相同的嵌入表。这意味着我们在嵌入表 X 中查找 x 0 x 0 x0 x 1 x 1 x1 的位置嵌入,并在表 Y 中查找 y 0 和 y 1。

图像嵌入。为了利用文档的图像特征并将图像特征与文本对齐,我们添加了一个图像嵌入层来表示语言表示中的图像特征。更详细地说,利用 OCR 结果中每个单词的边界框,我们将图像分成几块,它们与单词一一对应。我们使用来自 Faster R-CNN [19] 模型的这些图像片段作为标记图像嵌入来生成图像区域特征。对于 [CLS] 标记,我们还使用 Faster R-CNN 模型来生成嵌入,使用整个扫描文档图像作为感兴趣区域 (ROI),以使需要 [CLS] 标记表示的下游任务受益。

2.4 预训练LayoutLM

任务 #1:掩码视觉语言模型MVLM。受掩码语言模型的启发,我们提出了掩码视觉语言模型(MVLM),以利用二维位置嵌入和文本嵌入的线索来学习语言表示。在预训练期间,我们随机屏蔽一些输入标记但保留相应的二维位置嵌入,然后训练模型以在给定上下文的情况下预测被屏蔽的标记。通过这种方式,LayoutLM 模型不仅可以理解语言上下文,还可以利用相应的二维位置信息,从而弥合视觉和语言模态之间的差距。

任务#2:多标签文档分类MDC。对于文档图像理解,许多任务需要模型生成高质量的文档级表示。由于 IIT-CDIP 测试集包含每个文档图像的多个标签,我们还在预训练阶段使用多标签文档分类 (MDC) 损失。给定一组扫描的文档,我们使用文档标签来监督预训练过程,以便模型可以将来自不同领域的知识聚类并生成更好的文档级表示。由于 MDC 损失需要每个文档图像的标签,对于较大的数据集可能不存在,因此在预训练期间它是可选的,并且将来可能不会用于预训练更大的模型。我们将在第 3 节中比较 MVLM 和 MVLM+MDC 的性能。

2.5 微调LayoutLM

预训练的 LayoutLM 模型在三个文档图像理解任务上进行了微调,包括表单理解任务、收据理解任务以及文档图像分类任务。对于表单和收据理解任务,LayoutLM 为每个标记预测 {B, I, E, S, O} 标签,并使用顺序标记来检测数据集中的每种类型的实体。对于文档图像分类任务,LayoutLM 使用 [CLS] 标记的表示来预测类标签。

3 实验

3.1 预训练数据集

预训练模型的性能很大程度上取决于数据集的规模和质量。因此,我们需要一个大规模的扫描文档图像数据集来预训练 LayoutLM 模型。我们的模型在 IIT-CDIP 测试集 1.0 上进行了预训练,其中包含超过 600 万个文档,以及超过 1100 万个扫描文档图像。此外,每个文档都有其对应的文本和元数据存储在 XML 文件中。文本是通过将 OCR 应用于文档图像而产生的内容。元数据描述了文档的属性,例如唯一标识和文档标签。尽管元数据包含错误和不一致的标签,但这个大规模数据集中的扫描文档图像非常适合对我们的模型进行预训练。

3.2 微调数据集

FUNSD 数据集。我们在 FUNSD 数据集上评估我们的方法,以在嘈杂的扫描文档中进行形式理解。该数据集包括 199 个真实的、完全注释的、扫描的表单,具有 9,707 个语义实体和 31,485 个单词。这些表单被组织为相互关联的语义实体列表。每个语义实体包括唯一标识符、标签(即问题、答案、标题或其他)、边界框、与其他实体的链接列表和单词列表。数据集分为 149 个训练样本和 50 个测试样本。我们采用词级 F1 分数作为评估指标。

SROIE 数据集。我们还在 SROIE 数据集上评估我们的模型以提取收据信息(任务 3)。该数据集包含 626 个用于训练的收据和 347 个用于测试的收据。每个收据都被组织成一个带有边界框的文本行列表。每张收据都标有四种类型的实体,它们是{公司、日期、地址、总计}。评估指标是实体识别结果在 F1 分数中的精确匹配。

RVL-CDIP 数据集。 RVL-CDIP 数据集由 16 类 400,000 张灰度图像组成,每类 25,000 张图像。有 320,000 张训练图像、40,000 张验证图像和 40,000 张测试图像。图像已调整大小,因此它们的最大尺寸不超过 1,000 像素。 16 个类别包括{信函、表格、电子邮件、手写、广告、科学报告、科学出版物、规范、文件夹、新闻文章、预算、发票、演示文稿、问卷、简历、备忘录}。评估指标是总体分类准确率。

3.3 文件预处理

为了利用每个文档的布局信息,我们需要获取每个标记的位置。但是,预训练数据集(IIT-CDIP 测试集)仅包含纯文本,而缺少相应的边界框。在这种情况下,我们重新处理扫描的文档图像以获得必要的布局信息。与 IIT-CDIP 测试集中的原始预处理一样,我们通过将 OCR 应用于文档图像来类似地处理数据集。不同之处在于我们同时获得了识别的单词及其在文档图像中的对应位置。感谢开源 OCR 引擎 Tesseract 6,我们可以轻松获得识别以及二维位置。我们以 hOCR 格式存储 OCR 结果,这是一种标准规范格式,它使用分层表示清楚地定义了单个文档图像的 OCR 结果。

3.4 模型预训练

我们使用预训练的 BERT 基础模型初始化 LayoutLM 模型的权重。具体来说,我们的 BASE 模型具有相同的架构:一个具有 768 个隐藏大小的 12 层 Transformer 和 12 个注意力头,其中包含大约 1.13 亿个参数。因此,我们使用 BERT 基础模型来初始化模型中除 2-D 位置嵌入层之外的所有模块。对于 LARGE 设置,我们的模型有一个 24 层 Transformer,具有 1,024 个隐藏大小和 16 个注意力头,由预训练的 BERT LARGE 模型初始化,包含大约 343M 的参数。按照 [4],我们选择 15% 的输入标记进行预测。我们在 80% 的情况下用 [MASK] 令牌、10% 的时间用随机令牌和 10% 的时间用未更改的令牌替换这些被屏蔽的令牌。然后,模型用交叉熵损失预测相应的令牌。

此外,我们还添加了具有四个嵌入表示 ( x 0 , y 0 , x 1 , y 1 ) (x 0 , y 0 , x 1 , y 1 ) (x0,y0,x1,y1) 的 2-D 位置嵌入层,其中 (x 0 , y 0 ) 对应于边界中左上角的位置框,(x 1 , y 1 ) 表示右下角的位置。考虑到不同页面大小的文档布局可能会有所不同,我们将实际坐标缩放为“虚拟”坐标:将实际坐标缩放为 0 到 1,000 之间的值。此外,我们还使用 ResNet-101 模型作为 Faster R-CNN 模型中的骨干网络,该模型在 Visual Genome 数据集上进行了预训练 [12]。

我们在 8 个 NVIDIA Tesla V100 32GB GPU 上训练我们的模型,总批次大小为 80。使用 Adam 优化器,初始学习率为 5e-5,线性衰减学习率计划。 BASE 模型在 11M 文档上完成一个 epoch 需要 80 小时,而 LARGE 模型需要近 170 小时才能完成一个 epoch。

3.5 特定任务的微调

我们在三个文档图像理解任务上评估 LayoutLM 模型:表单理解、收据理解和文档图像分类。我们遵循典型的微调策略,并在特定于任务的数据集上以端到端的方式更新所有参数。

形式理解。此任务需要提取和构建表单的文本内容。它旨在从扫描的表单图像中提取键值对。更详细地说,这个任务包括两个子任务:语义标注和语义链接。语义标签是将单词聚合为语义实体并为其分配预定义标签的任务。语义链接是任务

预测语义实体之间的关系。在这项工作中,我们专注于语义标记任务,而语义链接不在范围内。为了在此任务上微调 LayoutLM,我们将语义标记视为序列标记问题。我们将最终表示传递到一个线性层,然后是一个 softmax 层来预测每个标记的标签。该模型训练了 100 个 epoch,批大小为 16,学习率为 5e-5。

收据理解。此任务需要根据扫描的收据图像填充几个预定义的语义槽。例如,给定一组收据,我们需要填充特定的位置(例如,公司、地址、日期和总数)。与需要标记所有匹配实体和键值对的表单理解任务不同,语义槽的数量由预定义的键固定。因此,模型只需要使用序列标注的方法来预测对应的值。

文档图像分类。给定一个视觉丰富的文档,该任务旨在预测每个文档图像的相应类别。与现有的基于图像的方法不同,我们的模型不仅包括图像表示,还包括使用 LayoutLM 中的多模式架构的文本和布局信息。因此,我们的模型可以更有效地结合文本、布局和图像信息。为了在这个任务上微调我们的模型,我们将 LayoutLM 模型的输出和整个图像嵌入连接起来,然后是一个用于类别预测的 softmax 层。我们以 40 的批量大小和 2e-5 的学习率对模型进行了 30 次微调。

3.6 结果

表单理解。我们在 FUNSD 数据集上评估表单理解任务。实验结果如表 1 所示。我们将 LayoutLM 模型与两个 SOTA 预训练的 NLP 模型进行比较:BERT 和 RoBERTa [16]。 BERT BASE 模型达到 0.603,而 LARGE 模型在 F1 中达到 0.656。与 BERT 相比,RoBERTa 在这个数据集上的表现要好得多,因为它使用更大的数据和更多的 epoch 进行训练。由于时间限制,我们为 LayoutLM 提供了 4 种设置,分别是 500K 的 6 epoch 文档页面、1M 的 6 epoch、2M 的 6 epoch 以及 11M 的 2 epoch。观察到 LayoutLM 模型大大优于现有的 SOTA 预训练基线。使用BASE架构,11M训练数据的LayoutLM模型在F1达到0.7866,远高于参数大小相似的BERT和RoBERTa。此外,我们还在预训练步骤中添加了 MDC 损失,它确实对 FUNSD 数据集带来了实质性的改进。最后,LayoutLM 模型在同时使用文本、布局和图像信息时达到了 0.7927 的最佳性能。

此外,我们还在 FUNSD 数据集上使用不同的数据和 epoch 评估 LayoutLM 模型,如表 2 所示。对于不同的数据设置,我们可以看到整体准确度随着在预训练期间训练的 epochs 的增加而单调增加。训练步骤。此外,随着更多数据输入到 LayoutLM 模型中,准确性也得到了提高。由于 FUNSD 数据集仅包含 149 个用于微调的图像,结果证实文本和布局的预训练对于扫描文档的理解是有效的,尤其是在低资源设置的情况下。

此外,我们比较了 LayoutLM 模型的不同初始化方法,包括从头开始、BERT 和 RoBERTa。表 3 中的结果表明,使用 RoBERTa BASE 初始化的 LayoutLM BASE 模型在 F1 中的性能比 BERT BASE 高 2.1 个百分点。对于 LARGE 设置,使用 RoBERTa LARGE 初始化的 LayoutLM LARGE 模型比 BERT LARGE 模型进一步提高了 1.3 分。未来我们将使用 RoBERTa 作为初始化来预训练更多模型,特别是对于 LARGE 设置。

收据理解。我们使用 SROIE 数据集评估收据理解任务。结果如表 4 所示。由于我们只测试了 SROIE 中关键信息提取任务的性能,我们希望消除不正确的 OCR 结果的影响。因此,我们使用地面实况 OCR 对训练数据进行预处理,并使用基线模型(BERT 和 RoBERTa)以及 LayoutLM 模型运行一组实验。结果表明,使用 11M 文档图像训练的 LayoutLM LARGE 模型实现了 0.9524 的 F1 分数,明显优于竞赛排行榜中的第一名。该结果还验证了预训练的 LayoutLM 不仅在域内数据集 (FUNSD) 上表现良好,而且在域外数据集(如 SROIE)上的表现也优于几个强大的基线。

文档图像分类。最后,我们使用 RVL-CDIP 数据集评估文档图像分类任务。文档图像不同于其他自然图像,因为文档图像中的大部分内容是各种样式和布局的文本。传统上,带有预训练的基于图像的分类模型比基于文本的模型性能好得多,如表 5 所示。我们可以看到 BERT 或 RoBERTa 的性能低于基于图像的方法,说明文本信息不足以实现这一目标任务,它仍然需要布局和图像功能。我们通过使用 LayoutLM 模型来解决这个问题。结果表明,即使没有图像特征,LayoutLM 仍然优于基于图像的方法的单一模型。在集成图像嵌入后,LayoutLM 达到了 94.42% 的准确率,明显优于多个用于文档图像分类的 SOTA 基线。据观察,我们的模型在“电子邮件”类别中表现最好,而在“表单”类别中表现最差。我们将进一步研究如何利用预训练的 LayoutLM 和图像模型,以及如何在 LayoutLM 模型的预训练步骤中涉及图像信息。

5. 结论

我们提出了 LayoutLM,这是一种简单而有效的预训练技术,在单个框架中包含文本和布局信息。 LayoutLM 以 Transformer 架构为骨干,利用多模态输入,包括 token 嵌入、布局嵌入和图像嵌入。同时,该模型可以基于大规模未标记的扫描文档图像以自监督的方式轻松训练。我们在三个任务上评估 LayoutLM 模型:表单理解、收据理解和扫描文档图像分类。实验表明,LayoutLM 在这些任务中大大优于几个 SOTA 预训练模型。

对于未来的研究,我们将研究具有更多数据和更多计算资源的预训练模型。此外,我们还将使用带有文本和布局的 LARGE 架构训练 LayoutLM,并在预训练步骤中涉及图像嵌入。此外,我们将探索新的网络架构和其他自我监督的训练目标,以进一步释放 LayoutLM 的力量。

二、LAYOUTLMV2: MULTI - MODAL PRE-TRAINING FOR VISUALLY-RICH DOCUMENT UNDERSTANDING

摘要

由于其有效的模型架构和大规模未标记扫描/数字生成文档的优势,文本和布局的预训练已被证明在各种视觉丰富(VRD)的文档理解任务中是有效的。在本文中,我们通过在多模态框架中预训练文本、布局和图像来呈现 LayoutLMv2,其中利用了新的模型架构和预训练任务。具体来说,LayoutLMv2 不仅使用现有的掩码视觉语言建模任务,而且在预训练阶段使用新的文本图像对齐和文本图像匹配任务,可以更好地学习跨模态交互。同时,它还在Transformer架构中集成了空间感知的self-attention机制,使模型能够充分理解不同文本块之间的相对位置关系。实验结果表明,LayoutLMv2 优于强大的基线,并在各种下游视觉丰富的文档理解任务上取得了最新的最新成果,包括 FUNSD (0.7895 → 0.8420)、CORD(0.9493 → 0.9601)、SROIE (0.9524 → 0.978) )、Kleister-NDA (0.834 → 0.852)、RVL-CDIP (0.9443 → 0.9564) 和 DocVQA (0.7295 → 0.8672)。预训练的 LayoutLMv2 模型可在 https://aka.ms/layoutlmv2 上公开获得。

1. 介绍

视觉丰富的文档理解 (VrDU) 旨在分析扫描/数字生成的业务文档(图像、PDF 等),其中可以为许多业务应用程序自动提取和组织结构化信息。与传统的信息提取任务不同,VrDU 任务不仅依赖于文本信息,还依赖于对视觉丰富的文档至关重要的视觉和布局信息。例如,图 1 中的文档包括各种类型,例如数字表格、收据、发票和财务报告。不同类型的文档表明感兴趣的文本字段位于文档内的不同位置,这通常由每种类型的样式和格式以及文档内容决定。因此,为了准确识别感兴趣的文本字段,不可避免地要利用视觉丰富的文档的跨模态特性,其中文本、视觉和布局信息应该联合建模和端到端学习。单一框架。

VrDU 最近的进展主要有两个方向。第一个方向通常建立在文本和视觉/布局/样式信息之间的浅层融合上(Yang et al., 2017a; Liu et al., 2019; Sarkhel & Nandi, 2019; Yu et al., 2020; Majumder et al. ., 2020; Wei et al., 2020; Zhang et al., 2020)。这些方法分别利用预训练的 NLP 和 CV 模型,并结合来自多种模式的信息进行监督学习。尽管已经取得了良好的性能,但一旦文档类型发生变化,这些模型往往需要从头开始重新训练。此外,一种文档类型的领域知识不能轻易转移到另一种文档类型中,因此一般文档布局中的局部不变性(例如左右布局中的键值对,网格布局中的表格等)不能得到充分利用。为此,第二个方向依赖于来自不同领域的大量未标记文档的文本、视觉和布局信息之间的深度融合,其中预训练技术在最终学习跨模态交互方面发挥着重要作用。端时尚(Lockard 等人,2020 年;Xu 等人,2020 年)。通过这种方式,预训练模型吸收了来自不同文档类型的跨模态知识,其中保留了这些布局和样式之间的局部不变性。此外,当模型需要转移到具有不同文档格式的另一个领域时,只有少数标记样本就足以微调通用模型以达到最先进的准确性。因此,本文提出的模型遵循第二个方向,我们探索如何进一步改进 VrDU 任务的预训练策略。

在本文中,我们提出了 LayoutLM (Xu et al., 2020) 的改进版本,又名 LayoutLMv2。 LayoutLM 是一种简单但有效的文本和布局预训练方法,用于 VrDU 任务。与之前基于文本的预训练模型不同,LayoutLM 除了传统的文本嵌入之外,还使用二维位置嵌入和图像嵌入。在预训练阶段,使用两个训练目标,即 1)屏蔽视觉语言模型和 2)多标签文档分类。该模型使用来自 IIT-CDIP 数据集(Lewis 等,2006)的大量未标记扫描文档图像进行了预训练,并在多个下游任务上取得了非常有希望的结果。扩展现有的研究工作,我们在 LayoutLMv2 模型中提出了新的模型架构和预训练目标。与在微调阶段结合图像嵌入的普通 LayoutLM 模型不同,我们在 LayoutLMv2 的预训练阶段整合图像信息,利用 Transformer 架构来学习视觉和文本信息之间的跨模态交互.此外,受一维相对位置表示(Shaw et al., 2018; Raffel et al., 2020; Bao et al., 2020)的启发,我们提出了 LayoutLMv2 的空间感知自注意力机制,它涉及令牌对的二维相对位置表示。与绝对二维位置嵌入不同,相对位置嵌入明确地为上下文空间建模提供了更广阔的视野。对于预训练策略,除了屏蔽视觉语言模型之外,我们还为 LayoutLMv2 使用了两个新的训练目标。第一个是提出的文本-图像对齐策略,它覆盖图像中的文本行并在文本侧进行预测以分类标记是否在图像侧被覆盖。

第二个是在之前的视觉语言预训练模型中流行的文本-图像匹配策略(Tan & Bansal, 2019; Lu et al., 2019; Su et al., 2020; Chen et al., 2020; Sun et al., 2019),其中文本-图像对中的一些图像被另一个文档图像随机替换,以使模型学习图像和 OCR 文本是否相关。通过这种方式,LayoutLMv2 更有能力在单个框架中学习上下文文本和视觉信息以及跨模态相关性,从而获得更好的 VrDU 性能。我们选择 6 个公开可用的基准数据集作为下游任务来评估预训练的 LayoutLMv2 模型的性能,它们是用于形式理解的 FUNSD 数据集(Jaume 等人,2019 年)、CORD 数据集(Park 等人,2019 年) ) 和用于接收理解的 SROIE 数据集 (Huang et al., 2019)、用于复杂布局的长文档理解的 Kleister-NDA 数据集 (Grali´nski et al., 2020)、RVL-CDIP 数据集 (Harley et al., 2020)。 , 2015) 用于文档图像分类,以及用于文档图像视觉问答的 DocVQA 数据集 (Mathew et al., 2020)。实验结果表明,LayoutLMv2 模型优于包括 vanilla LayoutLM 在内的强大基线,并在这些下游 VrDU 任务中取得了最新的最新成果,这大大有利于大量现实世界的文档理解任务。

本文的贡献总结如下:

  • 我们提出了一种多模态 Transformer 模型,用于在预训练阶段整合文档文本、布局和图像信息,在单个框架中端到端地学习跨模态交互。
  • 除了屏蔽视觉语言模型MVLM,我们还添加了文本图像匹配和文本图像对齐作为新的预训练策略,以强制不同模态之间的对齐。同时,空间感知自注意力机制也被集成到 Transformer 架构中。
  • LayoutLMv2 不仅在常规 VrDU 任务上优于基线模型,而且在文档图像的 VQA 任务上取得了新的 SOTA 结果,这表明 VrDU 多模态预训练的巨大潜力。预训练的 LayoutLMv2 模型可在 https://aka.ms/layoutlmv2 上公开获得。

2. 模型

PPROACH 所提出的 LayoutLMv2 的整体说明如图 2 所示。在本节中,我们将介绍 LayoutLMv2 的模型架构和预训练任务。

2.1 模型架构

我们为 VrDU 任务构建了增强型 Transformer 架构,即多模态 Transformer 作为 LayoutLMv2 的主干。多模态 Transformer 接受三种模态的输入:文本、图像和布局。每个模态的输入被转换为嵌入序列并由编码器融合。该模型通过利用强大的 Transformer 层在模式内部和模式之间建立深度交互。模型细节介绍如下,其中省略了一些dropout和normalization层。

文本嵌入。我们使用现成的 OCR 工具和 PDF 解析器识别文本并将其序列化为合理的阅读顺序。按照惯例,我们使用 WordPiece (Wu et al., 2016) 来标记文本序列并将每个标记分配给某个segment s i ∈ { [ A ] , [ B ] } s i ∈ \{ [A], [B] \} si{[A],[B]}​ 。然后,我们在标记序列的开头添加一个 [CLS],在每个文本段的末尾添加一个 [SEP]。文本序列的长度受到限制,以确保最终序列的长度不大于最大序列长度 L。令牌序列是仍然比 L 令牌短。这样,我们就得到了输入的token序列,如:

最后的文本嵌入是三个嵌入的总和。令牌嵌入表示令牌本身,一维位置嵌入表示令牌索引,段嵌入用于区分不同的文本段。形式上,我们有第i个文本嵌入:

视觉嵌入。我们使用 ResNeXt-FPN (Xie et al., 2016; Lin et al., 2017) 架构作为视觉编码器的主干。 给定文档页面图像 I,将其大小调整为 224 × 224,然后输入视觉主干。 之后,输出特征图被平均池化为固定大小,宽度为 W,高度为 H。接下来,将其展平为长度为 WH 的视觉嵌入序列。 然后将线性投影层应用于每个视觉标记嵌入以统一维度。 由于基于 CNN 的视觉主干无法捕获位置信息,我们还在这些图像标记嵌入中添加了 1D 位置嵌入。 一维位置嵌入与文本嵌入层共享。 对于段嵌入,我们将所有视觉标记附加到视觉段 [C]。 第 i 个视觉嵌入可以表示为:

布局嵌入。布局嵌入层旨在嵌入由标记边界框表示的空间布局信息,其中明确标识了角坐标和框形状。 遵循 vanilla LayoutLM,我们将所有坐标标准化和离散化为 [0, 1000] 范围内的整数,并使用两个嵌入层分别嵌入 x 轴特征和 y 轴特征。 给定第 i 个文本/视觉标记 b o x i box_i boxi​ = ( x 0 , x 1 , y 0 , y 1 , w , h ) (x 0 , x 1 , y 0 , y 1 , w, h) (x0,x1,y0,y1,w,h) 的归一化边界框,布局嵌入层连接六个边界框特征以构建标记级 布局嵌入,也就是二维位置嵌入:

注意,CNN执行局部变换,因此可视标记嵌入可以逐个映射回图像区域,既不重叠也不遗漏。在布局嵌入层的视图中,可视token可以被视为一些均匀划分的网格,因此它们的包围盒坐标很容易计算。一个空的边界盒 b o x P A D box_{PAD} boxPAD​ =(0,0,0,0,0)附加到特殊令牌[CLS], [SEP]和[PAD]

具有空间感知自注意机制的多模态编码器。编码器将视觉嵌入 v 0 , . . . , v W H − 1 { v_0 , ..., v_{WH−1} } v0,...,vWH1​ 和文本嵌入 t 0 , . . . , t L − 1 { t_0 , ..., t_{L−1} } t0,...,tL1​ 连接到统一序列 X 并通过添加布局嵌入来融合空间信息以获得 第一层输入 x ( 0 ) x^{(0)} x(0)​ 。

遵循 Transformer 的架构,我们构建了多模式编码器,其中包含一堆多头自注意力层,然后是前馈网络。 然而,原来的self-attention机制只能隐式地捕捉输入token与绝对位置提示之间的关系。 为了有效地模拟文档布局中的局部不变性,有必要显式插入相对位置信息。 因此,我们将空间感知的自注意力机制引入自注意力层。 原始的self-attention机制通过对两个向量进行投影并计算attention score来捕获query x i x_i xi​​ 和key x j x_j xj​​​​ 之间的相关性:

我们将语义相对位置和空间相对位置联合建模为偏置项,并将它们明确地添加到注意力分数中。 让 b ( 1 D ) b^{(1D)} b(1D)​ 、 b ( 2 D x ) b^{(2D_x )} b(2Dx)​ 和 b ( 2 D y ) b^{(2D_y )} b(2Dy)​ 分别表示可学习的一维和二维相对位置偏差。 注意头之间的偏差不同,但在所有编码器层中共享。 假设 ( x i , y i ) (x_i , y_i ) (xi,yi)​ 锚定第 i 个边界框的左上角坐标,我们得到空间感知注意力分数:

最后,输出向量表示为所有投影值向量相对于归一化空间感知注意力分数的加权平均值:

2.2 预训练

我们在预训练阶段同时采用三个自监督任务,如下所述。

Masked Visual-Language Modeling 。与vanilla LayoutLM 类似,我们使用Masked Visual-Language Modeling (MVLM) 使模型在具有跨模态线索的语言方面更好地学习。我们随机屏蔽一些文本标记,并要求模型恢复被屏蔽的标记。同时,布局信息保持不变,这意味着模型知道每个屏蔽标记在页面上的位置。来自编码器的屏蔽标记的输出表示被输入到整个词汇表的分类器中,由交叉熵损失驱动。为了避免视觉线索泄漏,我们在输入视觉编码器之前,在原始页面图像输入上屏蔽与屏蔽标记相对应的图像区域。 MVLM 帮助模型捕获附近的令牌特征。例如,被大量数字包围的表格中的掩码空白更有可能是数字。此外,给定空白的空间位置,该模型能够使用周围的视觉信息来帮助预测标记。

Text-Image Alignment 。除了 MVLM,我们还提出了 Text-Image Alignment (TIA) 作为细粒度的跨模态对齐任务。在 TIA 任务中,随机选择一些文本标记,并将它们的图像区域覆盖在文档图像上。我们称此操作为覆盖操作,以避免与 MVLM 中的掩码操作混淆。在预训练期间,在编码器输出之上构建了一个分类层。该层根据每个文本标记是否被覆盖(即 [Covered] 或 [Not Covered])预测标签,并计算二元交叉熵损失。考虑到输入图像的分辨率有限,覆盖操作是在行级进行的。当 MVLM 和 TIA 同时执行时,不考虑在 MVLM 中屏蔽的代币的 TIA 损失。这可以防止模型学习从 [MASK] 到 [Covered] 的无用但直接的对应关系。

文本图像匹配 。此外,在预训练阶段应用了粗粒度的跨模态对齐任务,文本图像匹配(TIM)。我们将 [CLS] 处的输出表示输入到分类器中,以预测图像和文本是否来自同一文档页面。常规输入是正样本。为了构建负样本,图像要么被另一个文档中的页面图像替换,要么被丢弃。为了防止模型通过查找任务特征作弊,我们对负样本中的图像执行相同的掩蔽和覆盖操作。负样本中的 TIA 目标标签都设置为 [Covered]。我们在优化过程中应用二元交叉熵损失。

2.3 微调

LayoutLMv2 生成具有融合跨模态信息的表示,这有利于各种 VrDU 任务。它的输出序列提供了标记级别的表示。具体来说,[CLS] 处的输出可以用作全局特征。对于许多下游任务,我们只需要在 LayoutLMv2 输出上构建一个任务指定的头层,并使用适当的损失微调整个模型。通过这种方式,LayoutLMv2 通过将文本、布局和图像信息集成在一个多模态框架中,从而获得了更好的 VrDU 性能,与普通 LayoutLM 模型相比,这显着提高了跨模态相关性。

4. 相关工作

近年来,预训练技术在 NLP 和 CV 领域变得越来越流行,并且也被用于 VrDU 任务。德夫林等人。 (2019) 引入了一种名为 BERT 的新语言表示模型,该模型旨在通过对所有层的左右上下文进行联合调节,从未标记的文本中预训练深度双向表示。因此,预训练的 BERT 模型可以仅通过一个额外的输出层进行微调,从而为各种任务创建最先进的模型。鲍等人。 (2020) 建议使用一种新的训练程序(称为伪掩码语言模型)为自动编码和部分自回归语言建模任务预训练统一语言模型。此外,这两个任务分别将统一语言模型预训练为双向编码器和序列到序列解码器。卢等人。 (2019) 提出了 ViLBERT,通过将流行的 BERT 架构扩展到多模态双流模型来学习图像内容和自然语言的任务无关联合表示。苏等人。 (2020) 提出了采用 Transformer 模型作为主干的 VL-BERT,并将其扩展为以视觉和语言嵌入特征作为输入。 (Xu et al., 2020) 提出了 LayoutLM 来联合建模跨扫描文档图像的文本和布局信息之间的交互,这对于大量真实世界的文档图像理解任务(例如从扫描文档中提取信息)是有益的。这项工作是 vanilla LayoutLM 的自然扩展,它在单个多模态预训练框架中利用了文本、布局和视觉信息。

5. 总结

在本文中,我们提出了一种用于视觉丰富的文档理解任务的多模态预训练方法,即 LayoutLMv2。与现有的 VrDU 方法不同,LayoutLMv2 模型不仅考虑了文本和布局信息,还在预训练阶段将图像信息与单个多模态框架集成在一起。同时,空间感知自注意力机制被集成到 Transformer 架构中,以捕捉不同边界框之间的相对关系。此外,还利用新的预训练目标来强制学习不同模态之间的跨模态交互。在 6 个不同的 VrDU 任务上的实验结果表明,预训练的 LayoutLMv2 模型在文档智能领域大大优于 SOTA 基线,这极大地有益于许多现实世界的文档理解任务。

对于未来的研究,我们将进一步探索 LayoutLM 系列的网络架构以及预训练策略,以便我们可以将 VrDU 中的 SOTA 结果推向新的高度。同时,我们还将研究语言扩展,使多语言 LayoutLMv2 模型适用于不同语言,尤其是全球非英语地区。

三、ViBERTgrid:A Jointly Trained Multi-Modal 2D Document Representation for Key Information Extraction from Documents

用于从文档中提取关键信息的联合训练的多模态 2D 文档表示

作者:微软

摘要

最近的基于网格的文档表示(如 BERTgrid)允许在 2D 特征图中同时编码文档的文本和布局信息,以便可以直接利用最先进的图像分割和/或对象检测模型从文档中提取关键信息。然而,这些方法还没有达到与最先进的基于序列和图的方法(如 LayoutLM 和 PICK)相媲美的性能。在本文中,我们通过将 BERTgrid 连接到 CNN 模型的中间层来提出一种新的多模态骨干网络,其中 CNN 的输入是文档图像,而 BERTgrid 是词嵌入的网格,以生成一个更强大的基于网格的文档表示,名为 ViBERTgrid。与 BERTgrid 不同的是,我们的多模态骨干网络中 BERT 和 CNN 的参数是联合训练的。我们的实验结果表明,这种联合训练策略显着提高了 ViBERTgrid 的表示能力。因此,我们基于 ViBERTgrid 的关键信息提取方法在现实世界数据集上实现了最先进的性能。

介绍

关键信息提取 (KIE) 是从发票、采购订单、收据、合同、财务报告、保险报价等文档中提取许多预定义关键字段的值的任务,如图所示1、KIE是快速索引、高效归档、自动财务审计等许多大型文档处理场景的必备技术。

随着深度学习的快速发展,出现了许多基于深度学习的 KIE 方法,并且在准确性和能力方面都明显优于传统的基于规则和基于模板的方法。这些方法中的大多数简单地将 KIE 视为标记分类问题,并使用不同的深度学习模型来预测每个文档标记的字段类型,这些标记可以是字符、子词或单词。根据他们使用的文档表示方法,这些方法可以粗略地分为三类:基于序列、基于图和基于网格。基于序列的方法需要先将文档序列化为一维文本序列,然后使用 NLP 中现有的序列标记模型(例如 [2, 3, 4, 5, 6])来提取字段值。为了减少序列化的影响,早期的方法 [7, 8, 9] 尝试将标记的二维位置信息编码到它们的标记嵌入中,但它们仍然依赖于文本片段的准确序列化,因此很难应用它们到具有复杂布局的文档,其中序列化步骤非常重要。最近的两个工作,LayoutLM [10] 和 LAMBERT [11],提出在 BERT 模型的输入标记嵌入中添加 2D 位置嵌入。在大规模文档数据集上进行预训练后,其输出标记嵌入可以捕获文档内标记之间的空间关系,这使得 LayoutLM 和 LAMBERT 对序列化步骤不太敏感。普拉马尼克等人。 [12] 和 LayoutLMv2 [13] 通过在预训练阶段整合图像信息来学习更强的多模态文档表示,进一步扩展了 LayoutLM 的思想。然而,这些基于预训练的方法依赖于大型数据集和计算资源来实现良好的性能。基于图的方法将每个文档页面建模为一个图,其中文本段(单词或文本行)表示为节点。每个节点的初始表示可以结合其相应文本段的视觉、文本和位置特征 [14]。然后使用图神经网络或自注意力操作 [15] 在图中的相邻节点之间传播信息,以获得每个节点更丰富的表示。之后,一些方法如 [16] 将这些增强的节点嵌入提供给分类器以直接进行字段类型分类,而其他一些方法 [14, 17, 18, 19, 20, 21, 22] 将每个节点嵌入连接到所有标记嵌入在其相应的文本段中,然后将其输入序列标记模型以提取字段值。最近的基于图的方法,如 PICK [14]、TRIE [21] 和 VIES [22],在公共 SROIE 数据集 [1] 上取得了卓越的性能。基于网格的方法,如 Chargrid [23]、Dang 等。 [24]、CUTIE [25]、BERTgrid [26] 将每个文档表示为标记嵌入的二维网格,然后使用标准实例分割模型从二维网格中提取字段值。这些网格表示保留了文档的文本和布局信息,但丢失了图像纹理信息。因此,VisualWordGrid [27] 将这些网格表示与文档图像的 2D 特征图相结合,生成更强大的多模态 2D 文档表示,可以同时保留文档的视觉、文本和布局信息。然而,我们发现这些基于网格的方法无法实现与 LayoutLM、PICK、TRIE 和 VIES 等最先进方法相比的性能,原因有两个:1)包括 Chargrid、Dang 等人的方法。 [24]、CUTIE 和 VisualWordGrid 没有利用像 BERT 这样的最先进的上下文词嵌入技术来提取足够强的标记嵌入; 2)虽然BERTgrid将BERT合并到网格表示中,但预训练BERT的参数在模型训练期间是固定的,因此基于BERT的token embedding的潜力没有得到充分利用。

在本文中,我们提出了两种有效的技术来显着提高基于网格的 KIE 方法的准确性。首先,我们通过结合 BERTgrid 和 CNN 的优点,提出了一种新的多模态骨干网络,以生成更强大的基于网格的文档表示,名为 ViBERTgrid,以同时对 2D 特征图中文档的文本、布局和视觉信息进行编码。其次,我们提出了一种新的联合训练策略来微调 BERT 和 CNN 的参数,从而显着提高 ViBERTgrid 的表示能力。

2. 相关工作

从文档中提取关键信息KIE 已经研究了几十年。在基于深度学习的方法出现之前,早期的工作 [28, 29, 30, 31, 32, 33] 主要依赖于已知模板中的一些规则或人为设计的特征,因此它们通常在看不见的模板上失败,并且在实际应用。随着深度学习的发展,KIE 取得了重大进展。如上所述,大多数基于现代深度学习的方法将 KIE 表述为令牌分类问题。除了上述工作之外,另一项工作 [34] 提出了一种基于 CNN 的方法,用于从输入文档图像中联合执行手写文本检测、转录和命名实体识别。除了这个公式,KIE 还可以公式化为其他问题。 Majumder 等人。 [35] 提出了一种表示学习方法来提取具有先验知识的关键领域的值。对于每个字段,首先选择一些候选词。然后,将每个词的特征嵌入其上下文信息,并计算该嵌入与目标字段嵌入之间的余弦相似度作为相似度得分。 SPADE [36] 将 KIE 表述为空间依赖解析问题。它首先构建了一个以文本段和字段作为图节点的依赖图,然后使用解码器从已识别的图节点之间的连接中提取字段值。 BROS [37] 通过提出一种新的位置编码方法和基于区域屏蔽的预训练目标,进一步改进了 SPADE。另一类方法 [38, 39, 40] 改编了其他 NLP 或图像字幕任务中使用的序列到序列模型,以直接预测关键字段的所有值,而无需词级监督。我们提出的多模态 2D 文档表示可以很容易地集成到大多数这些方法中。探索我们的文档表示对其他 KIE 框架的有效性将是我们未来的工作之一。

除了 KIE,在其他文档理解任务中也研究了基于网格的文档表示。肖等人。 [41] 构建了一个带有句子嵌入的 2D 文本嵌入图,并将该文本图和视觉特征与一个全卷积网络相结合,用于对表格、节标题、标题、段落等图像区域进行像素级分割。拉斐尔等人。 [42] 通过将 2D 文本嵌入连接到 CNN 模型的中间层,提出了一种多模态神经模型,用于对历史报纸进行更细粒度的分割任务。与我们的方法不同,这些方法没有利用最先进的 BERT 模型来生成文本嵌入图,并且它们的文本嵌入模型和 CNN 模型的参数没有经过联合训练。

3. 方法

如图2所示,我们的方法由三个关键组件组成:

  1. 用于生成ViBERTgrid特征图的多模态骨干网络;
  2. 辅助语义分割头,用于逐像素字段类型分类;
  3. 词级字段类型分类头,用于预测OCR引擎提取的每个单词的字段类型。

以下各小节将详细介绍这些模块和拟议的联合训练战略。

3.1 VIBERTgrid

3.1.1 BERTgrid 生成

我们遵循BERTgrid[26]构建一个2D单词网格,其中单词嵌入由预先训练的bert风格语言模型生成。给定输入文档图像,使用OCR引擎提取单词及其包围框。然后把这些单词组织成长度为N的一维序列,根据BERT[5],我们将D标记为长度为M的子词标记序列。

由于 BERT 的最大输入序列长度限制为 512,我们使用滑动窗口将长序列(长度大于 510)切片成几个固定长度的子序列,其长度设置为 510。相邻子序列不与每个子序列重叠 其他。 对于每个子序列,分别插入两个特殊标记 [CLS] 和 [SEP] 作为第一个和最后一个标记。 如果最后一个子序列的长度小于 512,则将一些 [PAD] 令牌添加到最后一个子序列的末尾。然后我们对每个(子序列使用 BERT 编码器进行编码以获得每个令牌的嵌入,表示为 ( (i) ) ) ,并通过平均其标记的嵌入来获得 (j) 的词嵌入,表示为 ( (j) ) 。 我们使用的 BERTgrid 的空间分辨率是原始文档图像的 1 ⁄ ,其中 表示连接到的卷积特征图的步幅。 文档的 BERTgrid 表示被定义为:

3.1.2 可视化和文本化特征融合

如图 2 所示,我们将生成的 BERTgrid 连接到 CNN 的中间层,以构建新的多模态骨干网络。为了节省计算量,构建在 ResNet18-D 网络 [44] 之上的轻量级 ResNet18-FPN 网络 [43] 用作 CNN 模块。 ResNet18-D 是 ResNet18 [45] 的改进版本。 ResNet18-FPN 的输出是一组下采样的特征图,即 P 2 、 P 3 、 P 4 、 P 5 P_2 、 P_3 、 P_4 、 P_5 P2P3P4P5​​ ,其分辨率为 1 ⁄ 4、1 ⁄ 8 、1 ⁄ 16、1 ⁄ 32原始文档图像。所有这些地图都有 256 个通道。我们默认将 BERTgrid 的 stride 设置为 8 并进行早期融合操作,首先将 连接到 ResNet [45] 中残差块 conv3_1 的输出,然后使用 1x1 卷积层进行降维,使通道数相同就像CNN特征图一样。最后,将 3 、 4 和 5 调整为 2 的大小后,将这四个特征图连接起来并馈送到 1x1 卷积层以生成具有 256 个通道的特征图 f u s e _{fuse} Pfuse​​。在这里, f u s e _{fuse} Pfuse​​是一个强大的多模态二维特征图,用于文档理解任务。

3.2 单词级字段类型分类头

对于每个单词 ( i ) ^{(i)} w(i)​ ,使用 ROIAlign [46] 将 f u s e _{fuse} Pfuse​ 地图上单词边界框内的特征转换为一个 7 × 7 × 256 的小特征图 i _i Xi​。 然后我们使用额外的跳过连接将每个词的嵌入传递到词级字段类型分类头 ( w ( i ) ) (w^{(i)}) E(w(i))​ 以便误差梯度可以直接从输出层向后传播到 BERT编码器层。我们发现这种跳跃连接可以稍微提高)我们的 KIE 方法的准确性。我们使用后期融合模块融合 i _i Xi​ 和 ( w ( i ) ) (w^{(i)}) E(w(i))​(对于每个词。具体来说,每个特征图$_i ​ 与 两 个 3 x 3 卷 积 层 卷 积 以 生 成 新 的 7 × 7 × 256 特 征 图 , 它 被 送 入 一 个 1024 − d 的 全 连 接 层 以 生 成 一 个 1024 − d 的 特 征 向 量 ​与两个 3x3 卷积层卷积以生成新的 7 × 7 × 256 特征图,它被送入一个 1024-d 的全连接层以生成一个 1024-d 的特征向量 3x37×7×2561024d1024d_i’ ​ 。 由 于 有 些 词 可 以 用 多 个 字 段 类 型 标 签 进 行 标 注 ( 类 似 于 嵌 套 命 名 实 体 识 别 任 务 ) , 我 们 设 计 了 两 个 分 类 器 输 入 ​ 。由于有些词可以用多个字段类型标签进行标注(类似于嵌套命名实体识别任务),我们设计了两个分类器输入 _i’ ​ 并 对 每 个 词 进 行 字 段 类 型 分 类 。 第 一 个 分 类 器 是 一 个 二 元 分 类 器 , 用 于 预 测 输 入 的 词 是 否 是 一 些 预 定 义 字 段 的 值 , 如 果 一 个 词 没 有 被 第 一 个 分 类 器 剪 枝 , 它 会 被 第 二 个 分 类 器 再 次 分 类 , 由 独 立 组 成 二 元 分 类 器 ( 是 预 定 义 字 段 类 型 的 数 量 ) 。 ​并对每个词进行字段类型分类。第一个分类器是一个二元分类器,用于预测输入的词是否是一些预定义字段的值,如果一个词没有被第一个分类器剪枝,它会被第二个分类器再次分类,由独立组成二元分类器( 是预定义字段类型的数量)。 CC^{th}$​ 二元分类器r 预测输入词是否为 t h ^{th} ith 字段的值,其中 ∈ [ 1 , 2 , … , ] ∈ [ 1 , 2 , … , ] i[1,2,,C]​ 。每个二元分类器都使用 Sigmoid 函数实现。让 o 1 ( i ) , o 2 ( i ) o_1( _i) , o_2( _i) o1(wi),o2(wi)​ 分别表示第一个分类器的输出和第二个分类器的第 k t h k^{th} kth​ 个二元分类器。第一个分类器的损失 1 _1 L1​​​ 是一个二元交叉熵损失,计算公式为:

其中 1 ( i ) _1( _i ) y1(wi)​ 表示第一个分类器的 ( i ) ^{(i)} w(i)​ 的基本事实, 1 _1 N1 是从该文档图像中的所有单词中采样的单词数。 与 1 _1 L1​类似,第二个分类器的损失 2 _2 L2如下:

其中 y 2 , k ( w i ) y_{2,k}(w_i) y2,k(wi) 如果 w ( i ) w^{(i)} w(i) 具有 t h ^{th} kth 字段的标签,则为 1,如果该单词不属于该字段,则为 0, 2 _2 N2 表示第二个分类器的小批量大小。 然后我们计算这个头的总损失 L c L_c Lc:

3.3 辅助语义切分头

在训练这个端到端网络时,我们发现增加一个额外的像素级分割损失可以让网络收敛得更快更稳定。与词级字段类型分类头类似,这个语义分割头也包含了为两个不同的分类任务设计的两个分类器。第一个用于将每个像素归入以下三个类别之一: (1) 不位于任何字框内; (2) 属于一些预定义字段的词框内部; (3) 在其他词框内。如果一个像素被第一个分类器分类到第二个类别,它将被第二个分类器再次分类,第二个分类器包含 字段类型的 独立二元分类器,以获得其字段类型。具体来说,接下来是两个 3x3 卷积层(256 个通道)、一个上采样操作和两个并行的 1x1 卷积层 f u s e _{fuse} Pfuse​ 、两个输出特征图 1 o u t ∈ H × W × 3 ^{out}_1 ∈ ^{H×W×3} X1outRH×W×3​ 和 2 o u t ∈ H × W × C ^{out}_2 ∈ ^{H×W×C} X2outRH×W×C​ 生成。 1 o u t ^{out}_1 X1out 2 o u t ^{out}_2 X2out 上的每个像素通过 Softmax 函数和 Sigmoid 函数进行分类,分别得到第一和第二分类器的结果。让 o 1 ′ ( x , y ) o'_1(x,y) o1(x,y) o 2 , k ′ ( x , y ) o'_{2,k}(x,y) o2,k(x,y)​ 表示第一个分类器的输出和第二个分类器的),分别。第一个分类器的 softmax loss A U X − 1 _{AUX-1} LAUX1 如下:

3.4 联合训练策略

BERT 模型和 CNN 模型的联合训练并不容易,因为这两种模型使用不同的优化器和超参数进行了微调。 预训练的 BERT 模型通常使用具有非常小的学习率的 Adam 优化器 [47] 进行微调,而 CNN 模型使用具有相对较大学习率的标准 SGD 优化器进行微调。 因此,我们分别使用 AdamW [48] 优化器和 SGD 优化器训练预训练的 BERT 模型和 CNN 模型。 这两个优化器的超参数设置也是独立的。

最后,我们整个网络的目标函数是:

其中 是一个控制参数,在我们的实验中设置为 1。

5. 结论和未来工作

在本文中,我们提出了 ViBERTgrid,这是一种用于 KIE 任务的新的基于网格的文档表示。 通过结合 BERTgrid 和 CNN 的优点,并联合训练 BERT 和 CNN 的参数,我们的 ViBERTgrid 的表示能力远远优于其他基于网格的文档表示,例如 BERTgrid 和 VisualWordGrid。 因此,我们基于 ViBERTgrid 的 KIE 方法在我们实验的两个真实世界数据集上实现了最先进的性能。

提议的 ViBERTgrid 可以很容易地集成到 Sec.2 中介绍的其他一些 KIE 框架中。因此,探索我们的文档表示对其他 KIE 框架的有效性将是我们未来的工作之一。 此外,我们将探索基于 ViBERTgrid 的文档表示在视觉和文本信息都有用的其他文档理解任务中的有效性,例如布局分析和表格结构识别。

四、StrucTexT: Structured Text Understanding with Multi-Modal Transformers 2021

StrucTexT:基于多模态转换器的结构化文本理解

作者:百度

摘要

可视化丰富文档 (VRD) 上的结构化文本理解是文档智能的重要组成部分。由于 VRD 中内容和布局的复杂性,结构化文本理解一直是一项具有挑战性的任务。大多数现有研究将这个问题分解为两个子任务:实体标记和实体链接,这需要在令牌和段级别全面了解文档的上下文。然而,很少有工作涉及从不同级别有效提取结构化数据的解决方案。本文提出了一个名为StrucTexT的统一框架,它灵活有效地处理这两个子任务。具体来说,基于transformer,我们引入了一个segment-token对齐的编码器来处理不同粒度级别的实体标记和实体链接任务。此外,我们设计了一种新颖的预训练策略,具有三个自监督任务,以学习更丰富的表示。 StrucTexT 使用现有的 Masked Visual Language Modeling 任务和新的 Sentence Length Prediction 和 Paired Boxes Direction 任务来整合跨文本、图像和布局的多模态信息。我们在段级和标记级评估了我们的结构化文本理解方法,并表明它在 FUNSD、SROIE 和 EPHOIE 数据集上的表现优于最先进的同类方法

1. 介绍

理解结构化文档是文档智能的一个关键组件,它可以自动探索来自可视化富文档(visual Rich Documents, vrd)的结构化文本信息,如表单、收据、发票等。该任务的目的是提取文本字段的关键信息和语义实体之间的链接,分别命名为实体标注任务和实体链接任务[15]。结构化文本理解在学术界和工业界都引起了越来越多的关注。在现实中,它在发展办公室自动化、会计系统和电子存档的数字化转型过程中起着至关重要的作用。它为企业提供了大量的时间节省,以处理每天数以百万计的表格和发票。

典型的结构提取方法依赖于初步的光学字符识别(OCR)引擎[19,34,39,40,47,49]来理解文档的语义。如图1所示,可以通过文本检测器将文档中的内容定位为几个文本片段(粉色点框)。实体字段以三种形式呈现:部分字符、单个段和多个段。传统的实体标注方法通常将任务表述为顺序标注问题。在此设置中,文本段按预先定义的顺序序列化为线性序列。然后利用命名实体识别(NER)[17,23]模型,用IOB (Inside, Outside, Beginning)标记单词或字符等每个标记。然而,这种能力由于在令牌级别执行的方式而受到限制。如图1b和1c所示,vrd通常被组织在一些文本片段中。段级文本内容提供了更丰富的几何和语义信息,这对结构化文本理解至关重要。有几种方法[1,8,14,41]聚焦于段级表示。相反,它们不能处理如图1a所示的由字符组成的实体。因此,值得考虑一种集段级和令牌级为一体的结构提取技术。

如今,准确理解来自 VRD 的结构化文本仍然是一个挑战。 成功的关键是充分利用文档图像中的多种模态特征。 早期的解决方案仅通过对纯文本进行操作来解决实体任务,从而导致语义歧义。 注意到 VRD 中包含丰富的视觉信息,几种方法 [6, 16, 26, 32] 利用 2D 布局信息为文本内容提供补充。 此外,为了进一步改进,主流研究 [2, 21, 24, 30, 38, 48, 50] 通常采用文本、图像和布局的浅层融合来捕获上下文依赖关系。 最近,已经提出了几种预训练模型 [28、45、46],用于联合学习大规模数据上跨模态的深度融合,并在文档理解方面优于同行。 尽管这些预训练模型考虑了文档的所有模态,但它们专注于与文本方面相关的贡献,而没有那么复杂的视觉特征。

为了解决上述局限性,本文提出了一个统一的框架StrucTexT,该框架融合了来自不同层次和方式的特征,从而有效地提高了对各种文档结构的理解。受视觉语言转换器最新发展的启发[22,35],我们引入了一种转换器编码器,可以从片段图像和单词符号中学习跨模态知识。此外,我们构造了一个额外的段ID嵌入,以关联不同粒度的视觉和文本特征。同时,我们附加一个二维位置嵌入来包含布局线索。在此之后,一个Hadamard产品在不同层次和模式之间的编码特征上工作,用于高级特征融合。因此,StrucTexT可以在单个框架中支持段级和令牌级的结构化文本理解任务。图2显示了我们所建议的方法的体系结构。

为了提高多模态的表征能力,我们进一步引入了三种文本、图像和布局的训练前学习的自我监督任务。具体来说,在LayoutLM[45]之后,利用Mask可视化语言建模(MVLM)任务提取上下文信息。此外,我们提出了两个任务,即句子长度预测(SLP)和配对盒方向(PBD)。SLP任务预测用于增强实体候选的内部语义的段长度。PBD任务是训练识别一个采样段对内的相对方向,帮助我们的框架发现几何结构拓扑。这三个自我监督任务充分利用了文档的文本和视觉特征。首先采用包含所有任务的无监督预训练策略得到增强特征编码器。

本文的主要贡献总结如下:

(1) 在本文中,我们提出了一个新的框架,名为strucc - TexT,以统一的解决方案来处理结构化文本理解任务。它从不同的层次和方式有效地提取语义特征,处理实体标注和实体链接任务。
(2) 引入改进的多任务训练前策略,通过自监督学习从虚拟现实设计中提取多模态信息。除了有利于文本语境的MVLM任务外,我们还提出了SLP和PBD两种新的前训练任务,以利用图像和布局特征。我们在训练前阶段采用这三个任务,以获得更丰富的表征。
(3) 在实际基准测试上的大量实验表明,与目前最先进的方法相比,StrucTexT具有更好的性能。额外的消融研究证明了我们训练前策略的有效性。

3. 模型

图2展示了StrucTexT的总体说明。给定一个带有预处理OCR结果的输入图像,如边界框和文本片段的内容。我们通过特征嵌入阶段利用来自文本、图像和布局方面的各种信息。然后,将多模态嵌入到预训练的变压器网络中,获得丰富的语义特征。变压器网络通过建立不同模态输入之间的交互,实现了跨模态融合。最后,结构化文本理解模块接收编码后的特征,并进行实体识别,进行实体标注和关系提取,进行实体链接。

3.1 多模态特征embedding

layout embedding:对于每一个片段或者单词,用编码边界盒子作为他们的layout信息

其中w,h分别为盒子b的形状。值得一提的是,考虑到一些没有单词级信息的OCR结果,我们通过其所属的文本段来估计单词的绑定框。

language token embedding

定义句子序列文本text embedding:

language embedding:layout embedding 加上 text embedding

Visual Segment Embedding

在模型体系结构中,我们使用ResNet50和FPN作为图像特征提取器来生成特征图。然后,利用RoIAlign[10]从CNN地图中根据b提取每个文本段的图像特征。可视段嵌入V计算为:

segment ID embedding

与基于大部分图片的视觉语言任务相比,理解结构化文档需要更高的语义来识别模糊实体。因此,我们提出一个嵌入 S i d S^{id} Sid​的段ID,为每个带有图像和文本特征的文本段分配一个唯一的编号,这使得跨模态线索的显式对齐。

其他embedding

此外,我们在输入中添加了另外两个嵌入。位置嵌入 P i d P^{id} Pid将索引从1编码到最大序列长度,段嵌入 M i d M^{id} Mid表示每个特征的模态。上面所有的嵌入都有相同的维度。最后,将模型的输入表示为嵌入的组合。

3.2 多模态特征增强模块

StrucText从视觉片段、文本句子和位置布局收集多模态信息,以产生嵌入序列。通过利用上面提到的片段id,我们支持不同粒度之间的图像-文本对齐。在这个阶段,我们执行一个变压器网络来编码em-层理序列,以建立模式和粒度之间的深度融合。至关重要的是,在学习任务不可知的联合表征的前训练阶段,三个自我监督任务编码输入特征。详细内容如下所示,其中所有自我监督任务的模式如图3所示。

任务1:Mask可视化语言建模MVLM

MVLM任务促进在语言方面捕获上下文表示。遵循ViLBERT[22]中屏蔽多模态建模的模式,我们从语言序列中选择15%的令牌,用[mask]令牌掩码其中80%,用随机令牌替换10%,保持10%不变。然后,需要模型重建相应的标记。我们保留了所有其他信息,并鼓励模型尽可能地寻找交叉模态线索,而不是遵循ViLBERT中的图像区域掩模。

任务2:片段长度预测SLP

除了MLVM外,我们引入了一种新的自监督任务序列长度预测(SLP)来挖掘图像侧的细粒度语义信息。SLP任务要求模型从每个视觉特征中识别文本段的长度。这样就迫使编码器通过相同的片段ID学习图像特征,更重要的是学习语言序列知识。我们认为,这种信息流可以加速文本、视觉和布局信息之间的深度跨模态融合。

另外,为了避免WordPiece[43]产生sub-word的干扰,我们只计算每个第一个子词,保持语言序列与图像段之间的长度相同。因此,我们在两个粒度之间建立额外的对齐,这很简单,但很有效。

任务3: 盒子对方向PBD

此外,我们的第三个自我监督任务,配对盒方向(PBD),旨在开发全局布局信息。PBD任务的目标是通过预测文本段的成对空间关系来学习文档结构的全面几何拓扑。首先,我们把360度分成8个相同的域。其次,计算角度 θ i j \theta_{ij} θij​​ 在文本段之间 i 和 j 然后在其中一个桶上贴上标签。接下来,我们在图像一侧进行两个视觉特征之间的减法,得到结果 ∆ V i j ^ ∆\hat{V_{ij}} Vij^​ 作为PBD的输入。

其中带有hat字符的表示特征经过了transformer encoding,最终定义BPD为一个分类任务来评估相关位置信息。

3.3 结构化文本理解

跨粒度标记模块:跨粒度标记模块既支持令牌级实体标记任务,也支持段级实体标记任务。在这个模块中,语言端具有相同段ID的标记通过算术平均聚合为段级文本特征:

然后利用双线性池化层计算Hadamard积,融合文本段特征 T i T_i Ti和视觉部分是 V i V_i Vi

最后,我们在跨模态功能 X i X_i Xi上应用一个全连接层预测segment i 的实体标签与交叉熵损失。

segment 关系抽取模块

提出了一种用于实体链接的段关系提取模块。文档通常将其结构表示为一组层次关系,例如键值对或表解析。受Doc-struct的启发,我们使用了一个非对称参数矩阵M从片段中提取segment i到j的关系以概率形式:

其中p是segment i 连接到 j 的概率。

我们注意到文档中的大多数段对是不相关的。为了减轻数据的稀疏性,平衡相关和不相关对的数量,我们借鉴了负抽样方法[25],建立了一个大小不固定的抽样集。我们的抽样集由相同数量的正样本和负样本组成。

然而,我们也发现,仅使用上述抽样策略,训练过程是不稳定的。为了最大限度地解决实体链接分布不均衡的问题,我们结合Margin rank Loss和Binary Cross-Entropy对训练进行同时监督。因此,链接损失可以表示为:

5. 结论

在本文中,我们进一步探讨如何使用一个统一的框架来提高对文档文本结构的理解。在采用新的预训练策略进行多模态、多粒度特征融合后,该框架在三个真实的基准数据集上表现出了较好的性能。此外,我们还评估了不同方式和粒度对实体提取能力的影响,从而为研究结构化文本理解问题提供了一个新的视角。

五、BROS: A Pre-trained Language Model Focusing on Text and Layout for Better Key Information Extraction from Documents 2021

BROS:专注于文本和布局的预训练语言模型,可更好地从文档中提取关键信息

摘要

从文档图像中提取关键信息 (KIE) 需要了解二维 (2D) 空间中文本的上下文和空间语义。最近的许多研究试图通过开发预训练语言模型来解决这个任务,重点是将文档图像的视觉特征与文本及其布局相结合。另一方面,本文通过回归基本来解决问题:文本和布局的有效组合。具体来说,我们提出了一种名为 BROS(BERT Relying On Spatiality)的预训练语言模型,该模型对 2D 空间中文本的相对位置进行编码,并使用区域屏蔽策略从未标记的文档中学习。通过这种用于理解 2D 空间文本的优化训练方案,BROS 在四个 KIE 基准测试(FUNSD、SROIE ∗、CORD 和 SciTSR)上显示出与之前方法相当或更好的性能,而无需依赖视觉特征。本文还揭示了 KIE 任务中的两个现实挑战——(1) 最小化错误文本排序带来的错误和 (2) 从更少的下游示例中进行有效学习——并证明了 BROS 优于以前的方法。我们的代码将向公众开放。

1. 介绍

在本文中,我们通过重新关注文本及其空间信息的组合而不依赖于视觉特征,引入了一种新的预训练语言模型,名为 BROS。具体来说,我们通过利用文本块之间的相对位置提出了一种有效的空间编码方法,而以前的大多数工作都采用绝对 2D 位置。此外,我们引入了一种新的自我监督方法,称为区域屏蔽语言模型,它隐藏文档区域中的文本并监督被屏蔽的文本。使用这两种编码空间信息的方法,与使用附加视觉特征的先前方法相比,BROS 显示出优越或可比的性能。

除了提高 KIE 性能外,BROS 还解决了 KIE 任务中两个重要的现实挑战:最小化对文本块顺序的依赖和从下游任务的几个训练示例中学习。第一个挑战表明序列化的鲁棒性,随后是图 1 中的 OCR 过程。在实际场景中,文档图像通常是不规则的(即旋转或扭曲的文档),序列化可能无法识别正确的文本块顺序。此外,当序列化失败时,之前大多数工作采用的序列标记方法(例如 BIO 标记)的性能会急剧下降。为了规避这个困难,我们应用 SPADE (Hwang et al. 2021) 解码器来提取没有任何顺序信息的关键文本块到预训练模型,并在置换的基准数据集上评估它们。因此,与 LayoutLM (Xu et al. 2020) 和 LayoutLMv2 (Xu et al. 2021) 相比,BROS 在序列化器上表现出更好的鲁棒性。

第二个挑战与理解目标关键内容所需的标记示例数量有关。由于单个 KIE 示例由数百个应分类的文本块组成,因此注释非常昂贵。尽管目标文档包含数百种布局和不同的上下文,但大多数公共基准测试只包含不到 1,000 个样本。在本文中,我们分析了训练示例数量上的 KIE 性能并比较了预训练模型。结果,BROS 在 FUNSD KIE 任务上表现更好,而且只有 20∼30% FUNSD 示例的 BROS 实现了比 LayoutLM 更好的性能,其中 100%。这些实验的总结结果如表 1 所示。

我们的贡献可以总结如下:

  • 我们通过考虑文本块的相对位置提出了一种有效的空间布局编码方法。
  • 我们还提出了一种新的区域掩蔽自我监督策略,它反映了文本块的 2D 性质。
  • 所提出的模型在不依赖视觉特征的情况下实现了与最新技术相当的性能。
  • 我们在丢失文本块顺序的置换 KIE 数据集上比较现有的预训练模型。
  • 我们比较了数据稀缺环境下各种预训练模型的微调效率。

2. BERT Relying on Spatiality (BROS)

BROS 的主要结构遵循 LayoutLM (Xu et al. 2020),但有两个关键的进步:(1) 使用描述文本块之间空间关系的空间编码度量和 (2) 使用 2D 预训练目标专为 2D 空间上的文本块设计。图 2 显示了用于文档 KIE 任务的 BROS 的可视化描述。

将空间信息编码为 BERT

文本块空间信息的编码方式决定了文本块如何感知它们的空间关系。 LayoutLM 只是简单地对每个文本块的 x 轴和 y 轴位置进行编码,但特定点编码对于文本块的微小位置变化并不稳健。相反,BROS 使用文本块之间的相对位置来显式编码空间关系。如图 3 所示,相对位置提供了文本块之间空间关系的共模态,而不管它们的绝对位置。此属性可以使模型更好地识别具有相似键值结构的实体。

对于形式化描述,我们使用 p = ( x , y ) p = (x, y) p=(x,y) 表示二维空间上的一个点,文本块的边界框由四个顶点组成,例如 p t l , p t r , p b r p^{tl} , p^{tr} , p^{br} ptl,ptr,pbr , 和 p b l p^{bl} pbl ,分别表示左上、右上、右下和左下点。 BROS 首先使用图像的大小对文本块的所有 2D 点进行归一化。然后,BROS 从文本块的其他边界框的相同顶点计算顶点的相对位置,并应用正弦函数作为 p i , j = [ f s i n u ( x i − x j ) ; f s i n u ( y i − y j ) ] p_{i,j}= [f^{sinu} (x_i − x_j ); f^{sinu} (y_i − y_j )] pi,j=[fsinu(xixj);fsinu(yiyj)]。这里,$ f^{sinu} : \mathbb{R} → \mathbb{R}{Ds} $ 表示正弦函数,在 Vaswani 等人中使用。 (2017), D s D^s Ds 是正弦嵌入的维度,分号 ( 表示串联。通过计算,第j个边界框基于第i个边界框的相对位置用四个向量表示,如 p ‾ i , j t l , p ‾ i , j t r , p ‾ i , j b r \overline{p}_{i,j}^{tl},\overline{p}_{i,j}^{tr} , \overline{p}_{i,j}^{br} pi,jtl,pi,jtr,pi,jbr, 和 p ‾ i , j b l \overline{p}_{i,j}^{bl} pi,jbl 最后,BROS 通过应用线性变换组合四个相对位置,

在识别相对位置向量 b b ‾ i , j \overline{bb}_{i,j} bbi,j 的过程中,我们小心地应用了两个组件:正弦函数 f s i n u f^{sinu} fsinu 和注意力模块多个头的共享嵌入。首先,正弦函数可以比使用将实值空间拆分为有限数量的网格的网格嵌入更自然地对连续距离进行编码。其次,Transformer 中的多头注意力模块共享相同的相对位置嵌入,以将文本块之间的公共空间关系强加给多个头识别的多个语义特征。

BROS 直接将空间关系编码为文本块的上下文。具体来说,它计算了一个结合语义和空间特征的注意力逻辑如下:

其中 t i t_i ti​ 和 t j t_j tj​ 是 i t h i^{th} ith​ 和 j t h j^{th} jth​ 标记的上下文表示, W h q W_h^q Whq​ 和 W h k W^k_h Whk​ 都是 h t h h^{th} hth 头的线性转换矩阵。前者与 Transformer 中的原始注意力机制相同。后者,在给定源上下文和位置时考虑目标文本块的相对空间信息。正如我们上面提到的,我们在所有不同的注意力头之间共享了相对空间嵌入,以施加共同的空间关系。

与 Xu 等人的空间感知注意力相比,利用文本块的轴特定位置差异作为注意力偏差,它有两个主要区别。首先,我们的方法将相对嵌入与标记的语义信息相结合,以更好地结合文本及其空间关系。其次,在计算两个文本块之间的相对空间信息时,我们会考虑该块的所有四个顶点。通过这样做,我们的编码不仅可以包含相对距离,还可以包含相对形状和大小,这在区分文档中的键和值方面起着重要作用。我们在消融研究中比较了我们的相对编码方法和 LayoutLMv2 的编码方法。

区域屏蔽语言模型AMLM

从未标记的文档中预训练不同的布局是文档 KIE 任务的关键因素。 BROS 利用了两个预训练目标:一个是 BERT 中使用的令牌掩码 LM(TMLM),另一个是本文介绍的新型区域掩码 LM(AMLM)。受 SpanBERT (Joshi et al. 2020) 启发的区域掩码 LM 基于文档中的 2D 区域捕获连续的文本块。

TMLM 在保留其空间信息的同时随机屏蔽标记,然后模型根据空间信息和其他未屏蔽标记的线索预测被屏蔽的标记。该过程与 BERT 的 MLM 和 LayoutLM 的 Masked Visual-Language Model (MVLM) 相同。图 4 (a) 显示了 TMLM 如何屏蔽文档中的标记。由于文本块中的标记可以被部分屏蔽,因此可以通过参考同一块中的其他标记或被屏蔽标记附近的文本块来进行它们的估计。

AMLM 屏蔽在随机选择的区域中分配的所有文本块。它可以解释为 2D 空间中文本块的跨度掩码。具体来说,AMLM包括以下四个步骤:

(1)随机选择一个文本块,(2) 通过扩展文本块的区域来识别一个区域, (3) 确定在该区域中分配的文本块,(4) 屏蔽文本块的所有标记并预测它们。

在第二步中,通过从具有超参数 λ 的指数分布中采样一个值来识别扩展程度。使用指数分布的基本原理是将 SpanBERT 中用于离散域的几何分布转换为连续域的分布。因此,我们设置 λ = − l n ( 1 − p ) λ = −ln(1 − p) λ=ln(1p) 其中 p = 0.2 在 SpanBERT 中使用。此外,我们用 1 截断了指数分布,以防止无穷大值覆盖文档的所有空间。应该注意的是,屏蔽区域是从随机选择的文本块扩展而来的,因为该区域应该与文本大小和位置相关,以表示 2D 空间中的文本跨度。图 4 比较了文本块上的标记和区域屏蔽。由于 AMLM 将空间上接近的标记隐藏在一起,因此它们的估计需要来自远离估计目标的文本块的更多线索。

最后,BROS 结合了两个掩码语言模型,TMLM 和 AMLM,以刺激模型学习单个和合并的令牌表示。它首先为 AMLM 屏蔽 15% 的标记,然后为 TMLM 屏蔽左侧文本块上的 15% 标记。与 BERT (Devlin et al. 2019) 类似,80% 的掩码令牌被替换为 [MASK] 令牌,10% 为随机令牌,其余 10% 为原始令牌。

3. 关键信息提取任务

我们解决了两类 KIE 任务,实体提取 (EE) 和实体链接 (EL)。 EE 任务识别代表所需目标文本的文本块序列。图 5 (a) 是 EE 任务的一个示例:在类似表单的文档中识别标题、问题和答案实体。 EL 任务通过其层次或语义关系连接关键实体。图 5 (b) 是 EL 任务的示例:对菜单实体进行分组,例如其名称、单价、金额和价格。

尽管这四个数据集为 EE 和 EL 任务提供了测试平台,但它们代表了实际问题的子集,因为给出了文本块的顺序信息。 FUNSD 在训练和测试示例中提供与目标类相关的文本块的顺序。在 SROIE ∗ 、CORD 和 SciTSR 中,文本块按阅读顺序进行序列化。为了反映不包含文本块完美顺序信息的真实场景,我们通过随机排列文本块的顺序来去除 KIE 基准的顺序信息。我们将置换后的数据集表示为 p-FUNSD、pSROIE ∗、p-CORD 和 p-SciTSR。

5. 结论

我们提出了一个预训练的语言模型 BROS,它专注于对文本和布局特征进行建模,以有效地从文档中提取关键信息。 通过在 2D 空间中对文本及其相对位置进行编码,并使用区域屏蔽策略对模型进行预训练,BROS 在不依赖任何额外视觉特征的情况下显示出卓越的性能。 此外,在两种实际设置下——不精确的文本序列化和少量的训练示例——BROS 表现出稳健的性能,而其他模型表现出显着的性能下降。

六、MTL-FoUn: A Multi-Task Learning Approach to Form Understanding 2021

《一种形式理解的多任务学习方法》

摘要

表单布局理解是从扫描文档中提取和结构化信息的任务,主要包括三个任务:(i)单词分组,(ii)实体标记和(iii)实体链接。 虽然这三个任务相互依赖,但当前的方法已经独立解决了这些问题中的每一个。 在这项工作中,我们提出了一种多任务学习方法来同时共同学习所有三个任务。 由于这三个任务是相关的,所以我们的想法是学习一个可以在所有三个任务上表现更好的共享嵌入。 此外,公开的表单理解数据集太小,不适合训练复杂的深度学习模型。 多任务学习是一种有效的方法,可以为此类小数据集的模型提供一定程度的正则化。 所提出的模型 MTL-FoUn 优于现有的在公开数据上学习单个形式理解任务的方法。

2. 表单理解的多任务方法

键值对提取任务由3个不同的子任务组成:词组、实体标注和实体链接。与之前尝试为每个任务学习单独模型的方法不同,我们提出了一个单一模型,在多任务设置中针对所有三个任务联合训练。

多任务学习是一种学习范式,其中单个模型用于学习多个任务。多任务模型由一个共同的主干和任务特定的头组成。使用所有任务的单个损失的加权和来优化网络。当我们端到端地优化这样的模型时,该模型能够在公共主干中学习更丰富的表示,这有助于解决所有子任务。因此,在学习辅助任务的同时,可以提高主任务的性能。

我们认为实体链接是我们的主要任务,实体标记和词组是辅助任务。 3 个任务的问题表述和所使用的损失函数的选择经过专门设计,以便学习两个辅助任务有助于模型在主要任务上表现更好。实体标记任务迫使模型学习识别哪个实体是键,哪个是值。这个辅助任务可以看作是一种归纳偏差,它限制了主要任务的假设空间,从而有助于提高性能。词分组任务被表述为一个嵌入学习问题,即同一实体中的词的嵌入相距很近,而不同实体中的词的嵌入相距很远。学习这个任务有助于主干模型生成更丰富的词嵌入,进而通过生成更好的实体嵌入来改进实体链接。

此外,由于 FoUn 可用的训练数据很少,多任务学习是一种有效的方法,可以为我们的模型提供一定程度的正则化。我们的模型学习的特征必须适合所有三项任务,这可以防止模型过拟合其中任何一项。

如前所述,在多任务学习设置中训练的网络通常有两部分 - 公共网络主干和任务特定头。公共主干学习输入文档的表示,该表示通过特定任务的头进一步处理以获得特定任务的输出。我们在下面描述这两个部分。

2.1 公共主干

我们使用 LayoutLM 模型 [16] 作为骨干网络从文档中提取词级特征。 为了保持模型简单,我们使用 LayoutLM 版本,该版本使用给定文档的语义(文本)和布局(2-d 位置)特征来提供词级特征。 我们的 LayoutLM 模型不使用视觉(图像)特征。 LayoutLM 主干提取的特征用于所有三个下游任务。

2.2 任务特定中心词词组。

单词分组。是将单词组合在一起以形成实体的任务。实体是一组一个或多个单词,它们一起形成一个逻辑单元。例如,如果键值对“姓名”→“先生”。要从文档图像中提取“John Doe”,那么键“Name”是一个实体,值“Mr.约翰·多伊”是另一个。我们通过简单地取属于该实体的词向量的平均值来获得实体的向量表示。

我们提出了一种新的词组方法,我们的模型学习为文档中的每个词生成任务特定的向量,然后对学习到的词向量进行聚类以将词分组为实体。在训练过程中,我们使用 Hinge Loss 来最小化属于同一实体的词向量之间的距离,并最大化表示不同实体的向量之间的距离。在推理过程中,我们对学习的词向量运行凝聚聚类,并将它们分组为实体(每个集群代表一个实体)。

我们将从 LayoutLM 获得的词向量通过一个完全连接的层,然后计算其激活的分组损失 Loss Group。考虑以下几点:(1)给定的文档由一组实体 E 组成,(2)每个实体由一组词组成,以及(3)我们可以访问一个距离函数 d,它采用两个向量作为输入并返回它们之间的距离,我们可以定义单个文档的分组损失如下:

实体标注。实体标签是从标签集 { question, answer, header, other } 为每个实体分配标签的任务。标签可以描述如下:

– 问题:作为键值对中键的实体。这些实体通常有出站链接(到答案)。

– answer:作为键值对中答案的实体。这些实体通常有入站链接(来自问题)。

– 标题:在文档中显示为标题或标题的实体。

– 其他:分配给非问题、答案或标题的任何实体的包罗万象的类别。

我们通过对属于该实体的词向量(如从 LayoutLM 主干获得的)求平均值来获得给定文档中每个实体的向量表示。然后将这些实体表示通过由两个完全连接层组成的四类分类器。由于实体标注是一项分类任务,我们使用标准的交叉熵损失作为标注损失。

实体链接。实体链接是预测问题实体和答案实体之间链接的概率的任务。我们遵循类似于 Wang 等人提出的方法。其中给定两个向量 x i 和 x j 代表实体 i 和 j,我们计算存在从 i 到 j 的链接的概率为:

其中 M 是参数矩阵。

我们的实体链接方法与 Wang 等人的方法之间的差异是双重的:

  • 我们替换了 Wang 等人使用的复杂特征提取模块。 他们使用 4 个独立的模型:变压器网络、全连接网络、CNN + LSTM 网络和基于注意力的影响门)和一个简化的特征提取器 (LayoutLM)。与 Wang 等人提出的 DocStruct 模型不同。 分别提取每个实体的特征,LayoutLM 通过考虑文档的全局上下文来提取特征。

  • 王等人跳过实体标记步骤,因此被迫通过在训练时使用负采样来缓解类不平衡问题(大多数实体对没有连接它们的链接)。由于我们在多任务设置中训练模型,而实体标记对我们来说是一项辅助任务,因此我们利用实体标签并且只考虑从问题到答案存在链接的可能性。我们不考虑其他可能性,如问题→标题、其他→答案、问题→问题等。因此,我们能够在不使用负采样的情况下训练我们的模型。

对于给定的 Answer 实体,我们的实体链接模型会预测文档中每个 Question 实体的入站链接的似然分数。然后我们通过 softmax 函数传递预测分数以获得所有问题实体集的概率分布。然后将此概率分布传递给负对数似然 (NLL) 损失函数。对文档中的所有应答实体重复此过程,总损失是每个应答实体的损失总和。最终的损失函数如等式所示。 等式4将 softmax + NLL 描述为 CrossEntropy。

其中 A 是所有答案实体的集合, y q → a y_{q→a} yqa​ 是从问题 q 到答案 a 的真实链接, y q → a ′ y'_{q→a} yqa​​ 是从问题 q 到答案 a的链接的预测概率。

我们通过结合方程中所示的 3 个损失函数来训练我们的多任务模型。 1、2 和 4 作为:

4. 结论和未来工作

形式理解涉及三个重要的子任务——词组形成实体、实体标记和实体链接任务。在这项工作中,我们引入了一个多任务学习模型 MTL-FoUn,它可以同时学习所有三个任务。我们表明,我们的多任务方法能够捕获更丰富的单词和实体表示,并且比以前使用的单任务方法表现更好。我们凭经验表明,我们的 MTL-FoUn 模型在词分组、实体标记和实体链接方面的表现优于所有基线工作。

表单理解性能的最大瓶颈是缺少带注释的数据。拥有更多带注释的数据不仅可以帮助模型更好地训练,而且可以开辟其他提高性能的途径,例如在验证集上学习超参数。提高性能的另一个途径是包含来自文档图像的视觉提示。使用基于 CNN 或 Transformer 的视觉编码器对文档图像进行编码,并将这些视觉特征与文本和布局特征一起使用可以帮助模型学习更好的整体表示并提高所有三个子任务的性能。

七、Entity Relation Extraction as Dependency Parsing in Visually Rich Documents 2021

实体关系提取作为视觉丰富文档中的依赖解析

作者:阿里巴巴

摘要

以前从视觉丰富的文档 (VRD) 中提取关键信息的工作主要集中在标记每个边界框(即语义实体)内的文本,而它们之间的关系在很大程度上尚未得到探索。在本文中,我们将流行的依赖解析模型,即双仿射解析器,用于实体关系提取任务。与识别词之间依存关系的原始依存解析模型不同,我们用布局信息来识别词组之间的关系。我们比较了语义实体的不同表示、不同的 VRD 编码器和不同的关系解码器。对于模型训练,我们探索多任务学习以结合实体标记和关系提取任务;对于评估,我们通过过滤和增强对不同的数据集进行实验。结果表明,我们提出的模型在 FUNSD 数据集上达到了 65.96% 的 F1 分数。至于实际应用,我们的模型已应用于内部海关数据,在生产环境中实现了可靠的性能。

1. 介绍

在现实生活场景中,视觉丰富的文档(VRD)有很多种,比如发票、问卷调查表、申报材料等。这些文档包含丰富的排版信息,可以帮助我们理解内容,而仅靠文字是不够的。近年来,许多工作集中在如何根据 OCR(光学字符识别)的结果从 VRD 中提取关键信息,该结果识别边界框和框内的文本(Liu et al., 2019a; Yu et al., 2020b )。每个边界框包含 1) 从语义和空间的角度来看属于一起的一组单词,以及 2) 视觉特征,例如文档中框的布局、表格结构和字体大小。我们将这些边界框和文本框内的文本称为语义实体 ,每个实体包含词组和布局坐标。

关键信息提取(KIE)就是这样一个分析视觉丰富的文档的任务,它通常包含两个步骤,实体标注和实体关系提取。类似于传统自然语言处理 (NLP) 中的命名实体识别 (NER) 和关系提取,实体标签旨在为 VRD 中的语义实体分配预定义的标签 (G. Jaume and Thiran, 2019; Liu et al., 2019a; Yu et al., 2020b),实体关系提取预测这些语义实体之间的关系。与传统 NLP 中的 NER 和关系提取相比,来自 VRD 的 KIE 是一项更具挑战性的任务。首先,纯文本中的普通(命名)实体不像 VRD 中的那些语义实体那样包含布局信息。其次,正常关系提取预测两个给定提及之间的关系,而 VRD 中的关系提取需要预测文档中任意两个语义实体之间的关系。如图 1(左)所示,实体标注任务是用标签“Answer”标记“533”、用Question”标签“Registration No.“。然而,在没有实体关系提取的情况下,“533”可以回答哪个问题仍然未知。与标记相比,实体关系提取任务的探索较少,但它的好处至少包括:1)提供更接近人类对 VRD 理解的额外结构信息,以及 2)当预定义的标签集时更容易转移到其他领域变化。因此,在本文中,我们专注于语义实体关系提取的任务,即发现两组具有布局信息的词之间的关系,如图 1(左)中的黄色链接所示。

作为 VRD 中实体关系提取的另一个类似任务,依存分析旨在找出输入句子的单词之间的句法关系,这已经被广泛研究了几十年。这两个任务都捕获输入数据基本单元之间的成对关系。由于它们的相似性,我们将流行的 biaffine 依赖解析器采用 biaffine 注意力来计算单词之间的分数(Dozat 和 Manning,2017)到实体关系提取任务中。由于视觉特征在 VRD 中起着重要作用,我们在模型的不同层中引入了丰富的布局信息,以增强原始的纯文本双仿射模型:

  • 在实体表示层,我们使用 LayoutLM (Xu et al., 2020b) 对词组和坐标进行编码。
  • 在文档编码器层,我们利用图形卷积网络 (GCN) 通过将布局信息映射到实体之间的图形边缘表示来组合 VRD 中的文本和视觉信息(Liu 等人,2019a;Yu 等人,2020b)。
  • 在关系评分器层,我们根据实体的坐标提取实体之间的相对位置特征。

除上述之外,受联合 POS 标记和依赖解析模型 (Nguyen和 Verspoor,2018),我们提出了实体标记和关系提取的多任务学习,以进一步提高性能。

进行了大量详细的实验来验证我们将双仿射依赖解析器应用于 VRD 中语义实体关系提取任务的方法。我们提出的关系提取模型在 FUNSD 数据集上获得了 65.96% 的 F1 分数,证明了我们模型的有效性。至于实际应用场景,我们的模型也已应用于内部海关数据,在生产环境中实现了可靠的性能。

本文的贡献如下:

  • 我们将依存分析中使用的biaffine双仿射模型应用于实体关系提取任务,并在 FUNSD 数据集上获得了 65.96% 的 F1 分数。
  • 我们进行了详细的实验来比较语义实体的不同表示、不同的 VRD 编码器和不同的关系解码器,以更好地理解这项任务。
  • 我们将我们的模型应用于具有不同布局的现实世界海关数据,并在生产环境中实现高性能。

3. 实体关系抽取作为依赖解析

语义实体关系提取和依赖解析任务都旨在确定两个实体/词之间是否存在关系,并假设链接始终从键/主单元指向值/修饰符单元,如图 1 所示。因此,我们可以从依赖解析探索,因为它已经研究了几十年并取得了很大的进步。 Biaffine 解析器是一个强大的依赖解析模型,具有竞争性的性能,被广泛应用于不同的场景和任务。本节介绍如何根据相似性和差异性将双仿射解析器应用于我们的关系提取任务。

3.1 任务定义

每个扫描的视觉丰富的文档由一个语义实体列表组成,每个实体由一组单词和边界框的坐标组成,定义为 b i = { [ w i 1 , . . . , w i m ] , [ x i 1 , x i 2 , y i 1 , y i 2 ] } b_i = \{ [w_i^1 , . . . , w_i^m ], [x_i^1 , x_i^2 , y_i^1 , y_i^2 ] \} bi={[wi1,...,wim],[xi1,xi2,yi1,yi2]}​​​​​​​​ ,其中 [ w i 1 , . . . , w i m ] [w_i^1 , ..., w_i^m ] [wi1,...,wim]​​​​​​​ 表示词组, x i 1 / x i 2 x_i^1 /x_i^2 xi1/xi2​​​​​​​ 和 y i 1 / y i 2 y_i^1 /y_i^2 yi1/yi2​​​​​​​​ 为左/右x 坐标和上下 y 坐标分别。我们使用的数据集中的文档用每个实体的标签和实体之间的关系进行注释。我们将每个带注释的文档表示为 D = { [ b 1 , . . . b n ] , [ l 1 , . . . , l n ] , [ ( b 1 , b h 1 ) , . . . , ( b m , b h m ) ] } D =\{ [b_1 , ...b_n ], [l_1 , ..., l_n ], [(b_1 , b_{h_1 }), ..., (b_m , b_{h_m} )] \} D={[b1,...bn],[l1,...,ln],[(b1,bh1),...,(bm,bhm)]}​​​ ,其中 l ∈ L l ∈ L lL​​ 是每个实体的标签,L 是预定义的实体标签集。 ( b i , b h i ) (b_i , b_{h_i} ) (bi,bhi)​​ 表示实体 b i b_i bi​​ 和 b h i b_{h_i} bhi​​ 之间的关系,以及 b h i b_{h_i} bhi​ 到 b i b_i bi​​ 的链接点。值得注意的是,该实体可能与一个以上的实体存在关系,或者与任何其他实体都没有关系。

3.2 Biaffine解析器

如图 2(右)所示,biaffine 依赖解析器以词和词性标签嵌入作为词表示,并使用多层 BiLSTM 对输入句子进行编码。然后,两个 MLP 模块用于剥离与当前链路决策无关的信息。最后,利用biaffine注意力机制计算词之间依赖关系的得分。

由于它们的相似性,我们探索了将biaffine双仿射解析器应用于我们在 VRD 中的关系提取的各个方面。特别是,与常规依赖解析相比,除了文本本身之外,我们还考虑了布局信息。在我们提出的实体关系提取模型中,我们利用不同处理级别的重要布局信息,包括实体编码器、文档编码器和关系评分器,如图 2(左)所示。我们将我们提出的模型命名为 SERA(语义实体关系提取作为依赖解析)。我们提议的 SERA 的详细信息将在以下小节中讨论。

3.3 实体表示

在输入层,为了获得更好的实体表示,我们比较了不同的语义实体信息编码方式,包括词组和布局特征。

在工作中,我们利用了广泛使用的预训练模型的优势,包括来自 word2vec(Mikolov 等人,2013)的上下文无关词向量,来自 BERT 和 LayoutLM 的上下文化表示。特别是,LayoutLM 在预训练期间从边界框引入坐标信息,非常适合我们的场景。

此外,我们利用每个语义实体的标签,例如 FUNSD 标签集中的“问题”、“答案”,如图 1 所示。我们将实体标签映射到标签嵌入中,作为依赖解析中的 POS 标签嵌入。然后,我们将实体表示和标签嵌入连接起来作为每个语义实体的文档编码器的输入,如下面的等式所示:

其中 l i l_i li 表示实体标签嵌入, b i b_i bi 表示语义实体的表示,可以从上述三个预训练模型中获得,例如word2vec、BERT 和 LayoutLM。

3.4 文档编码器

我们比较了不同的文档编码器,包括 Transformer、BiLSTM 和 GCN,以更好地编码 VRD 中语义实体的信息。具体来说,我们将实体的表示馈送到文档编码器中,并获得编码器的输出作为实体的上下文表示。

对于 GCN 编码器,图中的初始实体表示计算如第 3.3 小节所示。在更新实体和边的表示时,我们遵循 Liu 等人的计算。边缘嵌入由 2 个布局特征组成,如以下等式所示:

其中 x i j x_{ij} xij y i j y_{ij} yij 分别是两个实体框之间的水平和垂直距离:

对于实体 b i b_i bi ,我们通过连接两个实体及其对应边的表示来提取每个邻居 b j b_j bj 的特征 h i j h_{ij} hij​ 。

然后,我们更新实体和边的表示,以便每个实体可以根据文档布局信息从其他实体中提取相关信息,如下等式所示:

α i j α_{ij} αij 是注意力权重,可以计算如下:

其中 n是文档中实体的数目。

3.5 关系得分器

在双仿射解析器之后,我们首先应用 MLP 模块来删除与当前关系决策无关的琐碎信息。两个MLP用于生成每个关系链接中key和value角色的不同表示,表示图1中弧的方向。

其中 F 是激活函数。

然后,我们使用偏置注意力来计算两个语义实体之间的分数,如下所示:

这种双仿射机制可以更好地捕捉实体之间的成对关系。

我们还使用布局信息 r i , j ri,j ri,j​ 作为外部特征来帮助模型更好地预测实体之间的关系。这样的布局特征表明了实体 b i b i bi 和实体 b j b j bj 之间的位置关系:从左到右或从上到下。根据经验,我们观察到从左到右或从上到下顺序的实体更有可能存在关系。我们使用 MLP 计算布局特征分数如下:

最后,我们将 biaffine score 和 layout feature score 加在一起作为实体 b i 和实体 b j 之间关系的得分:

3.6 关系解码器

基于实体之间的关系分数,两种不同的关系解码方法决定了我们训练目标的不同损失函数。

第一种方法是判断每个 VRD 中任意两个实体之间是否存在关系,这种方式类似于语义角色标记(SRL)。在这种情况下,我们将关系预测作为二元分类任务,并使用二元交叉熵损失作为 G. Jaume 和 Thiran (2019)。

第二种是从一个 VRD 中的所有实体中选择一个头实体作为当前实体,这类似于依赖解析中的解码器。这种方法意味着每个实体必须恰好有一个头实体,即单头约束。现在,关系预测被视为多分类任务,并使用像 Dozat 和 Manning (2017) 那样的 softmax 交叉熵损失。

6. 结论

本文重点研究 VRD 中大量未开发的实体关系提取任务。 我们利用先前在语义实体标记和依赖解析方面的工作,并提出了我们的关系提取模型 SERA。 我们改进的实体关系提取模型在 FUNSD 数据上实现了 64.60% 的 F1 分数,大大超过了之前的基线; 我们采用两种简单但有效的训练策略将性能进一步提高到 65.96%,即具有实体标记和数据增强的多任务学习。 此外,我们验证了我们的模型在生产环境中不同布局的真实海关数据上的有效性。 未来,我们计划在关系抽取模型中加入更多的视觉特征,并将其扩展到更多的领域和业务场景中。

八、StructuralLM: Structural Pre-training for Form Understanding 2021

StructuralLM:用于形式理解的结构预训练

作者:阿里巴巴

摘要

在对下游 NLP 任务进行微调时,大型预训练语言模型可实现最先进的结果。然而,他们几乎只专注于纯文本表示,而忽略了对表单图像理解很重要的单元级布局信息。在本文中,我们提出了一种新的预训练方法 StructuralLM,以联合利用来自扫描文档的单元格和布局信息。具体来说,我们使用两种新设计对 StructuralLM 进行预训练,以充分利用单元格和布局信息的交互:1)每个单元格作为一个语义单元; 2)细胞位置的分类。预训练的 StructuralLM 在不同类型的下游任务中取得了最新的最新成果,包括形式理解(从 78.95 到 85.14)、文档视觉问答(从 72.59 到 83.94)和文档图像分类(从 94.43 到96.08)。

1. 介绍

文档理解是 NLP 中的一个基本问题,其目的是阅读和分析文本文档。除了纯文本之外,许多现实世界的应用程序还需要理解带有富文本的扫描文档。如图 1 所示,此类扫描文档包含各种结构化信息,如表格、数字表格、收据和发票。文档图像的信息通常以自然语言呈现,但可以通过多种方式组织格式,从多列布局到各种表格/表格。

受近期在各种 NLP 任务中预训练语言模型的发展(Devlin 等人,2019;Liu 等人,2019a;Wang 等人,2019 年)的启发,最近对文档图像预训练的研究(Zhang 等人,2020 年; Xu et al., 2019) 突破了各种文档图像理解任务的极限,这些任务学习跨扫描文档图像的文本和布局信息之间的交互。

徐等人。 (2019) 提出了 LayoutLM,这是一种用于文档图像理解任务的文本和布局的预训练方法。它使用 2Dposition 嵌入对词级布局信息进行建模。然而,仅仅对词级布局信息进行建模是不够的,模型应该将单元格视为一个语义单元。了解哪些词来自同一个单元并对单元级布局信息建模非常重要。例如,如图 1 (a) 所示,来自表单理解任务(Jaume et al., 2019),确定“LORILLARD”和“ENTITIES”来自同一个单元格对于语义实体标记至关重要。 “LORILLARD ENTITIES”应该被预测为答案实体,但 LayoutLM 将“LORILLARD”和“ENTITIES”预测为两个独立的实体。

传统自然语言任务的输入通常以纯文本形式呈现,纯文本模型需要获取输入句子的语义表示以及句子之间的语义关系。相比之下,表单和表格等文档图像由 OCR 识别为边界框的单元格组成。如图 1 所示,来自同一个单元格的单词通常一起表达一个意思,应该建模为一个语义单元。这需要一个文本布局模型来捕获单个单元格的语义表示以及单元格之间的空间关系。

在本文中,我们提出 StructuralLM 来联合利用扫描文档中的单元格和布局信息。与之前基于文本的预训练模型(Devlin 等人,2019 年;Wang 等人,2019 年)和 LayoutLM(Xu 等人,2019 年)不同,StructuralLM 使用单元级 2D 位置嵌入和单元格中的标记共享相同的 2D 位置。这使 StructuralLM 知道哪些词来自同一个单元格,从而使模型能够导出单元格的表示。此外,我们保留经典的 1D 位置嵌入以保留每个单元格中标记的位置关系。除了屏蔽视觉语言模型之外,我们还提出了一个新的预训练目标,称为细胞位置分类。具体来说,我们首先将图像分成 N 个相同大小的区域,然后掩盖一些单元格的 2D 位置。要求 StructuralLM 预测掩蔽单元位于哪个区域。这样,StructuralLM 能够学习单元和布局之间的相互作用。我们在三个公开可用的基准数据集上进行实验,所有这些数据集都包含表格或表单图像。实证结果表明,我们的 StructuralLM 优于强大的基线,并在下游任务中取得了最新的最新成果。此外,StructuralLM 不依赖于图像特征,因此很容易应用于现实世界的文档理解任务。

  • 我们提出了一个用于表格和表格理解的结构预训练模型。它以两种方式联合利用单元格和布局信息:单元格级位置嵌入和称为单元格位置分类的新预训练目标。

  • StructuralLM 在多个下游任务中明显优于所有最先进的模型,包括形式理解(从 78.95 到 85.14)、文档视觉问答(从 72.59 到 83.94)和文档图像分类(从 94.43 到 96.08)

2. StructuralLM

我们提出了 StructuralLM,这是一种自我监督的预训练方法,旨在更好地对扫描文档图像中的单元格和布局信息的交互进行建模。 StructuralLM 的整体框架如图 2 所示。 我们的方法受到 LayoutLM(Xu et al., 2019)的启发,但在三个方面与它不同。首先,我们使用单元级 2D 位置嵌入来建模单元的布局信息,而不是词级 2D 位置嵌入。我们还引入了一个新的训练目标,即细胞位置分类,它试图仅根据周围细胞的位置和它们之间的语义关系来预测细胞的位置。最后,StructuralLM 保留了 1D 位置嵌入以对来自同一单元格的标记之间的位置关系进行建模,并删除 layoutlm 中仅用于下游任务的图像嵌入。

2.1 模型架构

StructuralLM 的架构概览如图 2 所示。为了利用现有的预训练模型并适应文档图像理解任务,我们使用 BERT(Devlin 等人,2019)架构作为主干。 BERT 模型是一种基于注意力的双向语言建模方法。经验证,BERT 模型显示了从具有大规模预训练语料库的自监督 nlp 任务中有效的知识转移。

基于该架构,我们建议利用来自文档图像的单元级布局信息并将它们合并到转换器编码器中。首先,给定来自不同单元格的一组标记和单元格的布局信息,单元级输入嵌入是通过将相应的词嵌入、单元级 2D 位置嵌入和原始 1D 位置嵌入相加来计算的。然后,这些输入嵌入通过双向 Transformer 编码器传递,该编码器可以使用注意力机制生成上下文化表示。

2.2 单元级输入嵌入

给定文档图像,我们使用 OCR 工具来识别文本并从左上角到右下角序列化单元格(边界框)。每个文档图像都表示为一系列单元格 { c 1 , . . . , c n } \{ c_1 , ..., c_n \} {c1,...,cn}​​​ ,每个单元格由一系列单词 c i = { w i 1 , . . . , w i m } c_i = \{ w_i^1 , ..., w_i^m \} ci={wi1,...,wim}​​​ 组成。给定单元格和单词的序列,我们首先介绍单元格级输入嵌入的方法。

单元级布局嵌入。与对序列中的单词位置进行建模的位置嵌入不同,2D 位置嵌入旨在对文档图像中的相对空间位置进行建模。为了表示扫描文档图像中单元格的空间位置,我们将文档页面视为具有左上角原点的坐标系。在此设置中,单元格(边界框)可以由 ( x 0 , y 0 , x 1 , y 1 ) (x0, y0, x1, y1) (x0,y0,x1,y1) 精确定义,其中 (x0, y0) 对应左上角位置, (x1, y1) 代表右下角位置。因此,我们添加了两个单元级位置嵌入层来分别嵌入 x 轴特征和 y 轴特征。在第 i 个单元格 c i 中的词 c i = { w i 1 , . . . , w i m } c_i = \{ w_i^1 , ..., w_i^m \} ci={wi1,...,wim} 共享相同的 2D 位置嵌入,这与 LayoutLM 中的词级 2D 位置嵌入不同。如图2所示,输入到具有相同颜色背景的tokens来自同一个单元格,对应的 2D 位置也相同。这样,StructuralLM 不仅可以学习单元格的布局信息,还可以知道哪些词来自同一个单元格,更好地获得单元格的上下文表示。此外,我们保留了经典的 1D 位置嵌入,以保留同一单元格内令牌的位置关系。最后,通过将四个 2D 位置嵌入和经典的 1D 位置嵌入相加来计算单元级布局嵌入。

**输入嵌入。**给定一系列单元格 { c 1 , . . . , c n } \{ c_1 , ..., c_n \} {c1,...,cn}​ ,我们使用 WordPiece (Wu et al., 2016) 来标记单元格中的单词。对文本序列的长度进行限制,以确保最终序列的长度不大于最大序列长度 L。最终的单元级输入嵌入是三个嵌入的总和。 Word embedding 表示单词本身,1Dposition embedding 表示token index,cell-level 2D-position embedding 用于建模文档图像中单元格的相对空间位置。

2.3 预训练StructuralLM

我们在预训练阶段采用了两个自监督任务,如下所述。

Masked Visual-language MVLM。我们使用 Masked Visual-Language Modeling (MVLM)(Xu et al., 2019) 使模型通过单元级 2D 位置嵌入和文本嵌入的线索来学习单元表示。我们随机屏蔽一些输入标记但保留相应的单元级位置嵌入,然后对模型进行预训练以预测被屏蔽的标记。通过单元级布局信息,StructuralLM 可以知道掩码标记周围的哪些词在同一单元格中,哪些在相邻单元格中。这样,StructuralLM 不仅利用了相应的单元级位置信息,而且理解了单元级上下文表示。因此,与 LayoutLM 中的 MVLM 相比,StructuralLM 利用单元级布局信息更准确地预测掩码标记。我们将在 3.5 节中分别比较 MVLM 与单元级布局嵌入和字级布局嵌入的性能。

单元位置分类 CPC 。除了 MVLM 之外,我们还提出了一个新的单元格位置分类 (CPC) 任务来对文档中单元格的相对空间位置进行建模。给定一组扫描文档,此任务旨在预测单元格在文档中的位置。首先,我们将它们分成 N 个相同大小的区域。然后我们通过单元格的中心二维位置计算单元格所属的区域。同时,随机选择一些单元格,并将所选单元格中标记的二维位置替换为 ( 0 ; 0 ; 0 ; 0 ) (0; 0; 0; 0) (0;0;0;0)。在预训练期间,在编码器输出之上构建了一个分类层。该层预测所选单元格所在区域的标签 [ 1 , N ] [1, N] [1,N],并计算交叉熵损失。考虑到 MVLM 和 CPC 是同时执行的,CPC 任务不会选择带有掩码标记的单元格。这可以防止模型在执行 MVLM 任务时不使用单元级布局信息。我们将在 3.1 节中比较不同 N 的性能。

2.4 微调

预训练的 StructuralLM 模型在三个文档图像理解任务上进行了微调,每个任务都包含表单图像。这三个任务是形式理解任务、文档视觉问答任务和文档图像分类任务。对于表单理解任务,StructuralLM 为每个标记预测 B、I、E、S、O 标签,然后使用顺序标记来查找四种类型的实体,包括问题、答案、标题或其他。对于文档视觉问答任务,我们将其视为提取 QA 任务,并在标记表示的顶部构建标记级分类器,这通常用于机器阅读理解 (MRC)(Rajpurkar 等人,2016 年;Wang 等人,2018 年)。对于文档图像分类任务,StructuralLM 使用 [CLS] 标记的表示来预测类标签。

5. 结论

在本文中,我们提出了 StructuralLM,这是一种针对大型未标记文档的新型结构预训练方法。 它建立在 Transformer 编码器的扩展之上,并联合利用扫描文档中的单元格和布局信息。

与之前的预训练模型不同,StructuralLM 使用单元级 2D 位置嵌入,单元中的令牌共享相同的 2D 位置。 这使 StructuralLM 知道哪些词来自同一个单元格,从而使模型能够导出单元格的表示。 我们提出了一个新的预训练目标,称为单元位置分类。 通过这种方式,StructuralLM 能够学习单元格和布局之间的交互。 我们在三个公开可用的基准数据集上进行了实验,StructuralLM 的表现优于强大的基线,并在下游任务中取得了最新的最新成果。

你可能感兴趣的:(阅读笔记,python,cv,nlp)