赞
踩
由于其有效的模型架构和大规模无标签扫描/数字生成文档的优势,文本和布局的预训练已被证明在各种视觉丰富的文档理解任务中是有效的。我们提出了具有新预训练任务的 LayoutLMv2 架构,以在单个多模式框架中对文本、布局和图像之间的交互进行建模。具体来说,通过双流多模态 Transformer 编码器,LayoutLMv2 不仅使用现有的屏蔽视觉语言建模任务,还使用新的文本图像对齐和文本图像匹配任务,这使得它可以更好地捕获跨模态交互在预训练阶段。同时,它还在 Transformer 架构中集成了空间感知的自注意力机制,使模型能够充分理解不同文本块之间的相对位置关系。实验结果表明,LayoutLMv2 大幅优于 LayoutLM,并在各种下游视觉丰富的文档理解任务上取得了新的最先进结果,包括 FUNSD (0.7895 → 0.8420)、CORD (0.9493 → 0.9601)、SROIE ( 0.9524 → 0.9781)、Kleister-NDA (0.8340 → 0.8520)、RVL-CDIP (0.9443 → 0.9564) 和 DocVQA (0.7295 → 0.8672)。我们在 https://aka.ms/layoutlmv2 公开提供我们的模型和代码。
OCR 或光学字符识别也称为文本识别或文本提取。基于机器学习的 OCR 技术允许您从海报、路牌和产品标签等图像以及文章、报告、表格和发票等文档中提取印刷或手写文本。文本通常被提取为单词、文本行和段落或文本块,从而能够访问扫描文本的数字版本。这消除或显着减少了手动数据输入的需要。
在 LayoutLM 1.0 模型提出一年之后,微软亚洲研究院自然语言计算组的研究人员基于 LayoutLM 1.0 的设计方案进一步提出了 LayoutLM 2.0 模型。作为 LayoutLM 1.0 模型的延续,2.0模型的主要特点在于,在输入阶段直接引入了图像信息,利用多模态预训练框架对文本、图像和布局信息进行联合建模。不仅如此,受到纯文本预训练模型中一维相对位置表征的启发,研究人员还提出了一种空间感知自注意力机制 (spatial-aware self-attention),以帮助 Transformer 模型学习到文档图像中不同文本块之间的相对位置关系。与此同时,两种新的预训练任务被使用其中——“文本—图像对齐”和“文本—图像匹配”。实验表明,LayoutLM 2.0 模型将文档图像和其中文本内容进行统一多模态预训练,在多个智能文档理解任务中取得了最佳的结果,其中包括表单理解 FUNSD 数据集,票据理解 CORD 和 SROIE 数据集,复杂布局长文档理解 Kleister-NDA 数据集,文档图像分类 RVL-CDIP 数据集,以及文档图像视觉问答 DocVQA 数据集。
2020年6月,微软亚研院提出了Layout language model-LayoutLM,发表在KDD2020;2021年5月,在ACL2021上,微软亚研院提出了LayoutLMv2。LayoutLMv2使用BERT为主干的backbone加入两个新的embeddings: 2-D position embedding和image embedding。模型结构上并没有太大修改,并且image embedding只是在下游做DocCLS的时候才用到,没有进BERT里面做Pretrain,只是TEXT+Layout的embedding做input。2-D position embedding:视文档页面左上角为原点的坐标系,拿到bounding box:(x0,y0,x1,y1),就可以做成四个与文本emdedding一一对应的position embedding,以至于[CLS]向量对应的位置,分别使用整张图片的(0,0,maxW,maxH)作为对应,使用开源 OCR 引擎 Tesseract6,获得2-D position embedding;Image embedding:用OCR识别每个单词的边界框,将图片分成很多小块,与文本一一对应,并且将这些小块用Faster R-CNN来生成image embedding,以至于[CLS]用Faster R-CNN将整张图片做成embedding。
微软研究研究院:新一代多模态文档理解预训练模型LayoutLM 2.0,多项任务取得新突破! - 知乎 (zhihu.com)
视觉丰富的文档理解 (VrDU) 旨在分析扫描/数字化的商业文档(发票图像、PDF 格式的表格等),其中可以为许多业务应用程序自动提取和组织结构化信息。与传统的信息提取任务不同,VrDU 任务不仅依赖于文本信息,还依赖于视觉和布局信息,这对于视觉丰富的文档至关重要。不同类型的文档表明感兴趣的文本字段位于文档内的不同位置,这通常由每种类型的样式和格式以及文档内容决定。因此,为了准确识别感兴趣的文本字段,不可避免地要利用视觉丰富的文档的跨模态性质,其中文本、视觉和布局信息应在端到端中联合建模和学习。单一框架。
VrDU最近的进展主要集中在两个方向。第一个方向通常建立在文本和视觉/布局/风格信息之间的浅层融合之上。这些方法分别利用预先训练的 NLP 和 CV 模型,并将来自多种模式的信息结合起来进行监督学习。尽管取得了良好的性能,但一种文档类型的领域知识无法轻易转移到另一种文档类型中,因此一旦文档类型发生变化,这些模型通常需要重新训练。因此,一般文档布局(左右布局中的键值对、网格布局中的表格等)中的局部不变性无法被充分利用。为此,第二个方向依赖于来自不同领域的大量未标记文档的文本、视觉和布局信息之间的深度融合,其中预训练技术在最终学习跨模态交互中发挥着重要作用。端到端fashion。通过这种方式,预训练的模型吸收了来自不同文档类型的跨模式知识,其中保留了这些布局和样式之间的局部不变性。此外,当模型需要转移到具有不同文档格式的另一个领域时,只需少量标记样本就足以微调通用模型,以实现最先进的准确性。因此,本文提出的模型遵循第二个方向,我们探索如何进一步改进VrDU任务的预训练策略。
在本文中,我们提出了 LayoutLM 的改进版本,又名 LayoutLMv2。与在微调阶段结合视觉嵌入的普通 LayoutLM 模型不同,我们在 LayoutLMv2 中利用 Transformer 架构在预训练阶段集成视觉信息,以学习视觉和文本信息之间的跨模态交互。此外,受一维相对位置表示的启发,我们提出了 LayoutLMv2 的空间感知自注意力机制,其中涉及 2- D 标记对的相对位置表示。与 LayoutLM 用于对页面布局进行建模的绝对二维位置嵌入不同,相对位置嵌入明确为上下文空间建模提供了更广泛的视图。对于预训练策略,除了屏蔽视觉语言建模之外,我们还使用 LayoutLMv2 的两个新训练目标。第一个是提出的文本图像对齐策略,它将文本行和相应的图像区域对齐。第二种是之前视觉语言预训练模型中流行的文本图像匹配策略 ,模型学习文档图像和文本内容是否相关。
我们选择六个公开可用的基准数据集作为下游任务来评估预训练的 LayoutLMv2 模型的性能,它们是用于形式理解的 FUNSD 数据集、CORD 数据集和用于理解收据的 SROIE 数据集、用于理解复杂布局的长文档的 Kleister-NDA 数据集、用于理解复杂布局的 RVL-CDIP 数据集文档图像分类,以及用于文档图像视觉问答的 DocVQA 数据集。实验结果表明,LayoutLMv2 模型的性能显着优于强大的基线(包括普通 LayoutLM),并在所有这些任务中取得了新的最先进的结果。本文的贡献总结如下:
我们提出了一种多模态 Transformer 模型,在预训练阶段集成文档文本、布局和视觉信息,在单个框架中学习端到端的跨模态交互。同时,Transformer 架构中集成了空间感知的自注意力机制。
除了屏蔽视觉语言模型之外,我们还添加了文本图像对齐和文本图像匹配作为新的预训练策略,以强制不同模态之间的对齐。
LayoutLMv2 不仅在传统的 VrDU 任务上而且在文档图像的 VQA 任务上都显着优于并取得了新的 SOTA 结果,这表明了 VrDU 多模态预训练的巨大潜力。
LayoutLM 2.0 的主体结构是带有空间感知自注意力机制的多模态 Transformer 编码器网络,它主要有两方面优势:其一是在输入阶段同时接受文本、图像、布局三种模态的信息,利用深层网络的强大建模能力实现多模态深度融合;其二是基于文档智能领域特性的空间感知自注意力机制,通过在传统自注意力机制的基础上显式添加空间相对位置信息,进一步帮助模型在一维文本序列基础上加深对二维版面信息的理解。
在本节中,我们将介绍 LayoutLMv2 的模型架构和多模态预训练任务,如下图所示。
LayoutLMv2 的模型架构和预训练策略图示
我们构建了一个多模态 Transformer 架构作为 LayoutLMv2 的骨干,它以文本、视觉和布局信息作为输入来建立深度的跨模态交互。我们还在模型架构中引入了空间感知的自注意力机制,以便更好地对文档布局进行建模。模型的详细描述如下。
Text Embedding:按照惯例,我们使用 WordPiece 对 OCR 文本序列进行标记,并将每个标记分配给某个片段 si ∈ {[A], [B]}。然后,我们在序列的开头添加 [CLS],在每个文本段的末尾添加 [SEP]。额外的 [PAD] 标记被附加到末尾,以便最终序列的长度恰好是最大序列长度 L。最终的文本嵌入是三个嵌入的总和。令牌嵌入表示令牌本身,一维位置嵌入表示令牌索引,段嵌入用于区分不同的文本段。形式上,我们有第 i 个 (0 ≤ i < L) 文本嵌入。将词向量、一维位置向量、分段向量(代表 [A] 或 [B])相加得到文本向量,算法公式如下:
Visual Embedding:尽管我们需要的所有信息都包含在页面图像中,但该模型很难在整个页面的单个信息丰富的表示中捕获详细特征。因此,我们利用基于 CNN 的视觉编码器的输出特征图,将页面图像转换为固定长度的序列。我们使用 ResNeXt-FPN 架构作为视觉编码器的骨干,其参数可以通过反向传播进行更新。给定文档页面图像 I,将其大小调整为 224 × 224,然后输入视觉主干。之后,将输出特征图平均池化为固定大小,宽度为W,高度为H。接下来,将其展平为长度为W×H的视觉嵌入序列。该序列被命名为VisTokEmb(I)。然后将线性投影层应用于每个视觉标记嵌入,以统一文本嵌入的维度。由于基于 CNN 的视觉主干无法捕获位置信息,因此我们还在这些视觉标记嵌入中添加了一维位置嵌入。一维位置嵌入与文本嵌入层共享。对于片段嵌入,我们将所有视觉标记附加到视觉片段[C]。第 i 个 (0 ≤ i < W H) 视觉嵌入可以表示为
Layout Embedding:布局嵌入层用于嵌入由 OCR 结果中的轴对齐标记边界框表示的空间布局信息,其中识别框的宽度和高度以及角坐标。遵循 vanilla LayoutLM,我们将所有坐标标准化并离散化为 [0, 1000] 范围内的整数,并使用两个嵌入层分别嵌入 x 轴特征和 y 轴特征。给定第 i 个 (0 ≤ i < W H + L) 文本/视觉标记 boxi = (xmin, xmax, ymin, ymax, width, height) 的归一化边界框,布局嵌入层连接六个边界框特征来构造令牌级 2D 位置嵌入,也称为布局嵌入
请注意,CNN 执行局部变换,因此视觉标记嵌入可以一一映射回图像区域,既不重叠也不遗漏。在计算边界框时,视觉标记可以被视为均匀划分的网格。空边界框 boxPAD = (0, 0, 0, 0, 0, 0) 附加到特殊标记 [CLS]、[SEP] 和 [PAD]。
Multi-modal Encoder with Spatial-Aware SelfAttention Mechanism:编码器将视觉嵌入 { v 0 , . . . , v W H − 1 } \{v0, ..., v_{W H−1}\} {v0,...,vWH−1} 和文本嵌入 { t 0 , . . . , t L − 1 } \{t_0, ..., t_{L−1}\} {t0,...,tL−1} 连接成统一序列,并通过添加布局嵌入来融合空间信息以获得第 i 个(0 ≤ i < WH + L) 第一层输入
遵循 Transformer 的架构,我们构建了多模态编码器,其中包含一堆多头自注意力层,后面是前馈网络。然而,原始的自注意力机制只能隐式地捕获输入标记与绝对位置提示之间的关系。为了有效地对文档布局中的局部不变性进行建模,有必要显式地插入相对位置信息。因此,我们将空间感知的自注意力机制引入自注意力层中。为了简单起见,以下描述针对单个自注意力层中的单个头,其中隐藏了 dhead 的大小和投影矩阵 WQ、WK、WV 。原始的自注意力机制通过投影两个向量并计算注意力分数来捕获查询 xi 和密钥 xj 之间的相关性
考虑到位置范围较大,我们将语义相对位置和空间相对位置建模为偏差项,以防止添加太多参数。类似的做法在纯文本 Transformer 架构上已被证明是有效的。令 b(1D)、b(2Dx) 和 b(2Dy) 分别表示可学习的 1D 和 2D 相对位置偏差。注意力头之间的偏差不同,但在所有编码器层中共享。假设 (xi, yi) 锚定第 i 个边界框的左上角坐标,我们获得空间感知注意力分数
最后,输出向量表示为所有投影值向量相对于归一化空间感知注意力分数的加权平均值
Masked Visual-Language Modeling 与普通的 LayoutLM 类似,我们使用 Masked Visual Language Modeling (MVLM) 来使模型在跨模态线索的语言方面学习得更好。我们随机屏蔽一些文本标记,并要求模型恢复屏蔽的标记。同时,布局信息保持不变,这意味着模型知道每个屏蔽标记在页面上的位置。来自编码器的屏蔽标记的输出表示被输入到整个词汇表上的分类器中,由交叉熵损失驱动。为了避免视觉线索泄漏,我们在将原始页面图像输入输入到视觉编码器之前屏蔽与屏蔽标记相对应的图像区域。
文本-图像对齐:为了帮助模型学习图像和边界框坐标之间的空间位置对应关系,我们提出文本-图像对齐(TIA)作为细粒度的跨模态对齐任务。在TIA任务中,随机选择一些标记行,并将它们的图像区域覆盖在文档图像上。我们将此操作称为覆盖,以避免与 MVLM 中的屏蔽操作混淆。在预训练期间,在编码器输出之上构建分类层。该层根据每个文本标记是否被覆盖来预测它的标签,即[Covered]或[ Not Covered],并计算二元交叉熵损失。考虑到输入图像的分辨率有限,并且图形中的一些文档元素(例如符号和条形)可能看起来像被覆盖的文本区域,因此查找单词大小的被覆盖图像区域的任务可能会有噪声。因此,覆盖操作是在行级别执行的。当 MVLM 和 TIA 同时执行时,不考虑 MVLM 中屏蔽的令牌的 TIA 损失。这可以防止模型学习从 [MASK] 到 [Covered] 的无用但直接的对应关系。
文本-图像匹配:此外,应用粗粒度跨模态对齐任务文本图像匹配(TIM)来帮助模型学习文档图像和文本内容之间的对应关系。我们将 [CLS] 处的输出表示输入分类器中,以预测图像和文本是否来自同一文档页面。常规输入是正样本。为了构建负样本,图像要么被另一个文档中的页面图像替换,要么被删除。为了防止模型通过寻找任务特征来作弊,我们对负样本中的图像执行相同的掩蔽和覆盖操作。在负样本中,TIA 目标标签全部设置为 [Covered]。我们在优化过程中应用二元交叉熵损失。
为了预训练和评估 LayoutLMv2 模型,我们从视觉丰富的文档理解区域中选择了广泛的数据集。遵循 LayoutLM,我们使用 IIT-CDIP 测试集作为预训练数据集。六个数据集用作下游任务。 FUNSD、CORD 、SROIE 和 KleisterNDA 数据集定义了实体提取任务,旨在提取实体的值一组预定义的键,我们将其形式化为顺序标记任务。 RVL-CDIP 用于文档图像分类。DocVQA,顾名思义,是一个针对文档图像进行视觉问答的数据集。数据集统计结果如下表所示,详见附录。
Statistics of datasets
遵循典型的预训练和微调策略,我们更新包括视觉编码器层在内的所有参数,并针对所有设置端到端地训练整个模型。训练详情请参阅附录。
预训练 LayoutLMv2 我们用两种不同的参数大小训练 LayoutLMv2 模型。我们使用 12 层 12 头 Transformer 编码器,并在 LayoutLMv2BASE 中设置隐藏大小 d = 768。而在 LayoutLMv2LARGE 中,编码器有 24 个 Transformer 层,有 16 个头,d = 1024。两个模型中的视觉主干基于相同的 ResNeXt101-FPN 架构。 LayoutLMv2BASE 和 LayoutLMv2LARGE 的参数数量分别约为 200M 和 426M。
对于编码器和文本嵌入层,LayoutLMv2 使用与 UniLMv2 相同的架构,因此它是从 UniLMv2 初始化的。对于视觉嵌入层中的 ResNeXt-FPN 部分,利用了在 PubLayNet上训练的 MaskRCNN模型的主干。模型中的其余参数是随机初始化的。
在预训练期间,我们从 IIT-CDIP 数据集中对页面进行采样,如果样本太长,则选择文本序列的随机滑动窗口。我们设置最大序列长度 L = 512 并将所有文本标记分配给段 [A]。平均池化层的输出形状设置为W = H = 7,以便将特征图转换为49个视觉标记。在MVLM中,15%的文本标记被屏蔽,其中80%被特殊标记[MASK]替换,10%被从整个词汇表中采样的随机标记替换,10%保持不变。在 TIA 中,15% 的线路被覆盖。在 TIM 中,15% 的图像被替换,5% 的图像被丢弃。GitHub - hpanwar08/detectron2: Detectron2 for Document Layout Analysis
微调 LayoutLMv2: 我们使用 [CLS] 输出以及池视觉标记表示作为文档级分类任务 RVL-CDIP 中的全局特征。对于提取问答任务 DocVQA 和其他四个实体提取任务,我们遵循常见做法,并在 LayoutLMv2 输出的文本部分上构建任务指定的头层。
在 DocVQA 论文中,实验结果表明,在 SQuAD 数据集上微调的 BERT 模型优于原始 BERT 模型。受此事实的启发,我们添加了一个额外的设置,即我们首先在问题生成(QG)数据集上微调 LayoutLMv2,然后在 DocVQA 数据集上微调。 QG 数据集包含近一百万个问答对,这些问答对是由在 SQuAD 数据集上训练的生成模型生成的。
基线 我们在实验中选择了三个基线模型,将 LayoutLMv2 与纯文本预训练模型以及普通 LayoutLM 模型进行比较。具体来说,我们将 LayoutLMv2 与 BERT、UniLMv2和 LayoutLM 的所有实验设置进行比较。我们将公开可用的 PyTorch 模型用于 BERT 和 LayoutLM,并使用我们内部的 UniLMv2 模型实现。对于每种基线方法,都使用 BASE 和 LARGE 参数设置进行实验。
实体提取任务下表 显示了 FUNSD、CORD、SROIE 和 Kleister-NDA 四个数据集上的模型准确性,我们将其视为使用实体级 F1 分数评估的顺序标记任务。我们报告 Kleister-NDA 在验证集上的评估结果,因为测试集的真实标签和提交网站目前不可用。对于纯文本模型,UniLMv2 模型在 BASE 和 LARGE 设置方面大幅优于 BERT 模型。对于文本+布局模型,LayoutLM 系列,尤其是 LayoutLMv2 模型,与纯文本基线相比带来了显着的性能改进。
四个实体提取任务的实体级 F1 分数:FUNSD、CORD、SROIE 和 Kleister-NDA。每个任务的详细结果见附录。
与基线相比,LayoutLMv2 模型优于 SPADE 解码器方法,以及基于 SPADE 解码器构建的文本+布局预训练方法 BROS,这证明了我们建模方法的有效性。此外,在相同的模态信息下,我们的 LayoutLMv2 模型也优于现有的多模态方法 PICK、TRIE 以及之前排行榜上的 top1 方法,证实了我们对文本、布局和视觉信息的预训练。 LayoutLMv2LARGE 在所有四个数据集上都取得了最佳性能,这说明 LayoutLMv2 中的多模态预训练可以更好地从不同模态的交互中学习,从而在各种文档理解任务上实现新的 SOTA。Results - ICDAR 2019 Robust Reading Challenge on Scanned Receipts OCR and Information Extraction - Robust Reading Competition (uab.es)
RVL-CDIP :下表显示了 RVL-CDIP 数据集上的分类准确性,包括纯文本预训练模型、LayoutLM 系列以及几个基于图像的基线模型。如表所示,文本和视觉信息对于文档图像分类任务都很重要,因为文档图像是文本密集型的并且由各种布局和格式表示。因此,我们观察到 LayoutLM 系列优于那些纯文本或纯图像模型,因为它利用了文档中的多模式信息。具体来说,LayoutLMv2LARGE模型的分类精度比之前的SOTA结果显着提高了1.2%以上,达到了95.64%的准确率。这也验证了预训练的LayoutLMv2模型不仅有利于文档理解中的信息提取任务,而且通过有效的多模型训练也有利于文档图像分类任务。
RVL-CDIP 数据集的分类精度
DocVQA :下表列出了 DocVQA 数据集上纯文本基线、LayoutLM 系列模型以及排行榜上前一名的平均标准化 Levenshtein 相似度 (ANLS) 分数。通过多模态预训练,在训练集上进行微调时,LayoutLMv2 模型的性能大幅优于 LayoutLM 模型和纯文本基线。通过使用所有数据(train + dev)作为微调数据集,LayoutLMv2LARGE单个模型的表现优于之前集成30个模型的排行榜上的前1名。在问题生成数据集(QG)上微调LayoutLMv2LARGE的设置下先后在DocVQA数据集和DocVQA数据集上,单模型性能提升超过1.6% ANLS,达到新的SOTA Results - Document Visual Question Answering - Robust Reading Competition (uab.es)
DocVQA 数据集上的 ANLS 分数,“QG”表示问题生成数据集的数据增强。
为了充分了解不同组件的潜在影响,我们进行了消融研究,以探索视觉信息、预训练任务、空间感知自注意力机制以及不同文本端初始化模型的影响。下表显示了 DocVQA 验证集上的模型性能。在所有设置下,我们使用一个时期的所有 IIT-CDIP 数据对模型进行预训练。超参数与 3.2 节中用于预训练 LayoutLMv2BASE 的参数相同。“LayoutLM”表示中的普通 LayoutLM 架构,它可以被视为没有视觉模块和空间感知自注意力机制的 LayoutLMv2 架构。“X101-FPN”表示第 3.2 节中描述的 ResNeXt101-FPN 视觉主干。
对 DocVQA 数据集的消融研究,其中报告了验证集上的 ANLS 分数。 “SASAM”是指空间感知的自注意力机制。 “MVLM”、“TIA”和“TIM”是三个预训练任务。所有模型均使用 BASE 模型大小的一个 epoch 的整个预训练数据集进行训练。
我们首先评估引入视觉信息的效果。从#1到#2a,我们在不改变预训练策略的情况下添加了视觉模块,结果表明仅使用MVLM预训练的LayoutLMv2可以有效地利用视觉信息。然后,我们比较了两个跨模态对齐预训练任务 TIA 和 TIM。根据 #2 中的四个结果,这两项任务都显着提高了模型性能,并且所提出的 TIA 比常用的 TIM 对模型更有好处。一起使用这两项任务比单独使用其中一项任务更有效。根据这一观察,我们保留所有三个预训练任务,并将空间感知自注意力机制(SASAM)引入模型架构中。比较结果#2d 和#3,提出的 SASAM 可以进一步提高模型精度。最后,在设置 #3 和 #4 中,我们将文本端初始化检查点从 BERT 更改为 UniLMv2,并确认 LayoutLMv2 从更好的初始化中受益。
近年来,预训练技术在 NLP 和 CV 领域变得流行,并且也在 VrDU 任务中得到了利用。Devlin 等人引入了一种名为 BERT 的新语言表示模型,该模型旨在通过联合调节所有层中的左右上下文来预训练未标记文本的深度双向表示。 Bao 等人提出使用一种新颖的训练程序(称为伪掩码语言模型)来预训练用于自编码和部分自回归语言建模任务的统一语言模型。我们的多模式 Transformer 架构和 MVLM 预训练策略扩展了这些工作中使用的 Transformer 和 MLM,以利用视觉信息。
Lu 等人 通过将流行的 BERT 架构扩展到多模态双流模型,提出了 ViLBERT,用于学习图像内容和自然语言的任务无关联合表示。 Su等人提出了VL-BERT,采用Transformer模型作为主干,并将其扩展为以视觉和语言嵌入特征作为输入。与这些视觉语言预训练方法不同,LayoutLMv2的视觉部分直接使用特征图而不是池化的ROI特征,并受益于新的TIA预训练任务。
Xu等人提出了LayoutLM来联合建模扫描文档图像中文本和布局信息之间的交互,这有利于大量现实世界文档图像理解任务,例如从扫描文档中提取信息。这项工作是 vanilla LayoutLM 的自然扩展,它在单个多模式预训练框架中利用文本、布局和视觉信息。
数据集和任务定义的介绍以及所需数据处理的描述如下。
预训练数据集: 在 LayoutLM 之后,我们在 IIT-CDIP 测试集上预训练 LayoutLMv2,其中包含超过 1100 万个扫描文档页面。我们使用 Microsoft Read API 从文档页面图像中提取文本和相应的字级边界框。OCR - Optical Character Recognition - Azure AI services | Microsoft Learn
FUNSD: FUNSD是一个用于在嘈杂的扫描文档中进行形式理解的数据集。它包含 199 个真实的、完全注释的扫描表单,其中 31,485 个单词上方注释了 9,707 个语义实体。 199 个样本分为 149 个用于训练,50 个用于测试。官方OCR标注直接与布局信息一起使用。 FUNSD 数据集适用于各种任务,本文重点关注语义实体标记。具体来说,该任务为每个单词分配来自四个预定义类别的语义实体标签:问题、答案、标题或其他。采用实体级F1分数作为评价指标。
CORD 我们还在收据关键信息提取数据集(即 CORD 的公共可用子集)上评估我们的模型。该数据集包括 800 个训练集收据、100 个验证集收据和 100 个测试集收据。每张收据均配有照片和 OCR 注释列表。每张照片都会提供包含收据区域的 ROI,因为背景中可能存在不相关的事物。我们只使用 ROI 作为输入,而不是原始照片。该数据集定义了 4 个类别下的 30 个字段,任务旨在将每个单词标记到正确的字段。评价指标为实体级F1。我们使用官方 OCR 注释。
SROIE: SROIE 数据集(任务 3)旨在从扫描收据中提取信息。数据集中有 626 个训练样本和 347 个测试样本。任务是从每张收据中提取最多四个预定义键的值:公司、日期、地址或总计。评价指标为实体级F1。我们使用官方OCR注释,测试集上的结果由官方评估网站提供。
Kleister-NDA: Kleister-NDA 包含从 EDGAR 数据库收集的保密协议,包括 254 个用于训练的文档、83 个用于验证的文档和 203 个用于测试的文档。该任务被定义为提取四个固定键的值。我们从官方评估工具中获得实体级F1分数。从原始PDF文件中提取5个单词和边界框。我们使用启发式方法来定位实体跨度,因为规范化的标准答案可能不会出现在话语中。由于标记的答案被标准化为规范形式,我们应用后处理启发式方法将提取的日期信息转换为“YYYY MM-DD”格式,并将公司名称转换为缩写,例如“LLC”和“Inc.”。Filip Graliński / geval · GitLab
RVL-CDIP: RVL-CDIP由 400,000 张灰度图像组成,训练集、验证集和测试集的比例为 8:1:1。 RVL-CDIP 上定义了多类单标签分类任务。这些图像分为 16 个类别,每个类别有 25,000 张图像。评价指标是总体分类准确率。文本和布局信息由 Microsoft OCR 提取。
DocVQA 作为文档理解领域的 VQA 数据集,DocVQA由来自各种文档的 12,000 多个页面上定义的 50,000 个问题组成。页面被分为训练集、验证集和测试集,比例约为 8:1:1。该数据集被组织为一组三元组页面图像、问题、答案。因此,我们使用 Microsoft Read API 从图像中提取文本和边界框。启发式方法用于在提取的文本中查找给定的答案。该任务使用基于编辑距离的度量 ANLS(又名平均标准化 Levenshtein 相似度)进行评估。鉴于人类在测试集上的 ANLS 表现约为 98%,可以合理地假设在训练和验证集上达到超过 97% ANLS 的地面事实足以训练模型。测试集的结果由官方评估网站提供。
预训练:我们使用 Adam 优化器预训练 LayoutLMv2 模型,学习率为 2 × 10−5,权重衰减为 1 × 10−2,并且(β1, β2) = (0.9, 0.999)。学习率在前 10% 的步骤中线性升温,然后线性衰减。在 IIT-CDIP 数据集上,LayoutLMv2BASE 使用批量大小 64 进行 5 个 epoch 的训练,LayoutLMv2LARGE 在 IIT-CDIP 数据集上使用批量大小 2048 进行 20 个周期的训练。
视觉问答的微调我们将 DocVQA 视为提取式 QA 任务,并在 LayoutLMv2 输出表示的文本部分之上构建令牌级分类器。问题标记、上下文标记和视觉标记分别分配给片段 [A]、[B] 和 [C]。最大序列长度设置为 L = 384。
文档图像分类的微调:该任务依赖于高级视觉信息,因此我们在微调阶段明确地利用图像特征。我们将视觉嵌入池化为全局预编码器特征,并将 LayoutLMv2 输出表示的视觉部分池化为全局后编码器特征。编码器前后的特征以及 [CLS] 输出特征被连接起来并输入到最终的分类层中。
顺序标记的微调我们将 FUNSD、SROIE、CORD 和 Kleister-NDA 形式化为顺序标记任务。为了在这些任务上微调 LayoutLMv2 模型,我们在输出表示的文本部分之上构建了一个 token level 分类层,以预测每个实体字段的 BIO 标签。
表列出了四个实体提取任务的每个任务的详细结果,
FUNSD 数据集上的模型准确性(实体级精度、召回率、F1)
CORD 数据集上的模型准确性(实体级精度、召回率、F1)
SROIE 数据集上的模型准确性(实体级精度、召回率、F1)(截至 2020 年 12 月 24 日)
使用官方评估工具包在 Kleister-NDA 数据集验证集上的模型准确性(实体级 F1)
直接使用SER,获取关键信息的类别:如身份证场景中,将“姓名“与”张三“分别标记为name_key
与name_value
。最终识别得到的类别为name_value
对应的文本字段即为我们所需要的关键信息。
标注过程中,对于无关于KIE关键信息的文本内容,均需要将其标注为other
类别,相当于背景信息。如在身份证场景中,如果我们不关注性别信息,那么可以将“性别”与“男”这2个字段的类别均标注为other
。标注过程中,需要以文本行为单位进行标注,无需标注单个字符的位置信息。数据量方面,一般来说,对于比较固定的场景,50张左右的训练图片即可达到可以接受的效果,可以使用PPOCRLabel完成KIE的标注过程。模型方面,推荐使用PP-Structurev2中提出的VI-LayoutXLM模型,它基于LayoutXLM模型进行改进,去除其中的视觉特征提取模块,在精度基本无损的情况下,进一步提升了模型推理速度。
联合SER与RE进行使用:这种方法中,首先使用SER,获取图像文字内容中所有的key与value,然后使用RE方法,对所有的key与value进行配对,找到映射关系,从而完成关键信息的抽取。SER阶段主要用于识别出文档图像中的所有key与value,RE阶段主要用于对所有的key与value进行匹配。
以身份证场景为例, 关键信息一般包含姓名
、性别
、民族
等关键信息,在SER阶段,我们需要识别所有的question (key) 与answer (value) 。标注如下所示。每个字段的类别信息(label
字段)可以是question、answer或者other(与待抽取的关键信息无关的字段)
每个文本行字段中,需要添加id
与linking
字段信息,id
记录该文本行的唯一标识,同一张图片中的不同文本内容不能重复,linking
是一个列表,记录了不同文本之间的连接信息。如字段“出生”的id为0,字段“1996年1月11日”的id为1,那么它们均有[[0, 1]]的linking
标注,表示该id=0与id=1的字段构成key-value的关系(姓名、性别等字段类似)。标注过程中,如果value是多个字符,那么linking中可以新增一个key-value对,如[[0, 1], [0, 2]]
SER任务;语义实体识别 (Semantic Entity Recognition)
RE任务;关系抽取 (Relation Extraction)
NER 是 NLP 中的一项基础有很重要的任务,正所谓流水的NLP,铁打的NER。NER(实体识别任务)指的是识别出文本中的具有特定意义的短语或词。实体可以是单个词,甚至可以是指代同一类别的一组词,通常包括人名、地名、组织名、机构名和时间等。
B,即Begin,表示开始
I, 即Intermediate,表示中间
E,即End,表示结尾
S,即Single,表示单个字符
O,即Other,表示其他,用于标记无关字符
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。