HuggingFace镜像/pubmed-ocr
数据集数据集查看器文件和版本
下载使用量0

PubMed-OCR:PMC开放获取文献OCR标注

PubMed-OCR是一个以OCR为中心的科学文献语料库,源自PubMed Central开放获取PDF。每一页均被渲染为图像,并通过Google Cloud Vision OCR进行标注,最终以紧凑的JSON模式发布,包含单词级、行级和段落级的边界框信息。

规模(发布版):

  • 20.95万 篇文献
  • 约150万 页
  • 约13亿 个单词(OCR标记)

该数据集旨在支持布局感知建模、基于坐标的问答,以及科学文档OCR依赖流水线的评估。

数据集详情

数据集描述

  • 整理者: Roots.ai
  • 联系方式: ai-ml@roots.ai
  • 语言: 英语(主要;参见局限性)
  • 数据单元: 1行 = 1个PDF页面(通过{basename, page}唯一标识)
  • 许可证: 参见许可部分(源文献许可证;每行包含license字段)

数据集来源

  • 代码库: https://huggingface.co/datasets/rootsautomation/pubmed-ocr
  • 论文: PubMed-OCR: PMC Open Access OCR Annotations
  • 源语料库: PubMed Central开放获取(PMCOA)

用途

直接用途

PubMed-OCR适用于:

  • 训练/评估OCR感知或布局感知的文档模型
  • 测试依赖OCR的流水线(解析、检索、提取)的鲁棒性
  • 构建需要基于坐标证据的任务(例如,引用定位、区域归属)
  • 科学PDF的基准数据集整理(表格、公式、标题、参考文献)

超出范围的用途

  • 请勿将OCR输出视为黄金标准文本;其包含识别错误。
  • 不用于临床/医疗决策。
  • 不用于学习适用许可条款之外的受版权保护内容。
  • 不用作阅读顺序真值数据集。

数据集结构

数据实例

每一行对应单个页面。关键标识符:

  • basename:页面组标识符(文献级)
  • page:文献内的页面索引

ocr_json是一个JSON字符串,包含OCR输出,其中边界框采用渲染页面图像的像素坐标。

示例(模式概览;字段可能包含额外元数据):

{
  "image": {"width": 1275, "height": 1650, "dpi": 150},
  "text": {
    "words": [{"text": "Introduction", "bbox": [74, 132, 210, 156]}],
    "lines": [{"text": "Introduction", "bbox": [74, 130, 612, 160]}],
    "paragraphs": [{"text": "…", "bbox": [70, 120, 1180, 420]}]
  }
}

数据字段

  • basename(字符串):文章/页面组标识符。
  • page(int32):PDF/文章内的页面索引。
  • license(字符串):源文章的许可协议(例如,cc-by-4.0、cc-by-nc-4.0 等)。
  • pmid(字符串):PubMed ID(如可用)。
  • accession_id(字符串):访问标识符(例如,PMCID 或内部 ID)。
  • article_citation(字符串):源文章的引用字符串。
  • pdf_bytes(二进制):允许再分发时的原始 PDF 字节;否则可能为空/ null。
  • ocr_json(字符串):OCR 输出 JSON(见上文)。

数据集划分

此版本仅提供一个划分(train),因为它主要是一个语料库。 若用于基准测试,建议构建减少数据泄露的评估划分,例如:

  • 期刊级划分(留出整个期刊)
  • 时间基划分(按发表年份留出)
  • PMID/PMCID 不相交划分(文章级分离)

数据集创建

构建理由

科研 PDF 内容密集(包含公式、表格、多列布局)。许多 PMCOA 数据集依赖 PDF 与 XML 的对齐,这可能会遗漏扫描页面或继承解析器噪声。PubMed-OCR 直接从渲染的页面图像中提供原生 OCR 监督,支持依赖 OCR 的评估和布局感知学习,无需 PDF 与 XML 对齐。

源数据

数据收集与处理

高级处理流程:

  1. 下载 PubMed Central 开放获取 PDF(PMCOA),并筛选出允许再分发衍生制品的许可协议。
  2. 均匀抽样 209.5K 篇文献。
  3. 以150 DPI 渲染每个页面。
  4. 对页面图像运行 Google Cloud Vision 的 document_text_detection。
  5. 提取单词级和段落级多边形,并规范化为轴对齐边界框 [x1, y1, x3, y3]。
  6. 通过聚类具有相似垂直对齐的单词(启发式方法)重建行边界框。
  7. 为每个页面输出一行数据,包含 ocr_json(以及在允许情况下的 pdf_bytes)。

源数据的生产者是谁?

源文本由科研文章作者撰写,并通过 PubMed Central Open Access 中的期刊发表。

标注说明

标注流程

标注通过 Google Cloud Vision OCR 进行机器生成。

  • 词语/段落:由 OCR 引擎提供
  • 行:通过词语框启发式重建(参见局限性)

标注人员

标注人员为 OCR 引擎。本版本未进行任何人工标注。

个人及敏感信息

科学文章可能包含作者姓名、机构 affiliation、致谢、电子邮件和参考文献。内容来源于公开可用的 PMCOA 文章;未进行额外的匿名化处理。

偏差、风险与局限性

  • 单一 OCR 引擎:输出结果反映了 Google Vision 的优势/劣势,可能无法推广到其他 OCR 系统。
  • 启发式行重建:行分组和阅读顺序可能存在不完善之处,尤其是在多列布局以及公式/表格周围。
  • 轴对齐框:原始 OCR 多边形被简化为矩形。
  • 领域偏移:PMCOA 的期刊分布呈长尾分布(高容量期刊占主导地位)。
  • 非文本区域:本数据集未提供表格/图表/公式的黄金结构(仅包含 OCR 输出内容以及衍生的行)。

建议

  • 报告结果时,请明确说明您使用的是词语、行还是段落,以及是否对文本进行了重新线性化处理。
  • 为了进行公平评估,建议优先使用期刊不重叠或文章不重叠的数据集划分方式。
  • 如果需要表格/图表结构,请将本数据集与布局/表格数据集结合使用(或在其基础上运行布局模型)。

许可说明

本数据集包含源自 PMCOA 文章的内容。

  • 每个示例均继承其源文章的许可,记录在 license 字段中。
  • 用户负责遵守其使用的任何子集的许可条款。
  • 若存在 pdf_bytes,则仅在允许重新分发的情况下提供。

引用说明

如果您使用 PubMed-OCR,请引用:

@article{heidenreich2025pubmedocr,
  title={PubMed-OCR: PMC Open Access OCR Annotations},
  author={Heidenreich, Hunter and Getachew, Yosheb and Dinica, Olivia and Elliott, Ben},
  journal={arXiv preprint arXiv:2601.11425},
  year={2025}
}

如何加载

from datasets import load_dataset
import json

ds = load_dataset("rootsautomation/pubmed-ocr", split="train")

row = ds[0]
ocr = json.loads(row["ocr_json"])
words = ocr["text"]["words"]

对于大规模迭代,请考虑使用流处理:

ds = load_dataset("rootsautomation/pubmed-ocr", split="train", streaming=True)
for row in ds:
    ocr = json.loads(row["ocr_json"])
    ...

基于此数据训练的模型

  • GutenOCR-3B
  • GutenOCR-7B