【免费下载链接】ExtractBench项目地址https://ai.gitcode.com/hf_mirrors/llamaindex/ExtractBench点击查看免费下载做文档信息抽取Information Extraction评测时你是否想知道一个基准数据集到底长什么样这篇文章带你逐字段拆解ExtractBench 数据集它的每一行 JSONL 里藏着 8 个字段——从id到tags再到 JSON Schema 定义与评分规则帮你快速看懂这套 schema 引导式企业文档抽取基准的完整结构。ExtractBench 数据集简介什么是 Schema 引导式文档抽取ExtractBench 由 LlamaIndex 团队发布Apache 2.0 协议面向企业真实文档的结构化抽取给定一份完整文档born-digital 或扫描件和一个由用户书写的 schema系统必须返回一份通过 schema 校验的 JSON 对象并为每个值附上**页码 边界框bbox**作为证据。数据集规模370 份文档、4,869 页覆盖8 个业务领域D1–D8、67 种文档类型每种文档类型有且仅有一份 schema被该类型下所有文档共享325 份真实文档 45 份合成长列表134 份含扫描件、55 份含手写、38 份为退化重拍版本任务挑战分三类T1 长列表完整性、T2 大海捞针、T3 密集文档数据集元信息定义在 eval.yaml三份分割文件分别是 short.jsonl、medium.jsonl 和 long.jsonl源 PDF 按分割存放在 docs/short/、docs/medium/、docs/long/ 目录下完整说明见 README.md。一行 JSONL 的完整解剖先看整体结构JSONL 的每一行 一个文档 schema 测试用例。下面是 README.md 中 Dataset Format 一节给出的结构示例字段顺序与实际数据一致{ id: short/grafton_isotrope_invoice_19503, // 唯一用例 IDsplit/stem category: short, // 分割名short | medium | long pdf: docs/short/grafton_isotrope_invoice_19503.pdf, // 源文档相对路径 data_schema: {...}, // JSON 编码的 JSON Schema expected_output: {...}, // JSON 编码的标准答案 field_rules: {...}, // JSON 编码的逐字段评分规则 repeated_structure: {...}, // JSON 编码的记录身份键配置 tags: [source:real, challenge:T3.b, length:short, domain:D1] }8 大字段总览谁负责什么#字段类型一句话说明1idstring测试用例唯一标识格式split/stem2categorystring分割名short/medium/long3pdfstring源 PDF 的相对路径4data_schemastringJSON 编码的JSON Schema输出必须通过它的校验5expected_outputstringJSON 编码的标准答案ground truth6field_rulesstringJSON 编码的逐字段评分规则7repeated_structurestringJSON 编码的记录身份键配置用于数组对齐8tagsstring[]多维标签数组支持切片分析按职责可以分三组输入侧id/category/pdf告诉你文件在哪、属于哪个长度桶任务与真值侧data_schema/expected_output/field_rules/repeated_structure定义要抽什么、什么算对、怎么对齐记录️分析侧tags低分时帮你定位原因出在哪个维度前 3 个字段详解id、category 与 pdfid是全局唯一标识格式为split/stem。以short/grafton_isotrope_invoice_19503为例前半段是分割名后半段就是源文件去扩展名后的文件名stem例如docs/short/grafton_isotrope_invoice_19503.pdf。这意味着通过id就能直接定位到源文档不需要任何额外索引。category只取三个值shortL1≤10 页、mediumL211–50 页、longL350 页与 JSONL 所在文件一一对应且始终与tags里的length标签一致。pdf是相对仓库根目录的源文档路径指向 docs/short/ 等目录下的真实 PDF。评测框架会按这个路径下载文档本地查看某份样例时可直接打开 docs/short/grafton_isotrope_invoice_19503.pdf 对照字段理解抽取任务。4 个 JSON 编码字段为什么 schema 要藏在字符串里data_schema、expected_output、field_rules、repeated_structure四个字段存的都是JSON 编码的字符串而不是结构化列。这是理解整个数据集的关键每种文档类型的 schema 完全不同——电费单、SEC 13F 持仓表、海关 7501 表、购房披露表的字段结构天差地别没法用一张统一表格装下所有字段。因此这四个字段采用 JSON-in-string 的形式加载后用json.loads解码即可。这也是一个实用提醒在最大的长列表文档里单个field_rules可高达21 MB所以在线数据集查看器只能显示单元格预览完整数据以下载的 JSONL 文件为准。data_schema输出的 JSON Schema 定义data_schema解码后就是一份标准JSON Schema规定输出 JSON 的字段名、类型、必填项、数组元素结构等。系统的输出必须通过这份 schema 校验否则直接判错——这正是Schema-Guidedschema 引导式的含义schema 既是任务说明书也是输出的硬约束。field_rules逐字段评分规则field_rules把 schema 中每个字段路径映射到一条评分规则决定什么才算对子字段含义comparator比较方式exact、case_insensitive、number、date、boolean、enum等evidence所有可接受的读法及出处存为{page, bbox, quote, value}任一可接受读法都算正确source_policy该值是否必须逐字出现在原文中evidence_required/verified是否存在 grounding 证据以及是否经过人工核验evidence的设计很聪明同一个值可能允许多种读法比如日期写成2024-01-15或01/15/2024标注时把每种可接受读法的页码、bbox、原文引文、规范化值都记录下来。这让评分既严格值必须落在可接受集合内又宽容允许文档中真实存在的不同写法同时天然支撑了 bbox 级别的 grounding 打分。repeated_structure重复记录的身份键发票行项目、持仓列表这类记录数组是评分难点。repeated_structure为数组指定**身份键identity key**用于对齐期望记录。例如发票行项目可以用(description, amount)做身份键预测记录与期望记录按键配对数组顺序不影响得分。它同时记录列表的完整性要求——这正是 T1 长列表挑战一条都不能少的落点。tags多维标签让低分可归因tags是字符串数组形如source:real、challenge:T3.b、length:short、domain:D1采用前缀:值的统一格式覆盖五个独立分析维度challengeT1.a–e长列表完整性 /T2.a–d大海捞针 /T3.a–e密集文档perceptionP1旋转或纯图像 /P2扫描件 /P3手写structureS1–S5各种表格结构难题合并表头、跨页表格、超千行表格……lengthshort/medium/long恒与category一致domainD1金融145 份→D8房地产6 份此外还记录交付要求G1–G4与source325 份 real / 45 份 synthetic。一份文档可同时属于多个任务挑战所以各挑战的文档数相加大于 370总期望值 841,934 个T1 一项就占 81 万。正因为维度独立一个低分可以被精确归因——是长列表截断、表格跨页还是扫描件识别出错。如何加载与使用3 行代码上手用 Hugging Facedatasets库加载任意分割每条记录就是一个上面的对象四个字符串字段用json.loads解码即可from datasets import load_dataset import json ds load_dataset(llamaindex/ExtractBench, splitshort) case ds[0] schema json.loads(case[data_schema]) expected json.loads(case[expected_output])跑完整评测则用官方框架两条命令uv run extract-bench download拉取data/split/doc.pdf与doc.test.json再uv run extract-bench run pipeline完成推理、评测与报告。评分是完全确定性的——同一份预测与真值永远得到同一个分数流程中不引入任何模型。三个核心指标各回答一个问题Unified value F1提取的值对不对标量字段与记录数组统一口径Word-level grounding F1值对且预测 bbox 与该字段某个可接受 box 的 IoU ≥ 0.5Page-level grounding F1至少把来源页找对三个 split 的规模速览分割测试案例数页数每篇页数short.jsonl252615≤ 10medium.jsonl982,43811–50long.jsonl201,816 50写在最后把 8 个字段串起来看id/category/pdf指向输入data_schema/expected_output/field_rules/repeated_structure定义任务与真值tags负责切片归因。读懂这一行 JSONL就理解了 ExtractBench 的全部评测逻辑——给定文档与 schema返回 schema 合法的 JSON值要全对、缺失要正确返回null、每个值都要有页码和 bbox 背书。如果你想动手试试可以克隆仓库后从 short.jsonl 的第一条记录开始对照 docs/short/ 里的源 PDF 手工抽一遍再回头读field_rules——你会发现评分规则比想象中细致得多。赞分享【免费下载链接】ExtractBench项目地址https://ai.gitcode.com/hf_mirrors/llamaindex/ExtractBench点击查看免费下载相关推荐skill-creator 数据契约全解evals、grading、benchmark 等 8 个 JSON Schema 的字段规范与实战消费链路skill creator 数据契约全解evals、grading、benchmark 等 8 个 JSON Schema 的字段规范与实战消费链路 本指南以AI 插件开发工具插件系统GSM8K-in256-bs1数据格式深度解析in256与bs1参数、JSON/JSONL字段逐个拆解GSM8K in256 bs1数据格式深度解析in256与bs1参数、JSON/JSONL字段逐个拆解 想搞清楚 GSM8K in256 bs1 数据格式 长olmOCR-bench数据结构全解析7大类别测试集与JSONL字段逐行讲解olmOCR bench数据结构全解析7大类别测试集与JSONL字段逐行讲解 olmOCR bench 是 AI2 开源的 OCR 评测基准数据集 包含 1数据集AI 评测模型评测人工智能OCR上一篇智慧树刷课插件5分钟实现课程自动化学习的终极解决方案下一篇使用 DhcpV4SetPolicy 更新 DHCP 服务器策略Windows DHCP Server Management API 实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考