香侬聊|表格抽取在保险、 金融等领域的应用
在上期香侬聊中,我们为大家介绍了基于文本内容的信息抽取,今天,我们为大家分享有关表格抽取的内容。
(注,文章中部分示例图片来自于网络,如有侵权,请与我们联系,联系方式为,微信后台进行回复,或发送邮件至contact@shannonai.com。)
表格抽取
何为表格抽取?
即可将不可编辑格式文件(PDF、图片、影印件等)中的表格内容,识别为可编辑、下载使用的表格数据,同时可从中抽取出所需数据。
表格抽取其实也是从表格中抽取所需要的文本内容,为何与文本抽取不一样呢?
对于表格抽取来说,不一样的地方在于,机器需要首先进行图像识别,即表格检测,先要让机器识别出来文件中的哪部分为表格区域,第二步再进行表格结构分解,例如标题元素的正确标示、行和列的结构、数据单元的正确等配等,最后才是进行文字抽取。
那表格识别有哪些用处呢?
下图为某保单图片,在保险行业中,用户经常将保单以照片、影印件等形式上传系统,相关工作人员需要从中摘录出所需信息,人为进行操作非常耗时耗力。
(图片来源于网络)
另一个的场景,是各类票据的使用,比如车票、机票、发票等各类票据,典型使用场景是报销,在报销过程中,员工提供的发票种类样式多,且以纸质版、电子版,或纸质版的照片等形式呈递,人为将报销明细和发票内容进行核对,则非常耗时耗力。
对于金融领域来说,最常见的表格就是三大财务报表,资产负债表、现金流量表和利润表,需从中获取信息。
(图片来源于网络)
此外,很多的金融相关报告中,也内嵌有很多的表格信息,且很多数据都是以图片和PDF的形式存在,故人为从相关文件中获取所需信息,非常麻烦。
财务报告的抽取示意图
因此,如若机器可以精确、快速地从表格中提取出所需内容,可大大缓解人力劳动,显著提升工作效率和质量。
那表格抽取有何难点呢?
在开篇我们提到,表格抽取要进行表格识别,即需要先高效从文档中找到表格,这就需要先将表格以图片的形式发送给机器,自动提取表格图片中的各类信息,然后再将这些信息重新堆叠为新的文档,即表格重建,经过这个过程处理后的信息才可被人使用。
这里面的一个最大的难点就在于表格识别。比如以三大财务报表举例说明,虽然三大表所含信息相对固定,对于人来说,格式上相对好理解,内容上差异也不大,但对机器来说却不一样。比如第一幅图片中是有线框表格。
(图片来源于网络)
第二种是无线框表格。
(图片来源于网络)
第三种是照片或是影印件,通常还会有歪曲、倾斜、光影、不清晰、背景色等不规范样式,同时还常内容遮挡物,比如内含印章等。
(图片来源于网络)
这些对于机器来说,处理方式都是不同的。
其次,表格种类不同,也需要有不同的处理方式。
第一种,基本单页表格,不包括合并单元格。
第二种,包含合并单元格的单页表格。
第三种,跨页表格,当表格跨页时,首先需要将跨页表格进行合并,将其他冗余信息去除,比如多页中的页码、页眉内容的重复等。其次还要注意一个单元格内容跨页的情况,需根据语义或者框线将其合并为一个单元格。
第四种,表格线条不完整,此时,需根据文本的位置、格式和内容语义智能定位分界线。
香侬科技表格抽取处理流程
在了解了应用场景后,下面,我们详细为大家分享一下香侬科技表格抽取技术的处理流程。
香侬科技表格抽取技术解决方案示意图
整个技术处理流程中的核心技术为“表格抽取”,辅助技术是PDF解析与OCR(注:OCR全称为optical character recognition,译为光学字符识别,该技术的处理过程为,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。)我们将在下一期香侬聊中为大家介绍有关PDF解析和OCR的具体内容。
一般情况下,用户需先输入所需处理格式文件,常用格式包括PDF、PNG、JPG、Word等,然后我们对其中的内容进行解析。
对于图片、PDF等不可编辑类文件,需先进行OCR识别和解析,然后再使用表格抽取技术提取出其中的表格区域。
在经过以上处理后,此时就可以进行表格抽取,主要有四个步骤,包括最小单元分割、特征嵌入、特征提取、表格分割。该技术方案将复杂的问题拆分简化,从而更加易于技术实现,实际的效果也更好。
这种流式的表格抽取技术,相比人工抽取表格,有如下显著优势:
处理效率高:全自动化抽取,支持批量处理,有效提高了表格抽取、信息检索的效率,减少90%以上的人力开销;
多种格式支持:支持PDF、Word和各类图片格式,通过PDF解析与OCR统一规范化为计算机能够识别的格式,抽取的结果能以Excel形式下载导出编辑;
复杂场景支持:支持各种复杂场景下的表格抽取,如褶皱弯曲、旋转倾斜、背景印章、阴影模糊等多达十余种复杂场景,无需特殊处理即可导出结果;
准确率有保障:采用最新深度学习图像处理技术,在大幅提高效率的同时也能取得不低于人工抽取的准确率,能完整抽取出98%以上的表格,满足各类实际业务需求。
香侬科技表格抽取方案实现
下面,我们将介绍该解决方案中的核心技术——表格抽取的技术实现。
任何技术都离不开具体的业务特点,因此我们首先需要结合业务场景分析数据特征。显然,相比一般的表格,现实复杂金融场景的表格还有一些特殊之处:
表格线条不完整;
默认表格格式为标准的M列,N行格式,金融领域的大部分表格都不是简单的M*N标准化表格形式,普通的表格抽取无法对进行过合并单元格、跨页等操作的表格进行信息抽取;
大多数金融领域表格都有不同的特征,比如不同的字体、字号与颜色等,一般的表格抽取未充分利用这些视觉信息辅助信息抽取。
比如下图的表格,既不是规范的M*N格式,而且其中不同的字体也代表了不同的含义,传统的表格抽取技术就无法很好处理。
(图片来源于网络)
基于此,香侬科技采用了业内领先的“四步”表格抽取解决方案:
提出“最小单元格”的概念,将非规范化表格转化为规范化表格;
使用三种编码方式共同刻画每个“最小单元格”的特征;
使用特征提取器抽取全表格的特征;
使用实例分割模型识别每个单元格所属类别(表头或内容)。
该方案的示意图如下所示:
表格抽取技术流程图
第一步是最小单元分割。使用最小的分割次数,为将非规范化的表格切割为N行N列规范化表格的过程。这一过程可以通过延长所有已存在的表格线至表格上下或左右端点完成。这一步可以将非规范化表格转变为规范化的M*N表格,从而有利于后续的处理。
第二步是特征嵌入。不同于NLP领域中常见的一维信息,表格是二维的,因此需分别对行和列的位置进行编码,并加以拼接得到每个“最小单元格”的二维位置编码。除了位置编码之外,还使用了图形信息编码,利用表格中不同字体、字号、颜色等视觉信息。最后还引入了语义词向量编码,使用在海量金融文本上预训练得到的词向量将每个“最小单元格”中的文字映射为高维语义向量,保持相似词汇的高维向量也相近。
第三步是特征提取。不同于特征嵌入是对每个“最小单元格”进行局部映射,特征提取是综合整个表格中不同单元格的特征,获取对表格更全面、更丰富的向量表示。为此香侬将NLP领域强大的特征提取器SpanBERT扩展为了二维形式应用于表格整体特征抽取,SpanBERT结构如下图所示:
SpanBERT结构示意图
最后一步是表格分割。香侬使用了计算机视觉领域实例分割任务上当前最优的模型Mask-RCNN进行表格分割。该模型不但能对“最小单元格”进行“聚类”,还能进行分类,也即判断某些被聚为一簇的单元格属于表头或内容。Mask-RCNN使用ROI Align技术对每个可能的分割候选框进行特征提取,并在其基础上分别进行分类与坐标回归。Mask-RCNN的结构如下图所示:
Mask-RCNN结构示意图
上述是一般表格的处理流程。但在我们的实际业务中发现,有很多表格都是以扫描件、拍照等图片的形式呈现,这时候所展示出的表格质量就非常差,比如下图的表格就有严重的倾斜,还有些文件存在印章、背景色、光影等,这些问题在金融领域很常见,并且往往对人工审核也会造成较大的干扰。
倾斜表格的抽取
为了解决这些现实问题,香侬科技结合传统图像处理技术与深度学习方法,具体而言有:
旋转矫正:对于图片,拍摄时由于近小远大的人为原因,所造成的倾斜与形变。采用Hough变换与直方图算法识别图片倾斜角度,然后对图片进行仿射变换与矫正。
盖章去除:图片往往带有印章,印章颜色通常为红色与蓝色,则以颜色与形状作为特征,使用ResidualNet参差卷积神经网络为骨干网络的FasterRCNN目标检测算法,识别出盖章的具体位置与颜色分布,以此来消除盖章。
背景颜色消除:除了印章的干扰,很多表格中的单元格还带有如灰色、蓝色、黄色的背景颜色。通过滤波器算法找到带有颜色的区域种子位置,然后通过滴水蔓延法将带有颜色的背景颜色置为普通背景颜色(比如白色)。
边框消除:处理截图时造成的多余的边框,采用优化后的Hough变换与Line Segment算法,抽取出图片中的横线与直线,这样输出的图片中就只带有表格线。
经过上述处理,我们在实际业务中发现,99%复杂场景下的表格就可以被完美处理,剩下的极小部分无法处理的表格就交由人工完成。经过上述过程,整个表格就已经被成功提取了出来,可用于下载导出或编辑。
表格抽取其实还有下一步,就是当表格的结构理解以后,将对应的数值提取出来,比如2019年的收入,对应的是2019年这一列的收入这一行。下面我们就为大家介绍一下这部分技术的实现。
香侬科技表格信息检索技术介绍
尽管上述步骤可以提取出整体表格,但是在实际的金融业务场景下,我们不需要表格的所有内容,只关心其中的若干个单元格内容。这一步叫做表格信息检索。我们采用一种基于深度学习和阅读理解的表格信息检索方法定位表格中的数据。
阅读理解任务是给定一段上下文(Context)和一个询问(Query),模型从上下文中找到对应的答案(Answer)。在表格信息检索中,上下文就是整个表格,询问就是用户需要的单元格内容,比如“[2020年][利润]”,第一个括号表示行,第二个括号表示列。这样,模型就能根据行和列的具体内容定位表格的数据。
阅读理解模型示意图
本方案使用基于Transformer的阅读理解模型。与一维的序列数据不同,表格数据是二维的,其单元格之间的空间相关性体现为二维平面上的距离,而非一维空间上的“下一个”的关系。为了处理这种情况,我们对Transformer模型做了调整,将Transformer中用以描述空间相关关系的Position Embedding修改为二维Position Embedding。
具体而言,表格的每一行具有一个行表示(Row Embedding),每一列具有一个列表示(Column Embedding),而每个单元格的位置表示(Position Embedding)是对应的行表示和列表示的连接(Concatenate)。行表示和列表示的初始化方案我们依旧使用Transformer中的表示方法,即使用sine 和cosine函数初始化。
在利用Transformer将表格数据编码后,我们得到了一个N*d维的矩阵,其中N表示共有N个单元格,d表示Embedding维度。至此,我们将表格和问题都表示成了Embedding的形式,并保留了其与原始cell或word的映射。在此基础上,我们可以利用Transformer阅读理解模型对该问题进行求解。
总结
本文介绍了香侬科技应用前沿自然语言处理技术实现自动表格提取的解决方案,能够针对PDF或图片格式的文件,从各种复杂场景下完整、准确地抽取出表格,并实现自动化存储。依托神经网络模型,自动表格提取可以大幅提高表格数据获取的效率,减少超过90%的人工成本,同时又不失准确率,进而能够应用在财务报表、披露公告等依赖表格数据的金融场景中。同时,该技术已在多家金融机构中进行了落地应用。
下期香侬聊,我们将为大家分享有关PDF解析和OCR的相关内容。