论文解读丨文档结构分析
摘要:一个端到端的文档结构分析方案(DocParser),对文档(扫描版、图片版等)进行结构提取,包括实体识别(这里实体指所有需要检测的元素,包括文本、行、列、单元格等)和关系分类。
本文分享自华为云社区《论文解读系列十五:文档结构分析》,原文作者:一笑倾城。
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, TABLECELL, TABULAR, FIGURE, HEADING, ABSTRACT, EQUATION, ITEMIZE, ITEM, BIBLIOGRAPHYBLOCK, TABLE CAPTION, FIGURE GRAPHIC, FIGURE CAPTION, HEADER, FOOTER, PAGENUMBER, DATE, KEYWORDS, AUTHOR, AFFILIATION。
2.3 RelationClassification
基本是启发式的算法 。
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 表格结构分析的效果:
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/c5c1e29627d75d8531ba67b5b】。文章转载请联系作者。
评论