基于深度学习的视觉文档信息抽取研究综述

2023-02-04 08:22吴泊心仲国强马龙龙
中文信息学报 2023年12期
关键词:文档实体模态

吴泊心,仲国强,马龙龙

(1. 中国海洋大学 信息科学与工程学部,山东 青岛 266400;2. 中国科学院软件研究所 中文信息处理实验室,北京 100190)

0 引言

在人类社会的发展中,文字是表达信息的重要方式,而文档是传递和组织这些文字信息的重要载体。视觉文档则是一种赋予文字更多视觉和结构特征的文档,通过设置文字版式、页面排版等方式,突出其中的关键信息及联系。在商业、教育、医疗等领域,视觉文档广泛存在,例如,收据、发票、合同、试卷、诊单等,具有重要的业务价值。在处理这些视觉文档时,需要从中提取指定的关键信息,过去信息提取工作往往采用人工的方式完成,不仅耗时而且昂贵。随着时代的发展,人们需要更加智能、高效的方法。

视觉文档一般被认为具有三种模态信息: 文本、布局和视觉图像。文本信息表示文本的语言含义,布局信息表示文本的空间位置和文档布局结构,视觉图像信息如文本的颜色、字体、背景、标注等。在研究和应用中,视觉文档常以扫描图像和照片的形式出现,如图1所示,一般具有以下特点: ①丰富的文本样式,如不同的大小、字体和颜色,印刷或手写格式等; ②多种文档组件,由文本、表格、图像和印章等内容组成; ③多样文档结构,通过对齐、留白、分割线等形成特定结构; ④复杂图像背景,可能含有褶皱或涂改痕迹,另外在拍摄、扫描获得图像时常引入光照、角度等干扰。在视觉文档信息抽取商业应用中,以上这些因素带来了巨大挑战,并使其成为结合计算机视觉和自然语言处理多领域的多模态任务,吸引着各大科技公司和高校深入研究。

图1 视觉文档样例: 表格、发票和收据

简言之,视觉文档信息抽取(Visual Document Information Extraction,VDIE)是指从大量具有丰富视觉信息的文档内容中抽取实体及其关系的技术[1]。与传统的信息抽取[2](Information Extraction,IE)相比,IE以文字序列为输入,只需考虑文本模态信息;而VDIE则以视觉文档为输入,需综合考虑多模态信息。21世纪初,视觉文档信息抽取方法主要基于模板和机器学习,应用于发票和收据等方面[3-7],但效果欠佳。随着深度学习技术的成熟和突破,近五年文档信息抽取技术发展迅速,基于深度学习的视觉文档信息抽取方法涌现,而且具有以下优点: ①准确率高,满足商业应用要求; ②适应性好,可以处理多种类型的文档; ③学习能力强,能够自动提取多模态特征以提升信息抽取的性能; ④拓展性强,能够通过增加数据量和模型规模进一步提高方法的性能。基于深度学习的方法,通常使用计算机视觉中的卷积神经网络(Convolutional Neural Network,CNN)提取视觉文档的图像特征,使用自然语言处理中长短时记忆网络(Long Short Term Memory,LSTM)等循环神经网络(Recurrent Neural Network,RNN)学习文本语言中的上下文信息[8-9],使用注意力机制网络[10]挖掘多模态信息之间的深层联系。

最近几年,预训练技术[11-12]在深度学习领域的广泛应用,同样对文档领域产生了深刻影响。研究人员利用海量堆积的无标记视觉文档,通过自监督的预训练方式学习、理解其中的先验知识,并在有标注的数据集上进行有监督学习的微调训练以提升下游任务的性能。该方法的代表作LayoutLM[13]在视觉文档信息抽取以及文档分类、版面分析等多个下游任务上表现优异,并启发了许多后续研究。

综上,基于深度学习的方法可以大致分为两类: 一类是基于有监督学习的方法,在标注数据集上进行训练和测试,主要包括基于网格的方法、基于图的方法和端到端方法;另一类是日渐成为主流的基于自监督预训练和有监督微调的方法,对大规模无标记数据集进行自监督预训练并在下游标注数据集上进行有监督微调。

本文接下从以下几方面介绍该领域的发展。

第1节介绍基于有监督学习的方法,包括基于网格的方法、基于图的方法和端到端方法。第2节分析基于自监督预训练和有监督微调的方法,介绍其中的四个方面: 多模态信息获取与编码、预训练模型、自监督预训练,以及视觉文档信息抽取的有监督微调。第3节介绍视觉文档信息抽取领域常用的一些公开数据集和评价指标。

最后总结并展望该领域未来可能的研究方向。

1 基于有监督学习的方法

有监督学习指深度学习模型在人工标注的数据样本上进行优化训练,是深度学习长期以来的一种主流方法。基于有监督学习的视觉文档信息抽取方法,主要有基于网格的方法、基于图的方法和端到端方法。

1.1 基于网格的方法

根据视觉文档的二维平面特性,有研究者提出网格(Grid)的概念,将文档抽象为二维棋盘结构,将相应位置文本的语言特征填充到格子中,使其不仅在整体上保留了文本单元间的相对空间关系,而且在局部上增强了网格元素的语义特征。

Chargrid[14]最早应用了网格特征图的概念,通过光学字符识别(Optical Character Recognition,OCR)获得字符和文本框信息,使用像素大小作为网格尺寸,将字符的独热编码填入文本框区域网格中,构建Chargrid特征图。该方法使用如图2所示的编码器/解码器网络学习Chargrid特征图,以语义分割的方式抽取特定信息。该网络具有两个相同结构的解码器,其中一个解码器负责完成语义分割任务,另一个解码器则学习文本框信息协助编码器。为提升Chargrid特征图的语义分割效果,Dang等人[15]设计了多层UNet编码器/解码器,结合注意力机制,以更少的参数量达到了更好效果,同时证明了Chargrid特征图的有效性。

图2 Chargrid[14]方法概述图

研究者认为增强网格元素的语义特征,有助于提升网格特征图的表征能力。在后续工作中,Wordgrid[16]使用了词特征嵌入,BERTgrid[17]通过BERT模型在大量收据文本上进行预训练,进一步获得并使用含有上下文信息的词嵌入特征。Cutie[18]降低了网格特征图的复杂度,不再使用像素作为网格单元,而是将粗粒度的文本块(Segment)映射到网格中。这些增强网格语义特征的方法,都取得了性能上的提升。

为进一步融合视觉图像信息,Visual-WordGrid[19]首次将图像信息和网格特征结合,比WordGrid[16]具有一定性能提升。ViBERTgrid[20]则采用端到端的方式,将生成特征图和信息抽取两个步骤做联合训练以优化模型,降低了传统方法的误差积累;并在推理阶段,不再以语义分割为信息抽取方法,而是直接根据特征图区域解码特征和词嵌入进行词性分类,大幅提高了基于网格方法的性能。

基于网格的方法更多地从计算机视觉的角度,将深度学习技术应用于视觉文档信息抽取,以二维平面形式对视觉文档及其多模态信息进行建模,面对多种不同版式视觉文档的应用场景,比以往基于规则和机器学习的方法具有更强的处理能力。

1.2 基于图的方法

基于图(graph)的方法[21-27]对视觉文档构建图表征,通过图卷积网络(Graph Convolutional Network,GCN)更新图嵌入信息。图表征由节点(Node)和边缘(Edge)组成,节点含有文本等模态信息,边缘一般由布局位置信息确定并表示节点之间的连通性和权重。

如图3(a)所示,Liu等人[22]通过文档图对文本及其空间布局关系进行建模。它首先以文本块(Segment)为单位初始化图节点信息,以文本框大小距离初始化图边缘信息,然后如图3(c)所示以节点-边缘-节点三元组为图卷积单元,着重更新交换相邻节点间的文本信息。最后,如图3(b)所示,将图嵌入和文本嵌入拼接作为BiLSTM-CRF[28]提取器的输入,通过BIO格式[29]抽取关键信息。其中BIO是一种常见的序列标注格式,指Beginning-Inside-Outside,其将组成实体的多个词,分别打上B、I、O不同的标记。Liu等人[22]通过实验证明了图结构对文本和布局信息表征的有效性,启发了后续工作。

图3 基于图的方法: Liu等人[22]方法概述图

现实中,视觉文档往往具有多层结构关系,传统的BIO序列标记的信息抽取方式并不能很好地处理这种层次关系。SPADE[24]使用实体间的关系矩阵表示多层实体关系。它首先将实体信息融入文档图表征,同时建立实体节点和文本节点间的序列和层次两种边缘关系类型,再通过解码函数将关系矩阵转换为结构化json文本来获得实体信息,有效处理了文本间的层次关系。

PICK[25]在Liu等人[22]的工作基础上,在初始化文档图节点时加入了视觉图像信息,将文本嵌入与对应区域的视觉图像嵌入相加。通过实验,PICK[25]取得了比LayoutLM[13]更好的效果,说明视觉信息能增强文档图结构的表征能力。

在发票、收据等半结构化视觉文档中,往往具有明显的键值关系。MatchVIE[26]希望通过这种键值关系来辅助纠正序列中的错误标记。该方法一方面根据图表征模块预测文档内容中的键值关系,另一方面通过序列标记模块预测实体信息,最终以键值关系中的值辅助纠正最终的实体信息。MatchVIE[26]充分利用了结构化视觉文档中的特点,与图表征结合,提升了实体信息抽取的精度。

基于图的方法能充分利用视觉文档中的文本和空间信息对文本信息建模,通过图卷积进行局部和全局信息的交流,更加便于实体信息的预测;同时也需要更仔细地考虑文档图的定义、节点和边缘的初始化,图卷积学习过程以及如何使用学习后的图嵌入优化信息抽取的效果等多个问题。

1.3 端到端方法

大部分基于深度学习的视觉文档信息抽取方法,需要先使用OCR获得文本序列和文本框信息。端到端方法[30-34]则跳过这一步骤,直接以视觉文档图像为输入,输出实体信息,减少任务多个步骤导致的误差积累。

EATEN[30]较早尝试了以端到端的方式完成信息抽取,将CNN网络提取的文档视觉特征分别输入到多个RNN解码器。每个解码器将根据图像标记检测、识别和输出特定类型的实体信息。但该工作没有利用文档中包含的文本语义,模型方法存在改进的空间。

TRIE[31]则提出了一个统一的文本阅读和信息抽取的网络,如图4所示。可以看出,该模型主要具有三个模块,文本阅读模块负责检测、识别文本并获得文本、视觉和布局特征,多模态上下文模块通过注意力机制融合多个模态特征为多模态特征,信息抽取模块则结合多模态特征与文本特征进行序列标记,获得最终实体信息。其中,TRIE将文本阅读模块和信息抽取模块联合训练,使之相互增强,并以多模态上下文模块衔接二者。实验表明,端到端的联合训练一方面对信息抽取性能有明显提升,另一方面信息抽取的速度也获得了大幅领先,证明了TRIE端到端方法的有效性和实用性。

图4 端到端方法: TRIE[31]概述图

VIES[32]同样采取联合训练文本检测识别模块和信息抽取模块的方式,不过同时学习了词和字符两种级别的布局、文本、视觉信息,不仅丰富了多模态嵌入的信息,而且降低了单侧文本识别错误的影响,提升了信息抽取模块的精度并反馈增强了文本检测识别的性能。在实验中,VIES在文本检测、文本识别和信息抽取多个环节上的表现都优于TRIE[31],提高了端到端方法中的准确率、鲁棒性和对复杂视觉文档的处理能力。

1.4 小结

图5描述了三种方法的主要特点,从左到右来看,基于端到端学习的方法直接使用原始文档图像作为输入,基于图的方法和基于网格的方法则对文档多模态输入构建不同的表征,一般通过序列标注和语义分割等方式完成实体信息的抽取。三种方法均以有监督学习的方式,将深度学习用于视觉文档的信息抽取,比传统的基于规则的方法和机器学习的方法,对标记数据的学习能力更强,性能更好,鲁棒性更强,能更高效地处理多种类型的文档。

图5 基于有监督学习的方法框架图

2 基于自监督预训练和有监督微调的方法

BERT[11]使用预训练技术,在多个自然语言处理任务上同时取得大幅性能提升,证明了预训练技术的有效性,使预训练技术在多个领域流行起来。BERT的成功得益于大量数据、注意力机制模型、自监督预训练,以及有监督微调,大量文本数据提供了丰富的语义、语境和上下文等语言信息,注意力机制模型提供了强大的长距离上下文学习能力及高效的并行计算效率,自监督预训练则提供了利用海量无标记数据的可行性,在下游任务的有监督微调则可以大幅提高任务性能。视觉文档领域具有大量未经标记的视觉文档数据,研究人员尝试应用自监督预训练和有监督微调的处理范式,进一步提高各类文档任务的性能。

预训练语言模型应用于视觉文档时,最早只关注了文本信息,并未利用其中丰富的文本样式、版面结构和布局信息,而这往往对文档理解非常重要。2020年初,LayoutLM[13]提出了一种多模态预训练模型,结合了视觉文档中的布局和视觉信息进行预训练,在多个文档下游任务上取得了领先性能。从而,基于自监督预训练和有监督微调的视觉文档方法(后文简称预训练方法)开始被广泛研究,视觉文档信息抽取研究进入了一个新的阶段。

如图6所示,LayoutLM[13]为了将预训练技术与视觉文档多模态信息结合,首先通过OCR技术获得扫描文档图像的文本和布局信息,在训练阶段将文本嵌入与布局嵌入相加作为预训练模型输入,在微调阶段再加上对应区域的视觉图像特征送入下游任务,如此实现了多模态信息的利用。布局嵌入特征由文本框的四个坐标值通过线性变换获得,视觉图像嵌入特征由CNN模块和全连接层获得,最终送入预训练模型中学习。为了帮助模型在预训练过程中能有效学习到视觉文档中的先验知识和多模态特征的上下文语义,LayoutLM在1 100万张文档图片上进行预训练,并设计了三个自监督预训练任务,最终以序列标记的方式在视觉文档信息抽取任务上进行微调。本节围绕视觉文档信息抽取,认为LayoutLM方法中有四个关键的技术方面: 多模态信息获取与编码、预训练模型、自监督预训练、视觉文档信息抽取的有监督微调方法。本节将从上述四个技术方面介绍和分析预训练方法相关工作,最后对预训练方法简单总结。

2.1 多模态信息获取与编码

LayoutLM[13]通过OCR从扫描文档图像中获得文本和布局信息,通过文本框获得相应文本图像区域的视觉图像,进而将多模态信息编码为模型输入。在这个过程中,需要考虑合适的多模态信息选择、信息粒度、信息获取及编码方式,以及其他存在的问题。

2.1.1 多模态信息选择

选择视觉文档中合适的模态信息,是解决目标问题的关键,是后续设计模型、预训练任务的基础与前提。LayoutLM[13]在预训练阶段使用了文本、布局信息,在微调阶段使用了文本、布局和视觉图像信息,综合利用了视觉文档多模态信息。后续工作中,选择“文本+布局”还是“文本+布局+视觉图像”的多模态信息组合,不同方法有着不同的考虑。

LayoutLM v2[35]在LayoutLM[13]使用文本和布局信息预训练的基础上,往输入中融入了视觉图像信息。具体而言,它在模型的序列输入中拼接了含有文档图像嵌入的序列特征,并针对加入视觉信息的多模态序列输入,重新设计了两个预训练任务,学习文本与视觉模态之间的联系。相比于LayoutLM,LayoutLM v2在多个视觉文档信息抽取数据集上取得了性能提升,证明了视觉信息有助于理解文档中的语义信息,可提升下游任务的性能。

视觉文档中的布局信息往往更易获取与计算,且可以表示文档结构和文本间的关系。BROS[36]认为融合视觉图像信息会增加模型的方法复杂性和计算开销,所以仅使用了文本和布局信息,并进一步加强了模型对布局信息的学习与利用。BROS结合了SPADE[24]图表征,在模型中引入并改进了空间感知的自注意力机制,并设计了针对学习文本和布局信息的预训练任务。实验表明,BROS与LayoutLM v2[35]相比,即使模型参数大大减少,也取得了不错的信息抽取效果。

在电子文档中,文本和布局信息往往比视觉信息更容易获取。Wei等人[37]针对电子简历额外提取了字体信息,包括字符大小和字体类型作为补充模态信息。对于标记语言文档,如html网页、xml文档,MarkupLM[38]利用文本标签的组织关系作为结构信息,并根据标记语言的特点设计了两个预训练任务: Node Relationship Prediction(NRP)判断文本之间的节点关系,Title-Page Matching(TPM)判断页面标题和页面文本是否一致,提高了在标记语言文档中信息抽取的性能。

2.1.2 多模态信息粒度

信息粒度指信息单元大小,含有内容信息的级别。文本信息粒度一般分为字符、token、词(Word)、文本块(Segment)和句子级别;视觉图像信息粒度,除了与文本信息对应外,还有文档组件、图像块(Patch)和页面级别(图7),布局信息粒度则可以根据前两者确定。细粒度的信息单元,将给模型带来庞大的计算开销,选择合适的模态粒度是一个重要问题。另一方面,不同模态、不同粒度之间的关系对文档理解的帮助也有待进一步的研究。

在LayoutLM[13]中,文本通过OCR获得后,进一步被分割为token,以细粒度的方式划分文本和文本框进行学习。Selfdoc[40]则探索了粗粒度信息的利用,如句子、标题、表格等。Selfdoc使用句子作为文本信息单元,以文档组件为视觉图像信息单元。通过设计专门的文本编码器、视觉编码器和跨模态信息编码器更加高效地学习文本和视觉信息,最终在更少的预训练数据集上以更少的模型参数取得了更好的实体抽取效果。

在粗粒度信息的研究中,StructuralLM[41]提出cell的区域概念,如表格中的每个框、文档组件中的段落和句子。该方法认为每个cell中的文本共享着相同的文档组件含义,应该共同使用同一个cell的文本框信息,加强彼此之间的联系。StructuralLM基于文本和布局模态,设计了预训练任务Cell Position Classification(CPC),加强模型对文档内容结构的理解。StructuralLM在信息抽取上获得了不错的效果,不过模型参数远大于同样基于文本和布局模态的BROS[36]。

结构化文档一般通过空白距离、文本对齐等方式,表示更加清晰的文档结构和键值关系。StrucTexT[42]研究了结构化视觉文档中不同模态不同粒度之间的联系。研究者使用OCR获得若干文档文本块(Segment),将文本拆分为token,布局和视觉图像依然保持Segment大小。模型输入以文本特征序列和视觉特征序列拼接,并添加了对应的Segment嵌入,同属一个文本框的文本和视觉图像特征将加上相同的Segment信息。在两个信息抽取数据集上,StrucTexT验证了使用Segment粒度效果优于使用token粒度。

此外,UniDoc[43]以句子为单元,同时编码为文本和视觉图像信息粒度,认为这更符合人类阅读的习惯。在Wukong-Reader[44]在StructuralLM[41]的基础上,融合考虑了文本行的视觉信息。另外,MGDoc[39]同样使用多模态、多粒度的方法,比Structext[42]在性能上取得了大幅领先。

2.1.3 多模态信息获取和特征编码

从视觉文档中获取文本和布局信息,是许多工作的前提。对于电子文档,文字和布局信息可以直接从文件获得。对于扫描文档图像,文本和文本框信息常借助OCR获取,根据文本框进一步获得区域图像信息。常见的OCR工具有Tesseract OCR、PaddleOCR、EasyOCR等,但它们在识别过程中,容易出现积累文字识别错误和文本乱序的问题,对下游任务积累误差。

针对文本乱序问题,XylayoutLM[45]在引入了XYCut模块修正文本顺序。XYCut算法[46]是一种启发式分治算法,最早根据每个像素的值将句子分割成单词,后被用于分解文档组件[47]。XylayoutLM首次将其应用于多模态的阅读顺序问题,并提出了增强XYCut算法,即随机移动文档组件位置,以增强模型方法的鲁棒性,并通过消融实验证明了其有效性,降低了文本乱序干扰。

紧接着,多模态的信息需要编码为嵌入特征,作为模型的输入。OCR提取的文本字符和文本框数值被编码为文本和布局嵌入特征,视觉图像则由CNN模块提取特征。

对于文本信息的特征编码,部分工作[21,44]使用Glove、Word2Vec等传统的NLP词嵌入方法,部分工作[20,35,40]则使用BERT[11]、UniLMv2[48]、RoBERTa[49]、SentenceBert[50]等预训练后的语言模型,获得蕴含语义上下文的文本嵌入特征,增强多模态输入的语义内涵,进一步帮助模型理解文档内容。

对于布局信息的特征编码,需要考虑很多因素。第一,考虑文本框位置大小不一,将坐标值缩放到一定区间[13];第二,选择合适的坐标信息,即选择性使用长、宽和坐标信息中的数值;第三,选择合适的数值编码方式,常见的有正余弦函数转换[51]、嵌入层编码[5,42]等。

对于视觉图像特征的提取,大部分方法[35,40,42]借助 ResNet50[52]、ResNeXt101[53]等额外的CNN模块。LayoutLM[13]中CNN模块单独训练,而LayoutLM v2[35]则联合训练调整。LayoutLM v3[54]则受ViT[12]和ViLT[55]的启发,使用线性投影提取图像块区域的视觉图像嵌入特征,减少了CNN模块的计算开销,并减少了整体模型参数。

2.2 预训练模型

目前,视觉文档预训练模型主要参考BERT[11]等语言预训练模型,处理序列输入。因此需要将文档中的二维空间信息序列化,并选择或设计合适的注意力机制网络作为预训练模型。如图6所示,LayoutLM[13]将每个token的文本嵌入特征和布局嵌入特征相加作为多模态序列输入BERT学习。部分工作[13,56-57]参考LayoutLM直接将多种嵌入特征直接相加,另一些工作[35,42,54]则将不同模态的特征序列相拼接。

将视觉文档与语言预训练模型结合时,存在两个问题: 一方面,布局与视觉信息在序列化后,容易丢失一些潜在的结构信息。另一方面,传统的语言预训练模型不能很好地学习多模态信息之间的联系。

2.2.1 序列化输入

为了避免序列化过程中丢失空间结构上的信息,GMN[58]去除了Transformer结构中使用的一维位置嵌入,削弱了模型输入的序列特性,提出了一种新的二维位置信息编码方法Cord2Vec,通过精心设计的空间编码器和模态感知掩码模块,增强了对文档结构的理解,对一些难以按顺序序列化的复杂视觉文档产生了更好的处理能力。

基于图的文档表征能加强相邻节点之间的信息交流,从而保留一定的文档空间结构信息,降低文本乱序的干扰。Lee等人[59]在β-skeleton连通图[60]的基础上,针对图节点之间的位置编码,提出了一种顺序等位置编码Rope,不再针对全局特征进行一维位置编码,而仅关注相邻图节点,实验表明,Rope使GCN在信息抽取上有明显性能提升。

2.2.2 模型选择与设计

一些工作[36-37,41,51]和LayoutLM[13]一样,基于语言预训练模型,如BERT[9]、RoBERTa[50];另一些工作则针对文档多模态信息的特点,设计和改进了注意力机制网络作为预训练模型。

结合视觉文档二维空间特点,LayoutLM v2[35]在语言预训练模型的基础上,引入了时空感知的自注意力机制,并逐渐被诸多工作[36,51,56]采用和改进。传统Transformer[10]结构模型只能处理固定长度输入,XYLayoutLM[45]提出了一种拓展条件位置编码(Dilated Conditional Position Encoding),能够处理更长的文档信息序列。而另一些工作认为,语言预训练模型面对视觉文档任务时存在设计上不足,不能很好地应用于多模态特征学习。因此,他们针对多模态信息的特点及联系,设计了不同模型结构。

为了加强模型对视觉模态信息的利用, Selfdoc[40]设计了双流注意力机制网络,分别学习文本特征序列和视觉特征序列,再通过跨模态注意力网络联合学习。UniDoc[43]则设计了门控注意力机制,动态调整文本和视觉信息之间进行交流联系。Docformer[61]受残差连接的启发,将Transformer中间的输出与原始多模态信息融合,作为下一Transformer层的输入。这些方法在不同程度上都提高了模型学习多模态信息的效率。

LiLT[62]认为,即使在不同语言的视觉文档中,文本结构、布局版式信息也是共通的,为此设计了学习文本和布局信息的双流模型,通过双模块中的中间状态联合计算彼此的注意力分数达到信息融合的效果。通过这样一种设计,LiLT在布局模块中学到了通用的文档结构信息,而且文本模块在不同语言任务中可以随意替换。

2.3 自监督预训练

预训练数据集蕴含了广泛的视觉文档先验知识,自监督预训练任务可以帮助模型从其中学习视觉文档广泛的先验知识。

2.3.1 预训练数据集

IIT-CDIP Test Collection 1.0[63]英文文档数据集是LayoutLM[13]使用的预训练数据集。它包含1 100万文档图片,拥有各种类型和版面格式的视觉文档,同时也有文档对应的元数据,包括文本、序号和文档标签,非常适合用于多模态的预训练方法,是最常用也是最大的一个视觉文档预训练数据集。部分工作为提高模型学习效率以降低模型预训练的成本,使用小规模的数据集进行预训练,如RVL-CDIP文档分类数据集[64]和PubLayNet学术文章数据集[65]。

预训练视觉文档数据集中的先验知识决定了模型的能力基础。LayoutXLM[66]为了克服视觉文档应用中的语言障碍,收集了一个由53种语言、3 000万个视觉文档组成的预训练数据集,基于LayoutLM v2的模型和方法进行预训练和微调,使模型可以同时处理具有多种语言的视觉文档。

2.3.2 自监督预训练任务

在预训练方法解决各种问题的过程中,不仅需要选择和设计多模态信息或者预训练模型,还需要为其设计针对性的预训练任务,来最大程度地利用多模态信息和特点,提高预训练模型的学习效率。根据无标注视觉文档的自有文本和布局特征,预训练任务采取自监督的设计策略,能有效应用于大规模的预训练数据集。在目前的预训练方法中,预训练任务可以分成如表1所示的四类,其中文本类、视觉类分别主要针对文本和视觉模态信息设计,对齐类受多模态信息之间的对齐关系启发,其他类则包括了其余的预训练任务。

表1 部分工作的预训练任务统计

根据表1的统计结果,文本类预训练任务被广泛应用,其中大部分受BERT[11]启发,采取预测遮挡文本的思想。BERT在多种文本任务上的出色性能,充分证明了Masked Language Modeling(MLM)的有效性。MLM随机选择一些文本进行遮挡操作,通过文本的上下文信息预测被遮挡的文本信息。遮挡操作将随机选择的文本一部分设置为无效信息,另一部分用其他文本替代,剩余部分则保持不变。文本作为文档的基础内容,MLM可以自然地迁移作为视觉文档的预训练任务。Masked Visual-Language Model(MVLM)在MLM的基础上,综合多模态的上下文信息对被遮挡文本进行预测,而不是仅考虑文本信息。Masked Sentence Model(MSL)则是以句子为文档单位进行遮挡和预测。BROS[36]中的Token Masked Language Model(TMLM)和Area Masked Language Model(AMLM)则是对选择遮挡token的策略做了一定调整。文本遮挡预测类预训练任务目标明确、实现简单、性能高效,能充分高效学习文本中的语言上下文信息。

受文本遮挡建模的启发,视觉类预训练任务选择遮挡视觉图像区域,并预测其图像信息特征,如Masked Visual Model(MVM)[40]和Masked Image Model(MIM)[54]。Learn To Reconstruct (LTR)[58]则以重建整张文档图像为目标学习文档图像的视觉特征。UniDoc[43]通过Visual Contrastive Learning(VCL)引入对比,学习最大化文本图像区域的预测表征和量化表征。

对齐类预训练任务则根据视觉文档中不同模态信息以及不同粒度间存在着的对齐关系而设计。它可以更好地帮助模型学习多模态信息之间的联系,如文本的语言含义和视觉图像之间的关系,具体而言通常用一种模态的信息预测另一种模态的信息或状态,如LayoutLM v2[38]提出Text-Image Alignment(TIA)判断token所在文本区域是否被覆盖,LayoutLM v3[54]中的Word-Patch Alignment (WPA)只将TIA中的图像文本区域改为图像块区域,与此类似的还有Text Describes Image[61](TDI)、Cross-modal Alignment Identification[62](CAI)、Key Point Location[62](KPL)和Vision-Language Alignment(VLA)[43]。Structext[42]中的Sentence Length Prediction (SLP)通过视觉嵌入预测其视觉区域包含的文本长度。针对长文档应用,Pramanik等人[57]设计Document Shuffle Prediction(DSP)判断页面图像和文本内容是否匹配。

其余一些预训练任务则利用了布局信息和文档的其他特点,比如Wei等人[37]和Structext[41]分别通过Sequence Positional Relationship Classification(SPRC)和Paired Boxes Direction(PBD)预测文本之间的空间方向关系,探索了布局信息在预训练中的作用。Pramanik等人[57]提出的Document Category Classification(DCC)和Document Topic Modelling(DTM)以及LayoutLM[13]中的Multi-label Document Classification(MDC)则从文档整体的角度考虑,对文档进行分类。

从上面的分析中可以看出,在预训练任务的设计中,对语言信息的理解是主要的、基础的,文本是文档的核心内容;其次,文本和其他模态信息的联系,是加强模型对多模态信息理解的关键,大部分预训练方法都设计了针对多模态信息对齐的预训练任务;最后,是针对视觉图像和布局信息,或者是针对一些特殊文档的特点而设计的一些预训练任务,可以有效增强对特定模态信息的理解,提高处理特定类型文档的能力。

2.4 视觉文档信息抽取的有监督微调

在完成预训练之后,预训练模型学习到了大量预训练数据集中的先验知识,提高了对视觉文档的一般理解能力,但是对于下游任务来说,还需要进行有监督的微调。对于视觉文档中实体信息抽取的任务建模,一般采取序列标记的方式,如LayoutLM v2[38]使用BIO实体标记格式[29],StructuralLM[41]使用BIOES实体标记格式[67]。BIOES的各个字母分别表示Begin、Inside、Other、End、Single,文本序列逐个被标记为实体头、实体内、其他、实体尾和单字段实体五种类型。这种方式需要再通过后处理才能输出完整的实体信息。但是,目前这种主流的序列标记方法,也存在着一些问题,如后处理步骤琐碎、无法处理实体层次关系、忽略了实体属性中的语义信息等,亟待进一步研究。

2.5 小结

本节介绍基于自监督预训练和有监督微调的方法的多个方面,并根据其中存在的问题,分析了相关研究工作及其特点,其主要方法流程如图8所示。该方法分为预训练和微调两个阶段,使用对应的数据集和训练任务,获取多模态信息并编码,分别提高预训练模型的通用文档理解能力和下游任务性能。预训练方法最大限度地利用了无标注文档中蕴含的先验知识,充分发挥了注意力模型的学习能力,使模型不仅具有了同时处理多种任务的能力,也在各种下游任务中大幅提高了性能,让视觉文档信息抽取研究进一步发展。

图8 预训练方法主要流程图

3 数据集与评价指标

3.1 数据集

近几年的视觉文档信息抽取任务逐渐获得越来越多工业界和学术界的关注,不断有新的数据集出现。表2按年份列举了一些公开的信息抽取的视觉文档数据集及一些文档属性。

表2 部分用于视觉文档信息抽取的公开数据集

(1) IEHHR[68]是一个较早的加泰罗尼亚语写的婚姻记录数据集,共有1 221份婚姻记录,相关单词分为五个类别,是古籍信息抽取研究[75-78]中常用数据集。

(2) FUNSD[69]是一个扫描文档图像数据集,可用表单理解任务,表单图像背景嘈杂、版式不一,标注有实体类别及其之间的关系,分为149个训练样本和50个测试样本,是表格理解的常用数据集且具有挑战。

(3) SROIE[70]来自2019年ICDAR会议举行的收据OCR和信息抽取比赛,其中包括626份训练样本和347份测试样本,每张收据含有四个类型字段。

(4) CORD[71]同样是一个票据数据集,分别包含800、100、100张的训练、验证、测试样本,标有四类30种实体。

(5) DeepForm数据集[72]是一个电视行业的表格的英文数据集。

(6) WildReceipt[63]是一个针对真实英文票据场景的数据集,含有1 268个训练样本和400个测试样本。

(7) EPHOIE[22]为中文试卷头数据集,包含学校、年纪、姓名等12种信息。

(8) Kleister Charity[73]和Kleister NDA[73]是针对长文档实体抽取任务的文档理解数据集,包含协议和财务报表等长文本文档。

(9) XFUND[66]是针对FUNSD数据集的多语言版本,包含有除英文以外的七种主流语言的视觉文档。

3.2 评价指标

视觉文档信息抽取通常使用准确率(Precision)、召回率(Recall)和F1值作为衡量实体信息抽取任务的性能指标。在序列标记完成实体抽取的方法中,准确率为正确预测的标记数量占所有预测标记数量中的比例。召回率指正确预测的标记数量占实际实体标记数量中的比例。F1值则是准确率和召回率的调和平均数,综合考虑了模型判断的正确性和全面性。在视觉文档信息抽取任务中,F1值越高,表示方法性能越好。

EATEN[30]在实体级别定义了mean Entity Accuracy(mEA)、mean Entity Precision(mEP)、mean Entity Recall(mER)和mean Entity F-measure(mEF)作为衡量标准,mEA为正确预测的实体数占全部实体数的比例,mEP为正确预测的实体数占全部非空预测的实体数的比例,mER为正确预测的实体数占全部非空目标实体数的比例,F1值则是mEP和mER的调和平均数。mEP、mER更是适用于出现大量空值的实体抽取场景,通过这些指标,可以更高效地评估实体信息的抽取性能。

4 结语

随着视觉文档数量不断积累,工业界对复杂文档的智能化处理的需求愈加迫切,推动视觉文档信息抽取的研究发展和加速该领域的学术研究成果落地意义重大,但是目前仍存在许多的研究问题,基于前文的分析,本文从以下几个角度展望视觉文档信息抽取未来可能的研究方向。

(1) 基于小样本学习的视觉文档信息抽取方法。现有的大部分方法只能在有标注的数据集上进行训练,即使是基于模型预训练的方法也依赖于一个经过完全标注的微调数据集,对全新样式的视觉文档泛化性较差,不能满足开放领域的信息抽取的需求,而且人工标注极大地影响了效率。因此,在只包含少量标注文档数据的情况下,完成对指定语义实体的信息抽取的能力是非常有重要的。在这方面,目前一些工作[37,75-77]的性能仍不理想,有较大的提升空间。

(2) 基于提示学习的生成式文档信息抽取方法。现有的文档信息抽取方法基本采用序列标注等方式完成实体抽取,一方面受OCR工具带来的文本乱序的负面影响,另一方面需要大量精力对文档进行细粒度的标注。近年来提示学习方法展示出强大的潜力,可以很好地克服如上的困难,虽然与视觉文档信息抽取的结合已有相关工作[58,77]开展,但仍有待进一步探索。

(3) 端到端的视觉文档预训练方法。视觉文档的预训练方法一般都需要借助OCR工具获得文本和布局信息,但这样的方法引入了额外的文本识别误差,且无法通过训练改进。传统的基于端到端学习的方法虽然避免了这一问题,但性能和通用性无法与基于模型预训练的方法相媲美。以端到端的方式完成视觉文档模型预训练[78],可以兼顾二者的优点。

(4) 模型轻量化。现有的预训练模型往往参数规模很大,对算力的要求较高,不能做到实时推理,不适合部署在终端设备中。只有进一步缩小模型规模,才能更经济地在业务中使用该技术。

(5) 现有工作基本上都在研究视觉文档中的实体信息抽取,而对实体关系抽取的工作较少。目前在几个数据集上,实体关系抽取[36,42,52]的性能表现仍不够理想,有进一步提升的空间。

概括起来,本文主要介绍了基于深度学习的两类方法,一类是基于有监督学习的方法,包括基于图的方法、基于网格的方法、基于端到端学习的方法;另一类是基于自监督预训练和有监督微调的方法,根据其中的多模态信息获取与编码、预训练模型、自监督预训练以及视觉文档信息抽取的微调任务四个技术方面进行了相关工作的介绍。本文还简单介绍了一些公开数据集和评价指标,最后小结并讨论了一些未来研究方向。在技术成熟、数据充足、算力充沛、商业需求旺盛的时代背景下,视觉文档信息抽取逐渐进入高速发展的阶段,解决相关问题的环境条件日渐成熟,投入相应的研究资源为社会带来更多的现实价值也初见成效。

猜你喜欢
文档实体模态
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
前海自贸区:金融服务实体
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
基于RI码计算的Word复制文档鉴别
国内多模态教学研究回顾与展望
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
基于HHT和Prony算法的电力系统低频振荡模态识别