本篇学习报告基于2020 KDD(Knowledge Discovery and Data Mining, CCF A类会议)的论文:《LayoutLM: Pre-training of Text and Layout for Document Image Understanding》,该论文由微软自然语言计算组提出。
智能文档(Document AI / Document Intelligence)是一个近年来相对较新的研究主题,涉及自动阅读、理解和分析业务文档的技术。 在商业场景中,文件对公司的效率和生产力至关重要,它们是提供与公司内部和外部交易相关的详细信息的文件。这些文档可能是自动生成的,以电子文件的形式出现,或者来自书面或打印在纸上的扫描形式。商业文档的类型多种多样,常见示例包括采购订单、财务报告、商业电子邮件、销售协议、供应商合同、信件、发票、收据、简历等等(部分样例如图1)。商业文档的共同点在于它们都以自然语言的形式呈现,并且可以通过纯文本、多列布局和各种表格/表格/图形等多种方式进行组织。然而,由于布局和格式的多样性、文档图像质量的参差不齐以及模板结构的复杂性,理解商业文档直到现在仍然是一项非常具有挑战性的任务。
图1 商业文档部分示例
目前,许多公司仍然是通过手动设计特定规则的方式从文档中提取数据,这种方法既耗时又昂贵。并且随着文档格式的更新,基于特定规则建模的方法效果会大大下降甚至不起作用。 为了解决这些问题,智能文档模型和算法旨在从商业文档中自动分类、提取和结构化信息,加速自动化文档处理工作流程。从计算机视觉或自然语言处理的角度来看,当前主流的智能文档方法要么基于单一模态深度学习网络模型,或者进行多模态的简单组合。尽管已经有一些模型在智能文档领域取得了重大进展,但这些方法中的大多数都面临两个局限性:(1)它们依赖于少数人工标记的训练样本,而没有充分探索使用大规模未标记训练的可能性。 (2) 他们通常利用预训练的 CV 模型或 NLP 模型,但不考虑文本和布局信息的联合训练。因此,如何在智能文档领域探究文本和布局的自监督预训练具有极高的研究和应用价值。
针对智能文档现阶段存在的一些问题,微软团队提出了 LayoutLM [1],这是一种简单而有效的文本和布局预训练方法,用于文档图像理解任务。 受 BERT 模型 [2] 融合文本嵌入(text embeddings)和位置嵌入(position embeddings)作为输入表示的启发,LayoutLM 新增了两种类型的输入嵌入:(1)二维位置嵌入(2D position embedding),表示 token(此任务中是指分词)在文档中的相对位置; (2) token 在文档中的图像嵌入(image embedding)。 LayoutLM 的架构如图2所示。 添加这两个输入嵌入是因为二维位置嵌入可以捕获文档中 token 之间的关系,同时图像嵌入可以捕获一些外观特征,例如字体方向、类型和颜色。 此外,针对LayoutLM 特点,该论文采用了多任务学习目标,包括遮罩式视觉语言模型 (Masked Visual-Language Model,MVLM) 损失和多标签文档分类 (Multi-label Document Classification,MDC) 损失,进一步加强了文本和布局的联合预训练。
图2 LayoutLM 结构示意图
该论文的贡献总结如下:(1)首次在单一框架中对来自扫描文档图像的文本和布局信息进行预训练,同时融合了图像特征最后达到了 state-of-the-art 的结果;(2)LayoutLM 使用遮罩式视觉语言模型和多标签文档分类作为训练目标,在文档图像理解任务中明显优于几个 SOTA 预训练模型;代码和预训练模型可在 https://aka.ms/layoutlm 上公开获取,用于更多下游任务。
尽管类 BERT 模型在多项具有挑战性的 NLP 任务中达到了最优的结果,但它们通常仅利用输入中的文本信息。 当涉及到蕴含丰富视觉信息的文档数据时,可以将更多信息编码到预训练模型中。因此,该论文利用文档布局中视觉上丰富的信息并将它们与输入文本对齐。进而显著优化富文档中的语言表示:
文档布局信息(Document Layout Information)。 很明显,文档中单词的相对位置对语义表示有很大贡献。 以表单理解为例,给定表单中的一个关键词(例如“Passport ID:”),其对应的值更有可能在其右侧或下方,而不是左侧或上方。因此,可以将这些相对位置信息嵌入为二维位置表示。 基于 Transformer 中的 self-attention 机制,将二维位置特征嵌入到语言表示中可以更好地将布局信息与语义表示对齐。
视觉信息(Visual Information)。与文本信息相比,视觉信息是文档表示中另一个重要的特征。 通常,文档包含一些视觉信号以显示文档段的重要性和优先级。视觉信息可以由图像特征表示并有效地用于文档表示。 对于文档级视觉特征,整幅图像可以指示文档布局,这是文档图像分类的基本特征。 对于词级视觉特征,粗体、下划线和斜体等样式也是序列标注任务的重要提示。 因此,可以认为将图像特征与传统文本表示相结合能为文档带来更丰富的语义表示。
为了利用现有的预训练模型并适应文档图像理解任务,文中使用 BERT 架构作为主干并添加两个新的输入嵌入:二维位置嵌入和图像嵌入。
二维位置嵌入。根据 OCR 获得的文本 Bounding Box,可以能获取文本在文档中的具体位置。将对应坐标转化为虚拟坐标之后,计算该坐标对应在 x、y、w、h 四个嵌入子层的表示,最终的二维位置嵌入为四个子层的嵌入之和。
图像嵌入。文中将每个文本相应的 Bounding Box 当作 Faster R-CNN 中的候选框(Proposal),从而提取对应的局部特征。特殊地,由于 [CLS] 符号用于表示整个输入文本的语义,同样使用整张文档图像作为该位置的图像嵌入,从而保持模态对齐。
任务1:遮罩式视觉语言模型。大量实验已经证明 MVLM 能够在预训练阶段有效地进行自监督学习。该论文在此基础上进行了修改:在遮盖(Mask)当前词之后,保留对应的二维位置嵌入暗示,让模型预测对应的词。在这种方法下,模型根据已有的上下文和对应的视觉暗示预测被遮罩的词,从而让模型更好地学习文本位置和文本语义的模态对齐关系。
任务2:多标签文档分类。MVLM 能够有效的表示词级别的信息,但是对于文档级的表示,需要文档级的预训练任务来引入更高层的语义信息。在预训练阶段该论文使用的 IIT-CDIP 数据集[3]为每个文档提供了多标签的文档类型标注,同时引入多标签文档分类任务。该任务使得模型可以利用这些监督信号去聚合相应的文档类别,并捕捉文档类型信息,从而获得更有效的高层语义表示。
预训练模型的性能很大程度上取决于数据集的规模和质量。 因此,该论文采用一个大规模的扫描文档图像数据集来预训练 LayoutLM 模型。模型在 IIT-CDIP 测试集 1.0 上进行了预训练,其中包含超过 600 万个文档,以及超过 1100 万个扫描文档图像。 此外,每个文档都有其对应的文本和元数据存储在 XML 文件中。文本是通过将 OCR 应用于文档图像而产生的内容。元数据描述了文档的属性,例如唯一标识和文档标签。 尽管元数据包含错误和不一致的标签,但这个大规模数据集中的扫描文档图像非常适合对模型进行预训练。
该论文选择三个基准数据集作为下游任务来评估预训练的 LayoutLM 模型的性能。 第一个是用于空间布局分析和表单理解的 FUNSD 数据集 [4]。第二个是用于扫描小票/收据信息提取的 SROIE 数据集 [5]。 第三个是用于文档图像分类的 RVL-CDIP 数据集 [6],它由 16 个类别的 400,000 张灰度图像组成。
为了利用每个文档的布局信息,需要获取每个token的位置。 但是,预训练数据集(IIT-CDIP 测试集)仅包含纯文本,而缺少相应的边界框。 在这种情况下,需要重新处理扫描的文档图像以获得必要的布局信息。与 IIT-CDIP 测试集中的原始预处理一样,该论文采用的是开源 OCR 引擎 Tesseract6 [7]应用于文档图像来类似地处理数据集,但 不同之处在于可以同时获得识别的token及其在文档图像中的对应位置。OCR 结果通过标准的 hOCR 格式进行存储。
通过千万文档量级的预训练并在下游任务微调,文章在测试的三个不同类型的下游任务中都取得了目前的最佳成绩:在 FUNSD 数据集上将表单理解的 F1 值从70.72提高至79.2;将 ICDAR 2019 票据理解 SROIE 比赛中的第一名成绩94.02提高至95.24;在 RVL-CDIP 文档图像分类数据集上将目前的最好结果93.07提高至94.42。
表单理解(Form Understanding)。在表单理解任务上,文章使用 FUNSD 作为测试数据集,该数据集中的199个标注文档包含31,485个词和9,707个语义实体。在该数据集上,需要对数据集中的表单进行键值对(key-value)抽取。通过引入位置信息的预训练,提出的模型在该任务上取得了显著的提升。实验结果表1所示。
表1:LayoutLM 在 FUNSD 数据集上的实验结果
票据理解(Receipt Understanding)。在票据理解任务中,文章选择 SROIE 测评比赛作为测试。SROIE 票据理解包含1000张已标注的票据,每张票据标注了店铺名、店铺地址、总价、消费时间四个语义实体。通过在该数据集上微调,模型在 SROIE 测评中,F1 值高出第一名(2019)1.2个百分点,达到95.24%。
表2:LayoutLM 在 SROIE 测评上的实验结果
文档图像分类(Document Image Classification)。对于文档图像分类任务,文章选择 RVL-CDIP 数据集进行测试。RVL-CDIP 数据集包含16类总记40万个文档,每一类都包含25,000个文档数据。模型在该数据集上微调之后将分类准确率提高了1.35个百分点,达到了94.42%。
表3:LayoutLM 在 RVL-CDIP 数据集上的实验结果
该论文提出了 LayoutLM,这是一种简单而有效的预训练技术,在单个框架中包含文本和布局信息。 LayoutLM 以 Transformer 架构为骨干,利用多模态输入,包括 token 嵌入、布局嵌入和图像嵌入。同时,该模型可以基于大规模未标记的扫描文档图像以自我监督的方式轻松训练。文章在三个任务上评估 LayoutLM 模型:表单理解、收据理解和扫描文档图像分类。 实验表明,LayoutLM 在这些任务中大大优于几个 SOTA 预训练模型。
对于未来的研究,文章团队将研究具有更多数据和更多计算资源的预训练模型,还将使用带有文本和布局的 LARGE 架构训练 LayoutLM,并在预训练步骤中涉及图像嵌入。 此外,文章团队还会探索新的网络架构和其他自我监督的训练目标,以进一步释放 LayoutLM 的力量。
1. 微软团队的这篇文章主要围绕商业文档的理解开展了相关的研究工作。在实际的需求中,文档的类型更加多种多样,像试卷、扫描证件等也可被认为是一种特殊的文档,因此现实生产环境对于这方面业务的需求特别大。然而,正如该论文提及该领域存在的各种各样难题的存在,目前并没有特别好的方法能够高效地从文档中提取到用户所需要的数据。所以在近几年,国内外的头部公司都在陆续地开展相关的研究以争夺这块大蛋糕。
2. 从方法的角度来看,该论文的思想其实是非常简洁的,归根到底就是将文本、其在图像中的相对位置以及对应图像做一个硬对齐,再通过“大力出奇迹”的方式实现了SOTA的效果。值得学习的是,论文并未直接暴力的构造网络然后从头训练,而是借鉴了BERT的思路,用自监督的方式在BERT的基础上训练了通用的模型,省了标注和各任务单独训练的时间和资源成本。
3. 但真实的运行效果并非像论文中说的那么理想。一方面,该论文没有做消融实验,并无法说明其中的二维位置嵌入以及图像嵌入是哪个对最终效果贡献更大。而在文档分类复现过程中,在不引入图像嵌入的基础,二维位置嵌入帮了倒忙,即对于该任务实质上就是文本跟图像的一个融合,训练的模型其实并未很好地理解文档中各个token位置的概念;另一方面,这种强硬的对齐方式,需要做大量的预处理工作,甚至会直接影响预训练以及下游任务的效果,且对于算力的要求极高。
4. 这篇文章开启了在文档理解含先验知识(位置等)的多模态文本和图像信息的融合,在其后续改进版本中LayoutLM 2.0 [8]、LayoutXLM [9]也证实了这种方式的有效性,这种改进思路在不同领域也值得学习。
参考文献:
[1] Xu Y, Li M, Cui L, et al. Layoutlm: Pre-training of text and layout for document image understanding[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 1192-1200.
[2] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:1810.04805, 2018.
[3] D. Lewis, G. Agam, S. Argamon, O. Frieder, D. Grossman, and J. Heard. 2006. Building a Test Collection for Complex Document Information Processing. In Proceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (Seattle, Washington, USA) (SIGIR ’06). ACM, New York, NY, USA, 665–666.
[4] Guillaume Jaume, Hazim Kemal Ekenel, and Jean-Philippe Thiran. 2019. FUNSD: A Dataset for Form Understanding in Noisy Scanned Documents. 2019 International Conference on Document Analysis and Recognition Workshops (ICDARW) 2 (2019), 1–6.
[5] https://rrc.cvc.uab.es/?ch=13
[6] Adam W. Harley, Alex Ufkes, and Konstantinos G. Derpanis. 2015. Evaluation of deep convolutional nets for document image classification and retrieval. 2015 13th International Conference on Document Analysis and Recognition (ICDAR) (2015), 991–995.
[7] https://github.com/tesseract-ocr/tesseract
[8] Xu Y, Xu Y, Lv T, et al. LayoutLMv2: Multi-modal pre-training for visually-rich document understanding[J]. arXiv preprint arXiv:2012.14740, 2020.
[9] Xu Y, Lv T, Cui L, et al. LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding[J]. arXiv preprint arXiv:2104.08836, 2021.
[10] https://www.msra.cn/zh-cn/news/features/layoutlm
撰稿人:廖嘉城
审稿人:梁艳