开发者指南:如何为olmOCR-bench扩展自定义测试集并接入你的OCR模型 数据集AI 评测模型评测人工智能OCR【免费下载链接】olmOCR-bench项目地址https://ai.gitcode.com/hf_mirrors/allenai/olmOCR-bench点击查看免费下载olmOCR-bench 是 Allen AI 开源的OCR 评测基准数据集收录 1,403 个 PDF 单页文件与 7,010 条单元测试用例用于衡量 OCR 系统把 PDF、扫描件转换为 Markdown/HTML 时能否保留文字、阅读顺序、表格与公式等关键信息。本指南将带你读懂测试用例格式、学会扩展自定义测试集并把你的 OCR 模型接入评测流程。一、olmOCR-bench 是什么这个仓库本质上是一个考题库每页 PDF 配上一批可自动判分的测试用例覆盖 5 大类能力测试类型说明Text Present文本存在输出中必须包含指定短文本支持模糊匹配与位置约束Text Absent文本不存在输出中不应出现页眉、页脚、页码等干扰文本Reading Order阅读顺序两段文本的相对先后顺序必须正确Table表格精度单元格值存在且上下左右相邻关系正确Math公式精度基于符号布局与相对位置的公式存在性检测按文档来源统计各子集分布如下引自 README.md文档来源PDF 数测试数考察重点arXiv_math5222,927数学公式headers_footers266753页眉页脚剔除long_tiny_text62442超长极小字体multi_column231884多栏阅读顺序old_scans98526古旧扫描件old_scans_math36458旧扫描公式table_tests1881,020表格结构二、先看懂测试用例JSONL 格式速览 所有测试用例都以JSONL每行一条 JSON形式存放每个类别一个文件PDF 页面按类别分目录存放。核心目录结构bench_data/arxiv_math.jsonl公式用例bench_data/headers_footers.jsonl页眉页脚用例bench_data/multi_column.jsonl阅读顺序用例bench_data/tables/表格类 PDF 页面eval.yaml评测任务配置不同测试类型的字段略有差异下面各举一条真实样例。1. 文本存在 / 不存在present / absent{pdf: long_tiny_text/14a_pg1.pdf, page: 1, id: 14a_pg1_text_04, type: present, max_diffs: 0, text: Afro-Shirazi, also known as SHIRAZI, African tribe in Tanzania., case_sensitive: true, first_n: null, last_n: null, checked: verified}关键参数typepresent要求文本出现absent要求不出现max_diffs允许的最大字符差异数模糊匹配容错first_n/last_n位置约束如first_n: 10表示文本必须出现在输出前 10 个字符内case_sensitive是否区分大小写absent 类型默认不区分。2. 阅读顺序order{pdf: multi_column/0a2b678b..._page_8_pg1.pdf, page: 1, type: order, before: 48: 105-9., after: TGF-beta signaling: positive and negative effects..., max_diffs: 1, checked: verified}before必须出现在after之前适合验证多栏、图文混排的阅读顺序。3. 表格table{pdf: tables/b5c5b866..._pg4.pdf, page: 1, type: table, cell: 0.569, left_heading: BO, up: null, down: null, left: null, right: null, max_diffs: 0, checked: verified}cell是目标单元格值up/down/left/right/top_heading/left_heading描述其邻接关系用于验证表格结构是否正确。4. 公式math{pdf: arxiv_math/2503.04993_pg18.pdf, page: 1, type: math, math: \\frac{d}{d\\epsilon} J_1(u_1 \\epsilon v_1, u_2) \\Big|_{\\epsilon0}, max_diffs: 0, checked: verified}math字段是 LaTeX 源码评测时会按符号的渲染包围盒与相对位置匹配例如要求\int位于x左侧。三、扩展自定义测试集5 步完成 第 1 步准备 PDF 页面把测试用的单页 PDF放入新目录例如bench_data/my_dataset/保持文件名清晰如sample_pg1.pdf。注意仓库本身是只读数据集扩展时建议 fork 一份再操作git clone https://gitcode.com/hf_mirrors/allenai/olmOCR-bench cd olmOCR-bench第 2 步编写 JSONL 用例文件新建bench_data/my_dataset.jsonl每行一条用例。字段模板如下{pdf: my_dataset/sample_pg1.pdf, page: 1, id: sample_pg1_text_01, type: present, text: 你期望被识别出的原文句子, max_diffs: 2, case_sensitive: true, first_n: null, last_n: null, checked: verified}编写建议id必须全局唯一官方命名规律是文件名_类型_序号如14a_pg1_text_04便于溯源text取 1–3 句与官方短文本段定义一致过长会降低判分稳定性max_diffs按难度调干净文档可用 0旧扫描建议 1–3checked标记人工核验状态如verified便于后续区分机标/人标数据。第 3 步注册数据分片在 README.md 顶部 frontmatter 的configs.data_files中为新类别增加一个split条目- split: my_dataset path: - bench_data/my_dataset.jsonl这样数据集加载器就能按 split 读取你的用例。第 4 步在评测配置中声明任务打开 eval.yaml仿照现有条目添加任务即可让评测框架按 split 逐项打分- id: my_dataset config: default split: my_dataset第 5 步本地验证先用一个已有模型或简单脚本输出 Markdown跑通单条用例确认pdf路径正确、type与字段匹配、模糊阈值合理。全部通过后再纳入正式评测。四、接入你的 OCR 模型 评测流程非常直接olmOCR-bench 是纯数据基准判分由配套的 olmocr 评测框架完成见 eval.yaml 中evaluation_framework: olmocr-bench声明准备输入读取各 split 对应的 PDFbench_data/类别/目录模型推理逐页调用你的 OCR 模型输出 Markdown表格类可输出 HTML更利于复杂结构判定自动判分评测框架按present / absent / order / table / math五类规则逐条核对按类别与整体overall汇总得分对比基线README 中给出了 Marker、MinerU、GOT OCR、Mistral OCR 等模型的官方成绩可直接对标当前最强成绩约 77.4 分。 小建议先跑long_tiny_text与multi_column这两个区分度高的子集快速定位短板再全量评测。五、常见问题 FAQ ❓Q1为什么我的 present 用例总是失败先检查max_diffs是否过小、case_sensitive是否过严再确认text与 PDF 原文逐字一致含标点。Q2absent 用例能限制位置吗可以。配合first_n/last_n可精确约束例如页码 31 不得出现在前 10 个字符。Q3表格输出用 Markdown 还是 HTML简单表格 Markdown 即可复杂嵌套结构建议输出 HTML官方说明指出复杂结构需要 HTML 才能准确判定邻接关系。Q4公式判定对输出格式有要求吗公式判定基于渲染后的符号包围盒与相对位置因此输出需包含可渲染的数学标记如 LaTeX。六、写在最后 ✍️olmOCR-bench 的价值在于用例级、可自动判分的 OCR 质量度量。扩展自定义测试集的核心就是三件事单页 PDF 入目录、按类型规范写 JSONL、在 frontmatter 与 eval.yaml 中注册 split。掌握这套流程后你不仅能评测通用能力还可以针对行业文档如财报、古籍、票据构建专属基准持续追踪自己模型的 OCR 能力演进。赞分享数据集AI 评测模型评测人工智能OCR【免费下载链接】olmOCR-bench项目地址https://ai.gitcode.com/hf_mirrors/allenai/olmOCR-bench点击查看免费下载相关推荐终极Casibase开发者指南如何快速扩展自定义AI模型与嵌入算法终极Casibase开发者指南如何快速扩展自定义AI模型与嵌入算法 Casibase是一款开源企业级AI知识库与MCPmodel context protoAI 应用人工智能大模型AI AgentRAGMCP 服务后端前端语音React Native新架构深度解析Fabric与TurboModules的革命性变革React Native新架构深度解析Fabric与TurboModules的革命性变革 React Native新架构是近年来React Native生态系Claudian 安装指南把 Claude Code 嵌进 Obsidian 侧边栏的 3 条路径Claudian 安装指南把 Claude Code 嵌进 Obsidian 侧边栏的 3 条路径 你在 Obsidian 里写完一段内容想让 ClaudeAI 应用代码智能体交互助手人工智能AI Agent上一篇会话级 Clean State 工程实践让 AI Agent 每次会话都留下可接手的干净状态下一篇导出即ROS包solidworks_urdf_exporter生成的robot_description包结构全解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考