本文分享自华为云社区《论文解读系列十五:文档结构分析》,原文作者:一笑倾城。
1 文章摘要
提出一个端到端的文档结构分析方案(DocParser),对文档(扫描版、图片版等)进行结构提取,包括实体识别(这里实体指所有需要检测的元素,包括文本、行、列、单元格等)和关系分类。 基于TEX和synctex,通过反向生成TEX代码生成弱监督标签。
2 解决方案
给定文档集D,目标是生成层级结构T,其中T包括实体及实体间的关系Relations。对于实体,E指文档中的各种元素,如数字、表、行、单元格等,每个实体包括3个特性,1. 语义类别, 2. 检测框(bouding box)的坐标,3. 置信度(confidence score)。对于Relations,R由三元组(Esubj,Eobj,Ψ) 给定, 关系类别Ψ ∈ {parent of ,followed by,null},null表示其它无关的实体,例如页眉页脚。
实体E及其关系R的组合足以重构一个文档的层级结构T。
难点:实体外表相似、层级嵌套nested,以及不同文档具备多样性。
2.1 ImageConversion
将输入文档图转化成分辨率为ρ的图片,这个分辨率是预定义的,然后所有图片resize到固定大小φ(必要时补零zero padding); 之后图片经过预处理,所有图片的RGB通道都类比MS COCO数据集进行标准化处理, 这么做是为了后续初始化模型的时候利用这个数据集的预训练的权重。
2.2 EntityDetection
利用 Mask R-CNN构造模型,做图像分割识别一个文档图片内的所有实体。这个模型以上一阶段产生的图片作为输入,输出一个实体列表E1,...,Em。对每一个实体, Mask R-CNN确定:1) 它的方形bounding box,2)confidence score置信度,3) a binary segmentation mask (区分bounding box里检测的实体及背景像素pixel),4) 实体的类别标签, 共23类,CONTENT BLOCK, TABLE, TABLE ROW, TABLE COLUMN, TABLE CELL, TABULAR, FIGURE, HEADING, ABSTRACT, EQUATION, ITEMIZE, ITEM, BIBLIOGRAPHY BLOCK, TABLE CAPTION, FIGURE GRAPHIC, FIGURE CAPTION, HEADER, FOOTER, PAGE NUMBER, DATE, KEYWORDS, AUTHOR, AFFILIATION。
2.3 Relation Classification
基本是启发式的算法 。
2.3.1 nesting( parent of)这里分4步:
- h1: Overlaps,通过IOU判断检测框之间的重叠关系;
- h2: Grammar Check,语法检查;
- h3: Direct Children,对候选列表修整,只保留直系孩子direct children,sub-children会被移除;
- h4: Unique Parents,对候选列表修整,使每个实体只有一个父节点;
2.3.2 ordering (followed by)
实体根据自然阅读顺序排列(比如从左至右)。默认情况下,所有实体都将经过这两种heuristics处理:
- Page Layout Entities主要是确定页面是单栏布局或多栏布局;
- Reading Flow:根据阅读顺序重组节点顺序;
3 实验结果
在ICDAR表格结构分析的效果: