包装机器

智能文档处理IDP关键技术与实践高翔

发布时间:2023/4/11 15:36:57   

什么是智能文档处理?针对文本数据处理尤其是纯文本,大家通常会想到使用自然语言处理(Naturallanguageprocessing,NLP)技术来解决语义理解及分析处理工作。关于自然语言处理技术的研究有很长历史,针对不同层面文本处理和分析有很多技术点,常见技术例如分词与词性标注、命名实体识别、句法结构分析、文本分类、文本摘要等功能。

相较于纯文本,文档的信息表达更加复杂,除各种形式的文本信息外,还包括表格、图片等信息。因此要正确理解文档中的所有内容,仅凭自然语言处理技术难度很大,需要结合其他技术。

图1常见文字信息表达方式

智能文档处理(IntelligenceDocumentProcessing,IDP)技术是针对文档内容自动处理分析的一揽子技术,除自然语言处理技术外,还包括计算机视觉、文档解析等相关底层技术,因此相较于NLP技术,IDP技术更加复杂。在IDP技术中,光学字符识别(OpticalCharacterRecognition,OCR)技术,文档解析(DocumentParsing,DP)技术和信息提取(InformationExtraction,IE)技术最为核心关键,使用最为广泛。

光学字符识别技术主要解决文字以图像形式展现的问题。很多文字信息在文档中以图表形式展现,甚至很多文档也以图像形式保存,因此需要OCR技术提取文档中的所有文字及其位置进行分析。另外有些PDF文件对文字内容加密,无法直接拿到字符信息,也需OCR技术拿到正确文字内容。

文档解析技术包括不同类型文件协议解析、文档内容统一表示、版面分析技术、表格解析技术等,目的是把不同类型文档及其中各类元素信息用同一套协议表示文档结构及内容,包含图像和语义信息。

信息提取技术指的是根据文档结构及内容信息,使用不同算法对不同文档元素进行信息提取,合并抽取信息结果,并根据业务需求进行输出。

基于以上核心技术,智能文档处理的通用流程如下图所示:

图2通用智能文档处理流程

光学字符识别技术

光学字符识别技术相对成熟,应用范围广,通常情况下,对于清晰的图像,字符识别准确率较高。但是特定的场景下,例如透视、模糊、光线不足、高密度文字等情况下,OCR系统的识别效果下降很大,给实际场景中图片形式的文档处理带来困难。

OCR技术路线通常有两种:

端到端一阶段的方法

检测、识别二阶段的方法

两种技术路线各有优势,没有绝对的好坏。端到端的方法优势在于特定场景效果拟合能力强,但缺点是训练较为困难,效果不太可控。对于一阶段方法,达观常用于印章、车牌等特定场景的文字识别。二阶段方法能够分别在不同步骤达到最佳效果,并能通过业务干预不同阶段输出结果使用较为灵活,因此达观常用于通用文档识别场景,缺点是需要维护两个独立模块,成本相对较高。

图OCR主流技术路线

01文本检测算法概览

文本检测算法的目的是找出图像中文本所在位置,通常情况下是以文本片段组成的文本框为检测目标,当然也有针对单个字符的文本检测方式。针对文本检测,目前分为基于回归的方法和基于分割的方法。基于回归的方法代表算法有CTPN、SegLink、EAST、CRAFT等,这些方法各有优劣,在不同情况下存在效果差异问题。基于回归的方法对规则形状的文本检测效果较好,但对于不规则文本以及长文本检测效果不佳。

基于实例分割的代表算法有PSENet、DBNet、FCENet,能够针对各种形状的文本都能够取得较好的检测效果,例如大量使用手机拍摄导致的文字扭曲变形等问题,因此在实际落地时使用较多。基于实例分割方法的缺点是后处理通常比较复杂,需要针对后处理部分代码进行特殊优化,才能在效果和速度上保证最优。下表展示了常见文字检测算法及优缺点。

表1常见文本检测算法及优缺点

02文字识别算法概览

文字识别技术路线主要经历三个阶段:

以CRNN为代表基于CNN-RNN结构的识别模型

基于Transformer的Encoder-Decoder识别模型

基于Vision-Language视觉语义融合的模型。

图4三种文字识别技术路线

CRNN为代表的模型主要包含两个模块:VisionModel(视觉特征提取)和SequenceModel(文字转录)两个模块。视觉特征提取利用经典CNN方式较容易理解,而文字转录模块利用Bi-LSTM和CTC解码将视觉特征转换成文字序列特征。CRNN模型比较经典,并且在大部分场合都能取得较好的效果,使用较广。缺点是对于文字变形、遮挡等干扰很敏感,容易误识别。

基于TransformerEncoder-Decoder结构的模型,由于能更好地利用上下文信息而提升了准确率,但由于Transformer模型相对较重,在实际使用中需要考虑裁剪蒸馏等方式才能更好落地。

基于Vision-Language的模型,将视觉和语义进行融合,优点是能够获得更多更准确的语义信息,有时会有较好的效果,但通常模型更大,影响识别效率。文字识别完整流程由图像矫正、视觉特征提取、序列特征提取和预测解码组成。一般通用流程如下图所示:

图5文字识别通用流程

对于上述流程涉及的代表性算法介绍如下表格所示:

表2文字识别主流算法及比较

CTC解码在文字识别中是非常经典的方法,但在复杂干扰场景下会有效果问题,而基于Attention的方法对于困难样本往往能够取得较好的效果。这两种方法是达观产品中的主流方法,可根据场景灵活适配。关于两种方法的网络结构图对比如下图:

图6两种文字识别网络结构对比

0达观对于OCR技术的实践和优化

针对文档处理的复杂场景,没有一个通用的技术框架和算法能够解决所有问题,需要针对具体问题进行多种模型优化、流程调整等工作。针对文档OCR识别,常见问题包括文字检测遮盖问题、密集小文本目标检测问题等问题都需要针对性解决。

文字遮盖导致的检测问题比较常见,在实际场景中,例如印章、水印等遮挡导致底层文字检测失效。对于印章,红色印章可以通过通道过滤取得不错的效果,但是对于黑章来说难度增加很多。下图是直观表述同时有红黑两种印章时,对于文字检测的影响。可以看到右侧黑色背景中间结果中,红框范围内文字检测存在模糊判断。

针对遮盖问题,主要有三种方式优化:

文档预处理消除印章影响,例如红章通过颜色通道淡化去除

数据层面增强印章遮盖样本

模型层面增加印章分割设计,强化特征分离。

图7不同颜色印章遮盖对于文字检测的影响

小目标密集文字也是常见的场景,例如银行流水、表单数据、工程图纸等。由于单独的文字区域占整个图像面积较少,加上密度较大,不经优化会出现大面积的漏检、误检现象。针对这种场景,达观除增加数据层面的积累外,在模型层面进行多尺度的特征设计,大大提升小目标的召回率和准确率。下图展示对于流水结果的检测结果,此优化已成功应用于实际产品项目中。

图8银行流水密集型文字检测优化

文档解析技术

文档解析技术是智能文档处理中另外一项关键技术。

实际场景中不同类型的文档在处理中常会遇到以下问题:

电子版PDF或扫描件等文件,会丢失段落、表格等结构化信息;

版面与表格等文档结构信息如何供算法使用;

学术算法常常面对结构简单规范的文字形式,与工业真实场景存在鸿沟;

不同文档协议格式表达复杂,如何将不同类型的文档统一表示,才能够满足不同上下游任务的处理。

文档解析主要工作包括以下三个方面:

不同类型文件协议解析,例如PDF、Word、OFD等,需要映射到统一抽象的文档格式;

版面还原,识别每页各种元素,如页眉页脚、标题、段落、表格、插图、目录等;

表格解析,将表格中的信息准确还原为二维矩阵结构。

图9工业界和学术界文本处理对象差异巨大

01文档格式解析技术

常见的文档格式包括Word、PDF(PortableDocumentFormat)、OFD(OpenFixed-layoutDocument)等,大部分文件协议的设计都以对象树为主要结构。以PDF协议为例,下图展示PDF文件的实际内容以及文档元素对象的组织结构:

图10PDF协议文档元素对象组织结构

PDF格式在渲染展示上有很大优势,能在不同设备和系统环境下稳定保持渲染内容的一致性,对阅读友好,但PDF解析编辑相对困难,因为PDF协议内置对象类型有限,一些类似表格、页眉页脚等要素类型信息缺失,文字、线条、形状等要素也只包括内容、颜色、大小、位置坐标等信息,需要根据渲染的结果判断元素类型并进一步处理。常见的优秀PDF开源库包括PDFBox、MuPDF、PDFMiner等。OFD由工业和信息化部软件司牵头中国电子技术标准化研究院成立的版式编写组制定的版式文档国家标准,类似PDF,属于我国的一种自主格式,例如OFD格式的发票目前已得到广泛使用。而基于OpenXML的Word格式docx解析起来相对容易,能够拿到包括样式在内的丰富信息,除微软官方提供的SDK外,也有很多优秀的开源项目。

02版面还原技术

版面还原技术就是分析文档中每个页面有哪些类型的元素及的各元素大小位置形状等图像信息,通常情况下根据渲染后的页面图像进行分析,因此主要使用到计算机视觉技术。版面还原技术的意义主要还是和图像、PDF等文件格式缺乏高层次文档元素对象的问题相关,例如页眉页脚在很多业务场景中需要被过滤掉,但在PDF文件中,页眉页脚只是一个单纯的文本框,仅凭文字信息不足以判断此文本框是否是页眉页脚。虽然可以利用有些规则的过滤掉页眉页脚,但规则通用性较差。除此之外,还需要划分段落、标题、目录、表格、插图等更多页面区域,文档元素类型还可能根据业务场景发生改变。

基于计算机视觉的方式有较好的通用性,和人类观察文档版面信息过程一致,通常使用基于目标检测方案和图像分割方案,两种方案各有优缺点。对于版面还原这个任务,有明确的业务属性,一个区域要么属于段落,要么属于表格或者其他类型,不会存在既是段落又是表格的情况,使用目标检测的方案,就要额外梳理重框问题。而使用图像分割的方案则不存在这个问题,从输入输出的角度更适合,但图像分割资源要求相对较高,例如基于FasterRCNN的MaskRCNN,在原模型基础上扩展了一个Mask分支,速度相对会慢一些。

图11基于FasterRCNN的版面还原效果

图12基于MaskRCNN的版面还原效果

0表格解析技术

表格是信息承载的重要方式,作为一种半结构化数据,被大量应用于文档中。对于表格信息,通常有电子格式(excel、csv、html)和图像格式两种形式,电子表格相对于图像表格,不仅能够渲染供阅读,还可以根据相关协议进行指定单元格内容的读取、修改等。此处介绍的表格解析技术主要解决图像形式表格结构内容识别问题,而不是excel这类电子表格识别问题。特别地,电子版PDF文件中的表格由于缺乏相关协议,也需要使用图像方式来解析。

表格的类型一般根据表格线是否完整也可以将表格划分成种类型:全线表格、少线表格、无线表格三种,针对以上三种表格的解析方法也有差异。

图1三种表格类型划分

表格解析的目标是找到文档中的所有表格区域并将表格结构还原成二维矩阵。从技术框架上看,表格解析有端到端一阶段的方式和区域检测、结构解析两阶段的方式。在我们的测试中,整体准确性上来说端到端和二阶段方法差别不大,但考虑到业务上的快速修复性,达观选择二阶段方式。

端到端方式代表性的方法有TableNet、CascadeTabNet等。TableNet采用图像分割思路,将图片送入骨干网络,然后通过两个分支分别生成表格区域和列的mask,然后通过规则生成行,最终得到具体单元格的内容。CascadeTabNet基于CascadeR-CNN,先检测出表格区域同时对表格类型划分(有线、无线),然后检测单元格区域,最后根据表格类型做后处理得到最终的表格结构。这些算法在公开数据集效果不错,但因端到端难以解决具体badcase,在实际业务使用上存在一定局限性。

二阶段方式主要是表格区域检测和表格线条检测两大块。表格区域检测问题相对简单,基于目标检测或分割都可以实现,主要问题是实际业务定义差异会影响模型效果,需要在数据层面多下功夫。而表格线检测是技术重点,因为表格解析算法最终可以看作是表格线识别的问题,有了表格中所有表格线,就能还原整个表格结构,解决方法有基于传统CV的算法和深度学习算法。

基于传统CV的算法,以经典的霍夫变换为代表,优点是不需要数据标注且不需GPU资源,算法成熟稳定,对于电子版PDF表格效果很不错,但拍照扫描等场景中扭曲、光照等因素导致泛化能力一般,需要在图像预处理和后处理下很大功夫。基于深度学习的算法,如UNet,优点是对于上述扭曲、变形、光照等泛化能力强,缺点是需要大量的数据标注,计算资源也比较高。

通过使用基于深度学习的算法,能够较好解决传统算法对于图像质量要求高的问题,下面两图展示了利用分割的思想识别表格线的效果,可以看到虽然原图质量不佳,要么线条特别模糊要么整体扭曲透视较为严重,但整体解析效果较好。

图14线条模糊图像表格线检测效果

图15揉捏扭曲表格线检测效果

信息提取技术

不同于传统纯文本实体识别,实际场景中文档信息提取挑战更大,主要有以下困难:

文字表现形式复杂,文档内有页眉页脚、表格、图片等多种文字信息表达方法,需要分别处理;

领域知识欠缺,实际文档使用词汇和行业场景高度相关,例如产品、型号等专名,需要针对专有领域数据优化模型;

信息点上下文长度跨度大,既有短文本实体信息抽取也有长上下文抽取,例如招股书,需要抽取公司名称、募集金额等短文本信息,也需要公司概况、高管基本情况等长文本信息,技术方案跨度很大;

软硬件资源限制,除单纯模型效果外,还要考虑推理时间、硬件成本这2种度量维度,需要根据实际情况灵活选择平衡。

针对以上问题,不仅需要针对具体问题一一解决,同时需要设计一个优秀的信息提取框架,在实际使用中能够灵活配置实现一种或多种信息提取工作。下文将介绍达观在相关问题解决中的经验。

01纯文本抽取vs文档抽取

相对纯文本抽取,文档信息抽取有以下区别:

文档格式众多,实际场景文档类型除word等可编辑格式外,还存在PDF、jpg等不可编辑格式,从中拿到文本信息并且符合阅读顺序就很困难。本文前面介绍的文档解析技术主要解决不同格式文档文本信息提取的问题,为文本抽取打下基础。

语义上下文跨度大,除传统的信息点附近上下文信息外,还包括章节标题甚至文档类型等跨度更远的上下文信息。

高维文本问题,文字信息不光和本身的语义信息相关,也和其样式、形式(例如表格、图片)相关。

针对文档信息抽取相关研究较少,目前大部分成熟技术还是基于纯文本数据研究居多,虽然近几年多模态信息抽取、长文档信息建模也有不错的研究工作,但实际落地过程中少有系统化的成熟经验供参考,需要厂商自己开发研究。

针对文档抽取,除各类算法本身效果优化提升外,设计一个功能丰富且合理的抽取框架非常关键。为满足以上需求,达观数据设计了一套基于微服务架构的抽取框架,通过将一个复杂的抽取任务分解成多种抽取子任务单独处理,最后再将结果合并返回最终抽取结果。

图16基于微服务的抽取框架

实际任务中,根据文档类型的不同,抽取中心通过推送不同抽取类型消息进入队列,下游相关抽取算法模块进行独立处理。简单的抽取任务例如对于财务报表的信息提取,抽取中心只需生成表格单元格抽取信息,并提供表格相关上下文信息。而复杂的例如招股书、债券募集说明书等长文档抽取,抽取中心需要按照字段类型进行不同抽取信息的消息分发,并提供公有上下文和各算法所需私有上下文,下游各类型抽取算法模块同时工作。上述方案还有一个优点是针对特殊场景的抽取,可以灵活裁剪服务类型,或根据业务量针对性调整某类抽取算法服务副本数达到资源和业务量的平衡。

在算法设计上,除之前基于联合标注的序列标注抽取实体关系的工作外,达观也尝试使用统一信息抽取(UIE)框架。因为达观IDPS平台除实体抽取任务外,还支持关系抽取、元素抽取等任务,不同任务类型的网络结构差异导致数据和预训练模型复用受限造成资源浪费,系统也更复杂。通过设置不同抽取类型的Schema,利用UIE端到端生成结构化结果的思想,可以完成单模型多任务的抽取效果。

表不同任务在UIE下的schema设计及效果

02通用模型vs领域模型

当前以大规模预训练语言模型为基础进行语义表示,下游再根据任务类型设计网络结构,已成为各类NLP任务的基本范式,在很多场景任务下不仅整体性能更好,所需要的标注数据也更少。但公开的预训练语言模型通常使用通用语料数据训练,在迁移到特定领域下游任务时效果会打折扣。最主要的原因就是领域间数据分布差异很大。

具体表现如下:

训练数据不一致。例如金融场景的特定词汇如股票、基金、利率、资产等词汇概率远高于其他领域语料;

预测标签分布不同,例如在金融危机相关数据,负面标签远多于正面标签次数;

上下文信息不一致,例如在表格数据中,上下文信息不仅包括同一单元格内相邻文字,也包含相同单元格、行表头、列表头等。

为解决领域自适应问题,研究方向主要分为以模型为中心的方法和以数据为中心的方法。从实现方式上来说,使用以数据为中心的方法更加灵活,应用面更广,并可持续训练迭代。在实践中,达观数据已服务众多证券、银行等金融机构,积累了大量的金融领域语料和相关下游任务训练数据,在金融领域的继续预训练语言模型可以解决领域知识、数据分布上存在的差异,提高金融文档相关的NLP下游任务的效果。

具体来讲有以下两方面工作:

数据处理层面,收集从公开网站上获取的金融财经新闻公告等数据,结合达观积累的金融领域文本数据,经数据清理后得到数百万条预训练文本数据

模型设计层面,选用中文RoBERTa作为基础模型,采用wholewordmasking的掩码方式,进行继续预训练。经过测试,使用迭代后调优后的预训练语言模型在各个金融领域的下游任务中,效果普遍提升2~%

另外从使用角度上来看,领域迁移需要大量的技术知识,对使用人员算法技术要求高,而达观IDPS产品的使用人员更多是业务老师、知识工程师等非技术人员,因此借鉴AutoML的思想,让系统能够在有限的迭代次数内探索最优模型和超参,并自动集成。具体来说,会考虑训练文档的页数分布数据、标注数据的页码位置分布、机器性能资源等多种信息进行自动学习,在干预较少的情况下得到相对较优的模型效果。

0短文本抽取vs长文本抽取

通用文本抽取技术研究所需处理的文本上下文较短,例如Bert可处理长度个字符,能够满足大部分场景,如果超过此长度需要进行窗口滑动。在实际场景中,例如招股书抽取,上下文长度远超个字符。

通常长文本抽取有以下困难:

数据量少,正样本过于稀疏;

数据分布不均衡,负样本远比正样本多,而且EasyNegative数据远比HardNegative数据要多,导致在训练过程中,经过少量迭代就会被模型充分学习并正确预测,导致数据中的“困难负样本”和正样本对模型训练迭代的影响过低,无法被充分学习;

端到端方式缺乏灵活性,实际使用受限,SOTA方法常使用端到端的方式,但工业场景常常需要精准监控各环节贡献和精准优化各个模块。

为解决以上问题,除修改模型结构、参数让传统经典网络更好建模长文本外,也可以通过业务特征进行流程优化,主要思想是根据关键词或者相关标题上下文,将训练或预测数据预处理,仅在有限的文档区域内建模,减少负样本带来的数据不均衡问题,同时能大大提升训练、预测速度。例如达观使用章节拆分定位技术,利用文档解析得到的文档目录结构,根据标注数据缩小建模范围,例如可以将实体抽取范围定位到某章甚至某些段落中,将几百页的上下文信息压缩到最相关的几个自然段,提升模型性能,在实践中取得非常好的效果。

04三维度量评价体系

一般学术研究最重要的优化目标是效果,对于资源、时间的考量权重相对较低,而工业落地往往相较于学术界更注重于时间、空间与效果的综合结果,我们称之为三维度量。在工业落地中,客户软硬件差距巨大,需要适配不同部署硬件方案,并可能会有硬件瓶颈导致方案大改,例如有些客户没有GPU或相关资源非常有限,导致基于深度学习的算法方案受限。与此同时,项目目标考察点也不仅仅只

转载请注明:http://www.aideyishus.com/lkjg/4186.html

------分隔线----------------------------