DocBank是一个使用弱监督方法构建的新的大规模数据集。它使模型能够集成下游任务的文本和布局信息。目前的DocBank数据集总共包含500K文档页面,其中400K用于训练,50K用于验证,50K用于测试。
我们已将数据集上传到 HuggingFace 上。
我们将许可证更新为 Apache-2.0。
MSCOCO 格式注释可以从 DocBank 数据集主页下载。
ResNeXt-101 模型已添加到模型动物园中。
我们的论文已被 COLING2020 接收,Camera-ready 版论文已在 arXiv.com 上更新
我们提供了一个名为 DocBankLoader 的数据集加载器,它还可以将 DocBank 转换为对象检测模型的格式
DocBank 是 TableBank(repo、paper)数据集的自然扩展
LayoutLM(repo,论文)是一种有效的文本和布局预训练方法,并将 SOTA 结果存档在 DocBank 上
对于文档布局分析任务,已经有一些基于图像的文档布局数据集,但它们大多数是为计算机视觉方法构建的,很难应用于 NLP 方法。此外,基于图像的数据集主要包括页面图像和大型语义结构的边界框,它们不是细粒度的标记级注释。此外,生成人工标记和细粒度的令牌级文本块排列也是耗时且费力的。因此,利用弱监督以最小的努力获得细粒度的标记文档,同时使数据易于应用于任何自然语言处理和计算机视觉方法至关重要。
为此,我们构建了 DocBank 数据集,这是一个文档级基准,具有用于布局分析的细粒度标记级注释。与传统的人工标记数据集不同,我们的方法在弱监督的情况下以简单而有效的方式获得高质量的注释。
DocBank 数据集由 500K 文档页面和 12 种语义单元组成。
分裂 | 抽象的 | 作者 | 标题 | 日期 | 方程 | 数字 | 页脚 | 列表 | 段落 | 参考 | 部分 | 桌子 | 标题 | 全部的 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
火车 | 25,387 | 25,909 | 106,723 | 6,391 | 161,140 | 90,429 | 38,482 | 44,927 | 398,086 | 44,813 | 180,774 | 19,638 | 21,688 | 40万 |
6.35% | 6.48% | 26.68% | 1.60% | 40.29% | 22.61% | 9.62% | 11.23% | 99.52% | 11.20% | 45.19% | 4.91% | 5.42% | 100.00% | |
开发者 | 3,164 | 3,286 | 13,443 | 第797章 | 20,154 | 11,463 | 4,804 | 5,609 | 49,759 | 5,549 | 22,666 | 2,374 | 2,708 | 50,000 |
6.33% | 6.57% | 26.89% | 1.59% | 40.31% | 22.93% | 9.61% | 11.22% | 99.52% | 11.10% | 45.33% | 4.75% | 5.42% | 100.00% | |
测试 | 3,176 | 3,277 | 13,476 | 第832章 | 20,244 | 11,378 | 4,876 | 5,553 人 | 49,762 | 5,641 | 22,384 | 2,505 人 | 2,729 | 50,000 |
6.35% | 6.55% | 26.95% | 1.66% | 40.49% | 22.76% | 9.75% | 11.11% | 99.52% | 11.28% | 44.77% | 5.01% | 5.46% | 100.00% | |
全部的 | 31,727 | 32,472 | 133,642 | 8,020 | 201,538 | 113,270 | 48,162 | 56,089 | 497,607 | 56,003 | 225,824 | 24,517 | 27,125 | 50万 |
6.35% | 6.49% | 26.73% | 1.60% | 40.31% | 22.65% | 9.63% | 11.22% | 99.52% | 11.20% | 45.16% | 4.90% | 5.43% | 100.00% |
年 | 火车 | 开发者 | 测试 | 全部 | ||||
---|---|---|---|---|---|---|---|---|
2014年 | 65,976 | 16.49% | 8,270 | 16.54% | 8,112 | 16.22% | 82,358 | 16.47% |
2015年 | 77,879 | 19.47% | 9,617 | 19.23% | 9,700 | 19.40% | 97,196 | 19.44% |
2016年 | 87,006 | 21.75% | 10,970 | 21.94% | 10,990 | 21.98% | 108,966 | 21.79% |
2017年 | 91,583 | 22.90% | 11,623 | 23.25% | 11,464 | 22.93% | 114,670 | 22.93% |
2018年 | 77,556 | 19.39% | 9,520 | 19.04% | 9,734 | 19.47% | 96,810 | 19.36% |
全部的 | 40万 | 100.00% | 50,000 | 100.00% | 50,000 | 100.00% | 50万 | 100.00% |
数据集 | #页数 | #单位 | 基于图像? | 基于文本? | 细粒度? | 可扩展吗? |
---|---|---|---|---|---|---|
文章区域 | 100 | 9 | ✔ | ✘ | ✔ | ✘ |
格罗托AP2 | 119,334 | 22 | ✔ | ✘ | ✘ | ✘ |
公共网络 | 364,232 | 5 | ✔ | ✘ | ✔ | ✘ |
表格银行 | 417,234 | 1 | ✔ | ✘ | ✔ | ✔ |
文件库 | 50万 | 12 | ✔ | ✔ | ✔ | ✔ |
由于数据集在标记级别进行了完全注释,因此我们将文档布局分析任务视为基于文本的序列标记任务。
在此设置下,我们在数据集上评估了三种具有代表性的预训练语言模型,包括 BERT、RoBERTa 和 LayoutLM,以验证 DocBank 的有效性。
为了验证 DocBank 上不同模态模型的性能,我们在 DocBank 的目标检测格式上训练 Faster R-CNN 模型,并将其输出与序列标记模型统一进行评估。
由于我们模型的输入是序列化的二维文档,典型的生物标记评估不适合我们的任务。每个语义单元的标记可以在输入序列中不连续地分布。
在这种情况下,我们提出了一种新的度量标准,特别是针对基于文本的文档布局分析方法。对于每种文档语义结构,我们单独计算它们的指标。定义如下:
我们的 BERT 和 RoBERTa 基线建立在 HuggingFace 的 Transformers 之上,而 LayoutLM 基线则使用 LayoutLM 官方存储库中的代码库实现。我们使用 8 个 V100 GPU,每个 GPU 的批量大小为 10。在 400K 文档页上微调 1 epoch 需要 5 个小时。我们使用 BERT 和 RoBERTa 分词器对训练样本进行分词,并使用 AdamW 优化模型。优化器的初始学习率为5e-5。我们将数据分割成最大块大小 N=512。我们使用 Detectron2 在 DocBank 上训练 Faster R-CNN 模型。我们使用 Faster R-CNN 算法,以 ResNeXt-101 作为主干网络架构,其中参数在 ImageNet 数据集上进行预训练。
型号 | 抽象的 | 作者 | 标题 | 方程 | 数字 | 页脚 | 列表 | 段落 | 参考 | 部分 | 桌子 | 标题 | 宏观平均 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
伯特基地 | 0.9294 | 0.8484 | 0.8629 | 0.8152 | 1.0000 | 0.7805 | 0.7133 | 0.9619 | 0.9310 | 0.9081 | 0.8296 | 0.9442 | 0.8770 |
罗伯塔基地 | 0.9288 | 0.8618 | 0.8944 | 0.8248 | 1.0000 | 0.8014 | 0.7353 | 0.9646 | 0.9341 | 0.9337 | 0.8389 | 0.9511 | 0.8891 |
布局基础 | 0.9816 | 0.8595 | 0.9597 | 0.8947 | 1.0000 | 0.8957 | 0.8948 | 0.9788 | 0.9338 | 0.9598 | 0.8633 | 0.9579 | 0.9316 |
伯特·拉格 | 0.9286 | 0.8577 | 0.8650 | 0.8177 | 1.0000 | 0.7814 | 0.6960 | 0.9619 | 0.9284 | 0.9065 | 0.8320 | 0.9430 | 0.8765 |
罗伯塔大 | 0.9479 | 0.8724 | 0.9081 | 0.8370 | 1.0000 | 0.8392 | 0.7451 | 0.9665 | 0.9334 | 0.9407 | 0.8494 | 0.9461 | 0.8988 |
布局大 | 0.9784 | 0.8783 | 0.9556 | 0.8974 | 1.0000 | 0.9146 | 0.9004 | 0.9790 | 0.9332 | 0.9596 | 0.8679 | 0.9552 | 0.9350 |
X101 | 0.9717 | 0.8227 | 0.9435 | 0.8938 | 0.8812 | 0.9029 | 0.9051 | 0.9682 | 0.8798 | 0.9412 | 0.8353 | 0.9158 | 0.9051 |
X101 和layoutlm-base | 0.9815 | 0.8907 | 0.9669 | 0.9430 | 0.9990 | 0.9292 | 0.9300 | 0.9843 | 0.9437 | 0.9664 | 0.8818 | 0.9575 | 0.9478 |
X101 和layoutlm-大 | 0.9802 | 0.8964 | 0.9666 | 0.9440 | 0.9994 | 0.9352 | 0.9293 | 0.9844 | 0.9430 | 0.9670 | 0.8875 | 0.9531 | 0.9488 |
我们在 DocBank 的测试集上评估了六个模型。我们注意到 LayoutLM 在 {abstract、author、caption、equation、figure、footer、list、paragraph、section、table、title} 标签上获得最高分。 RoBERTa 模型在“参考”标签上获得了最佳性能,但与 LayoutLM 的差距非常小。这表明 LayoutLM 架构在文档布局分析任务中明显优于 BERT 和 RoBERTa 架构。
我们还评估了 ResNeXt-101 模型以及结合 ResNeXt-101 和 LayoutLM 的两个集成模型。 ResNeXt-101 模型的输出是语义结构的边界框。为了统一它们的输出,我们通过相应边界框的标签来标记每个边界框内的标记。之后,我们按照上述方程计算指标。
经过训练的模型可在 DocBank Model Zoo 中下载。
我们提供了一个脚本来将 PDF 文件转换为 DocBank 格式数据。您可以运行scripts目录中的PDF处理脚本pdf_process.py。您可能需要通过 pip 软件包安装程序安装此脚本的一些依赖项。
光盘脚本 python pdf_process.py --data_dir /path/to/pdf/目录 --output_dir /路径/到/数据/输出/目录
**请不要重新分发我们的数据。**
如果您在已发表的作品中使用该语料库,请参考“论文和引文”部分引用它。
我们在indexed_files
目录中提供了100个用于预览的样本以及训练集、验证集和测试集的索引文件。
在这项工作中,我们使用 PDF 页面的大小标准化所有边界框,并将每个值缩放到 0-1000 的范围内,以适应文档的各种布局。
DocBank数据集的注释和原始文档图片可以从HuggingFace下载。
李明浩、徐一恒、崔雷、黄少涵、魏福如、李周军、周明
https://arxiv.org/abs/2006.01038
@misc{li2020docbank, title={DocBank: A Benchmark Dataset for Document Layout Analysis}, author={Minghao Li and Yiheng Xu and Lei Cui and Shaohan Huang and Furu Wei and Zhoujun Li and Ming Zhou}, year={2020}, eprint={2006.01038}, archivePrefix={arXiv}, primaryClass={cs.CL} }