LayoutReader: Pre-training of Text and Layout for Reading Order Detection

相关链接:arxiv 关键字:文档理解阅读顺序检测深度学习模型OCR引擎改进基准数据集

摘要

阅读顺序检测是理解视觉丰富文档(例如收据和表格)的基石。遗憾的是,由于为足够大的数据集注释阅读顺序过于繁琐,因此没有现有工作利用先进的深度学习模型。我们观察到WORD文档的阅读顺序嵌入在其XML元数据中;同时,将WORD文档转换为PDF或图像也很容易。因此,我们以自动化的方式构建了ReadingBank,这是一个基准数据集,包含500,000个文档图像的阅读顺序、文本和布局信息,涵盖了广泛的文档类型。这个前所未有的大规模数据集释放了深度神经网络用于阅读顺序检测的潜力。具体来说,我们提出的LayoutReader利用seq2seq模型捕获文本和布局信息,用于阅读顺序预测。它在阅读顺序检测中表现几乎完美,并在实验中显著提高了开源和商业OCR引擎在其结果中排序文本行的能力。我们将在https://aka.ms/layoutreader上发布数据集和模型。

核心方法

  1. 数据集构建(ReadingBank):利用WORD文档的XML元数据中的阅读顺序信息,构建了一个包含500,000个文档图像的基准数据集,覆盖了多种文档类型。

  2. 文档转换:将WORD文档转换为PDF格式,以便于使用任何现成的PDF解析器轻松提取每个单词的2D边界框。

  3. 颜色方案设计:为了解决同一文档中单词重复出现的问题,提出了一种颜色方案,通过将出现索引映射到RGB颜色,为每个单词着色。

  4. LayoutReader模型:提出了一个新的阅读顺序检测模型,使用seq2seq模型编码文本和布局信息,并生成阅读顺序的索引序列。

  5. 编码器和解码器设计:在编码阶段,LayoutReader将源和目标段打包成连续的输入序列,并设计了自注意力掩码以控制标记之间的可见性。在解码阶段,模型被要求预测源序列中的索引。

实验说明

实验设计了三个部分:阅读顺序检测、输入顺序研究和OCR引擎适应性。

  1. 比较方法:包括基于启发式方法的排序、仅使用文本信息的LayoutReader和仅使用布局信息的LayoutReader。

  2. 实现细节:使用HuggingFace Transformers和s2s-ft工具包实现,训练使用4个Tesla V100 GPU,批大小为4,训练周期为3个epoch。

  3. 评估指标:平均页面级BLEU分数和平均相对距离(ARD)。

  4. 实验结果:LayoutReader在阅读顺序检测任务上取得了最佳性能,与基于启发式的方法和其他基线相比有显著提升。

结论

本文提出了ReadingBank,一个用于阅读顺序检测的基准数据集,包含500,000个文档图像。此外,我们还提出了一种新的阅读顺序检测方法LayoutReader,该方法基于预训练的LayoutLM模型构建。实验表明,LayoutReader显著优于传统的左到右、上到下的启发式方法以及几个强基线。此外,LayoutReader可以轻松适应任何OCR引擎,以改进阅读顺序,从而提高下游任务的性能。ReadingBank数据集和LayoutReader模型将公开提供,以支持更多关于阅读顺序检测的研究。