【免费下载链接】XL-DocBench项目地址https://ai.gitcode.com/hf_mirrors/microsoft/XL-DocBench点击查看免费下载XL-DocBench 是一个面向超长文档理解的问答评测基准Benchmark收录了 292 份文档、1345 道由 194 位人类专家核验的题目。本文带你彻底看懂它内置的三大评测指标——Accuracy准确率、Token F1 与 ANLS它们各算什么、差在哪、分数该怎么读并附一条命令的本地打分方法。 XL-DocBench 是什么一句话概括它考察系统能否在数百甚至上千页的长文档中找到证据、拼齐所有支撑、用对规则并且懂得该说不知道。内容文件说明文档元数据data/documents.jsonl292 份文档的 URL、页数、领域等信息单文档问答data/qa_single_doc.jsonl1191 题答案来自同一份文档跨文档问答data/qa_cross_doc.jsonl154 题需综合多份文档作答逐题分数results/scores.jsonl13 个参考系统 × 1345 题的打分明细汇总分数results/summary.json各系统的 Accuracy / Token F1 / ANLS 总分每道题都带有answer.value标准答案、answer.formatStr / Int / Float / None 等和verification_rule校验规则这正是后面三种指标分工的依据。统计口径可在 manifest.json 中查到例如答案格式分布为Str 838 题、Int 209 题、Float 110 题、None不可回答188 题。 三大指标速览指标核心问题取值方式特点Accuracy答对了吗对/错1 或 0按答案类型走不同判定规则带宽松容差Token F1沾边多少0~1 连续值词元级精确率/召回率调和均值部分正确也得分ANLS拼写上差多少0~1 连续值归一化编辑距离相似度低于 0.5 直接判 0三者都由同一个打分脚本 code/evaluate.py 计算——它是纯 Python 标准库实现、完全确定性无模型调用、无网络请求保证任何人重跑结果一致。 一键运行评测从 5 道题的样例开始如果你想亲手验证先克隆仓库只读使用git clone https://gitcode.com/hf_mirrors/microsoft/XL-DocBench.git cd XL-DocBench仓库内置了 5 道例题的标准答案 完美预测一条命令即可跑通uv run --no-project python code/evaluate.py \ --gold-files code/examples/gold_sample.jsonl \ --predictions code/examples/predictions_sample.jsonl评测样例文件位于 code/examples/gold_sample.jsonl5 条题目和 code/examples/predictions_sample.jsonl5 条完美预测。完美预测下三项指标都会得到满分 1.0这也是 code/quickstart.py 冒烟测试的回归断言。对真实模型输出则提供每题一行的预测文件字段名支持prediction、model_answer、answer、response、output任意一种{question_id: adubench_single_000001, prediction: the biggest single risk to human health worldwide} {question_id: adubench_cross_000001, prediction: macroprudential measures}uv run --no-project python code/evaluate.py \ --predictions predictions.jsonl \ --output eval_report.json \ --per-question-csv per_question.csv报告除总分外还会按domain领域、difficulty难度、reasoning_type推理类型、answer_format答案格式、evidence_source证据来源等维度给出分组细分方便定位模型到底弱在哪。✅ Accuracy不只看字面而是按答案类型对规则Accuracy 是基准的硬指标但并非简单的字符串精确匹配。实现见 code/evaluate.py 中的accuracy_score函数。所有文本先经过统一归一化normalize_answer见 code/evaluate.py转小写、去除首尾空白剥掉 the answer is、answer: 之类的前缀删除标点等特殊字符去掉冠词 a / an / the合并多余空格然后按答案格式分派不同规则答案格式判定规则例子Str实体/短语归一化后标准答案包含在预测中或两者编辑距离相似度 ≥ 0.8即算对标准答案 14 个词预测多写了几句但完整包含答案 → 1 分Int / Float / Percentage从文本中提取数字相对误差 ≤ 5%即算对标准答案 25预测 25.3 → 相对误差 1.2% → 1 分Bool识别 yes/no、true/false 等语义并比较Of course not 与 no 同判为否定 → 1 分单选题A–D提取预测和标准答案中的选项字母并比较预测 B 与 选项 B 正确 → 1 分None不可回答预测须包含 not answerable、cannot be determined 等拒答短语188 道 None 题专考知道何时说不知道数字提取器code/evaluate.py相当聪明能解析10^3幂次、1/2分数、千分位逗号、小数点和科学计数法所以模型即使输出 1,250.5 或 2.5e2 也不会被误杀。要点Accuracy 衡量的是最终结论是否正确它对措辞、包装语和数值容差都足够宽容是排行榜上的第一顺位指标。 Token F1没答全也要给它应得的分数Token F1 回答的是答错多少分的问题。它把预测和标准答案归一化后切分成词元集合忽略词序、只看重合计算精确率预测中有多少词是对的与召回率标准答案有多少词被覆盖了F1 2 × Precision × Recall / (Precision Recall)实现见 code/evaluate.py。两个关键特性词序无关集合比较天然不关心词的排列macroprudential measures 与 measures macroprudential 的 F1 都是满分零重合直接归零两个词元都不重合时F1 为 0沿用 SQuAD 的经典约定防止文不对题但共享虚词的投机行为举个例子标准答案是 2 个词你的预测写对了其中 1 个、另多写 1 个词则 P R 0.5F1 0.5——这正是部分正确的量化体现。 ANLS为拼写小差专门设计的相似度指标ANLSAverage Normalized Levenshtein Similarity专为应对实体名长短不一、拼写轻微偏差的场景公式分两步code/evaluate.py计算归一化 Levenshtein 相似度 1 − 编辑距离 ÷ 较长串长度设置0.5 阈值相似度 ≥ 0.5 时取相似度本身作为得分否则一律记 0这意味着 ANLS 比 Accuracy 更能给出细粒度分数预测 vs 标准答案相似度ANLS 得分完全一致1.01.0多拼了一个字母长句≈ 0.95≈ 0.95只答对一半的短答案0.40低于阈值完全文不对题 0.50⚠️ ANLS 对短答案很苛刻短串上一个字符的差别就会大幅拉低相似度可能直接跌破 0.5 阈值归零。这也是它和 Token F1 的分工所在——F1 看词重合ANLS 看整体拼写接近度。 一个真实例子同一道题三个指标三种面孔打开 results/scores.jsonl 的第一行题目adubench_single_000001标准答案是the biggest single risk to human health worldwide。各系统得分呈现出非常典型的分层系统AccuracyToken F1ANLSGPT-5.4OCR 输入1.01.01.0GPT-5.2OCR 输入1.00.7370.613Kimi-K2.5OCR 输入1.01.01.0Qwen3.5-4B图片输入0.00.3640.0解读GPT-5.2 的答案覆盖了全部标准词Accuracy 1但预测文本里还多写了不少内容词元精确率被稀释Token F1 掉到 0.74整句拼写相似度 0.61而 Qwen3.5-4B 走图片输入时词元重合不足 0.5 阈值ANLS 归零。同一个模型换 OCR 输入后分数普遍更高GPT-5.438.36 vs 26.77说明输入模态对这个基准影响很大。汇总视角见 results/summary.json排名系统输入Accuracy ↑Token F1 ↑ANLS ↑1GPT-5.4OCR38.3639.7034.172SimpleDoc GPT-5.4Agent36.2133.6224.303Kimi-K2.5OCR36.0638.2432.64完整榜单见仓库 README所有分数文件均为 0~1 标度README 中已换算成百分数。❓ 常见打分细节 FAQ模型漏答/输出解析失败怎么办缺失、失败或无法解析的预测三项指标一律记 0若只想评测答了的题加--ignore-missing参数见 code/evaluate.py。分数范围逐题分数存为 0~1 小数results/scores.jsonl系统总分在 results/summary.json 中同样是 0~1 标度。为什么 13 个系统可以互相比较全部使用同一份加固版评测器且 manifest.json 里记录了评测脚本的 SHA-256 指纹score_evaluator_sha256任何人可用 code/evaluate.py 复现结果完全一致。如何快速验证数据集完整性运行uv run --no-project python code/quickstart.py它会检查题量、文档引用、证据页元数据与分数覆盖并跑通 5 题评测样例全部通过后输出smoke test: PASS。 总结三把尺子各量什么你想回答的问题看哪个指标结论对不对硬考核Accuracy内容沾边多少软考核Token F1实体拼写/整体接近度ANLS对新手最实用的一条建议以 Accuracy 定排名用 Token F1 和 ANLS 看差距再用domain / difficulty / answer_format细分报告找短板。掌握这套三指标 细分读法你就能像基准作者一样一眼看懂任何模型在超长文档理解上的真实水位。赞分享【免费下载链接】XL-DocBench项目地址https://ai.gitcode.com/hf_mirrors/microsoft/XL-DocBench点击查看免费下载相关推荐如何读懂Typed Decisions的评测分数Accuracy、KL散度、Brier与ECE四大校准指标完整解析如何读懂Typed Decisions的评测分数Accuracy、KL散度、Brier与ECE四大校准指标完整解析 Typed Decisions https数据集模型评测人工智能LoCoMo评测指标教程F1、EM、BERTScore如何科学评估大模型表现LoCoMo评测指标教程F1、EM、BERTScore如何科学评估大模型表现 LoCoMo 是一个面向大模型LLM的长程对话记忆评测基准benchmar人工智能模型评测AI 评测数据集RAGAI AgentKanagawa.nvim三大主题深度评测wave、dragon、lotus如何选择Kanagawa.nvim三大主题深度评测wave、dragon、lotus如何选择 Kanagawa.nvim是一款备受开发者喜爱的NeoVim深色主题插件开发工具上一篇为什么gb-sketch-segmentcircle是Sketch设计师必备插件节省数小时设计时间的秘密下一篇如何利用Step 3.5 Flash构建高效的智能代理与自动化编程系统终极实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考