five

LORE — LLM OCR Robustness Evaluation

收藏
github2026-03-06 更新2026-03-07 收录
下载链接:
https://github.com/ashwin549/lore-benchmark
下载链接
链接失效反馈
官方服务:
资源简介:
一个用于评估大型语言模型从损坏的OCR文本中提取和规范化结构化数据的基准测试。测试模型跨越三个文档领域、四个难度级别和五个评估维度,无需第三方ML依赖。

A benchmark for evaluating large language models' capacity to extract and normalize structured data from corrupted OCR texts. This benchmark covers three document domains, four difficulty levels, and five evaluation dimensions, with no third-party machine learning dependencies required.
创建时间:
2026-03-01
原始信息汇总

LORE — LLM OCR 鲁棒性评估基准

数据集概述

LORE 是一个用于评估大型语言模型从受损OCR文本中提取和规范化结构化数据能力的基准。它测试模型在三个文档领域、四个难度层级和五个评估维度上的表现,且无需第三方机器学习依赖。

核心评估目标

该基准旨在评估:给定受损的OCR文本,LLM能否重建原始的结构化记录?其设计使得精确匹配率平均归一化编辑距离是主要评估指标,而非字段F1值。

数据集构成

文档领域

领域 文档类型 字段
receipts 零售/餐饮收据 vendor, date, total, tax, payment method, line items
insurance 保险单文件 policyholder details, policy number, premium, agent
hospital 医院就诊记录 patient details, vitals, visit reason, physician, insurance

难度层级

每个样本被分配四个难度层级之一,由应用的噪声函数数量和类型控制:

层级 应用的噪声 破坏内容
easy 0–1个字符级错误 轻微替换(O→0, l→1)
medium 2–3个字符级 + 结构级错误 合并行、缺失冒号、日期格式变化
hard 4–5个字符级 + 结构级 + 数字级错误 小数点移位、部分日期、值截断
extreme 7–9个所有层级错误 + 语义陷阱 字段间值交换、部分擦除、幽灵值、冲突重复项

评估指标

指标 衡量内容 是否主要指标
exact_match_rate 值完全正确的字段比例 ✓ 主要
mean_ned 字符串字段的归一化编辑距离 ✓ 主要
field_f1 字段存在性F1(精确率 × 召回率) 次要
hallucination_rate 无法从OCR推导出的虚构字段比例 次要
schema_valid 具有正确嵌套结构的输出比例 次要
correction_gain 相对于原始OCR文本的改进(负值表示退化) 次要
parse_success 可解析为有效JSON的输出比例 次要

ID类型字段(如policy_numberreceipt_numberattending_physician.idagent.agent_id)要求区分大小写的完全匹配,模型无法通过返回看似合理的标识符获得部分分数。

数据集生成与规模

  • 数据性质:合成数据。采用合成生成可以精确控制难度、保证真实值,并随时重新生成数据集。
  • 种子可复现性:每个样本都是从base_seed + sample_index生成的。使用相同种子运行sample_builder.py两次会产生完全相同的数据集。
  • 数据规模:总计1,200个样本(3个领域 × 4个难度 × 100个样本),按60/20/20的比例划分为训练集/开发集/测试集。
  • 数据上下文:数据池(姓名、城市、保险公司、医院连锁店、UPI支付)反映了噪声函数设计所围绕的文档类型,具有印度背景特色。

项目结构与使用

主要目录与文件

  • config/:包含领域字段模式、评估设置、生成设置和噪声权重的配置文件。
  • prompts/:包含领域特定提示模板和任务指令变体。
  • dataset/:包含生成真实记录、序列化、应用噪声、组装样本和加载数据集的脚本。
  • runners/:包含提示格式化、LLM API调用和多运行编排器的脚本。
  • parsers/:包含JSON解析和各类数据规范化器的脚本。
  • evaluator/:包含字段指标、规范化指标、校正指标、幻觉检测和模式验证的评估脚本。
  • stats/:包含聚合统计、引导置信区间和可视化图表的脚本。
  • report/:包含生成自包含HTML报告的脚本。
  • data/:由sample_builder.py生成的JSONL文件存放目录(未提交至版本库)。
  • runs/:由multi_run.py生成的运行结果存放目录(未提交至版本库)。

环境与依赖

  • 要求:Python 3.10+。无需机器学习库,整个流水线在标准库上运行。

  • 安装: bash git clone https://github.com/ashwin549/lore-benchmark cd llm-ocr-benchmark pip install -r requirements.txt

  • 生成数据集: bash python dataset/sample_builder.py

    这将在data/目录下生成36个JSONL文件。

运行基准测试

  • 使用本地模型(通过Ollama): bash ollama pull llama3.2 python -c "from runners.multi_run import run; run(run_id=R06, split=dev)" python report/generator.py

  • 使用付费API(OpenAI或Anthropic): bash export OPENAI_API_KEY="sk-..." export ANTHROPIC_API_KEY="sk-ant-..." python -c "from runners.multi_run import run; run(run_id=R03, split=test)"

  • 比较两个模型: bash python report/generator.py runs/llama3.2_20260301_104150 runs/gpt4o_20260301_120000

    报告包含带有95%引导置信区间和Wilcoxon符号秩检验p值的统计比较部分。

添加新模型

config/eval_config.json文件的supported_models下添加条目。支持的后端包括:openaianthropicollamallama_cpp。对于Groq(免费层级,OpenAI兼容),可配置base_urlhttps://api.groq.com/openai/v1

噪声函数

  • 层级1 — 字符级char_O0char_l1Ichar_B8char_S5char_subchar_delchar_transpose
  • 层级2 — 结构级missing_colonmerged_linessplit_linekey_abbrevvalue_truncateddelimiter_swap
  • 层级3 — 数字/日期级num_comma_dropnum_decimal_shiftdate_format_varydate_partial
  • 层级4 — 语义陷阱(仅极端难度)extraneous_fieldghost_valueconflicting_fieldambiguous_keyvalue_swapsection_erase

示例结果(Llama 3.2,2B参数,本地运行,开发集)

难度 精确匹配率 平均NED
easy 0.731 0.208
medium 0.518 0.294
hard 0.333 0.377
extreme 0.243 0.428
总体:精确匹配率 0.456 · NED 0.327 · 幻觉率 0.143

引用

@misc{lore2026, title = {LORE: LLM OCR Robustness Evaluation}, year = {2026}, url = {https://github.com/ashwin549/lore-benchmark} }

许可证

MIT

搜集汇总
数据集介绍
main_image_url
构建方式
在光学字符识别领域,文本噪声问题长期困扰着信息提取的准确性。LORE数据集采用合成生成策略,通过精心设计的噪声函数模拟真实OCR输出中的各类错误。其构建过程始于多样化地面真值记录的生成,涵盖收据、保险单和医院记录三大文档领域。随后,系统依据四个难度层级,逐级施加字符替换、结构混乱、数值偏差及语义陷阱等噪声,最终形成包含1200个样本的标准化评估集合。
特点
该数据集以多维度评估框架为核心特色,不仅覆盖三个典型文档领域,更通过四个渐进式难度层级细致刻画OCR噪声的复杂性。其评估体系聚焦于值正确性,将精确匹配率与归一化编辑距离作为主要指标,有效区分模型对字段提取与值纠正的实际能力。数据集完全基于纯Python实现,无需任何第三方机器学习依赖,确保了评估流程的透明性与可复现性。
使用方法
使用该数据集时,研究者首先通过样本构建脚本生成标准化的训练、开发和测试分割。随后,利用统一的运行器接口调用本地或云端大语言模型,对噪声文本进行结构化信息提取。评估模块自动计算多项指标,并生成包含统计检验的详细报告。用户可通过配置文件轻松集成新模型,整个流程支持种子控制,保障实验结果的严格可复现性。
背景与挑战
背景概述
在光学字符识别(OCR)技术广泛应用于文档数字化的背景下,真实场景中的扫描文档常因图像质量、版面复杂或字体变异等因素,导致识别文本出现字符替换、行合并、格式错乱等噪声。LORE(LLM OCR Robustness Evaluation)数据集由研究人员Ashwin于2026年创建,旨在系统评估大型语言模型从含噪声OCR文本中提取并规范化结构化数据的能力。该数据集聚焦于收据、保险单和医院记录三个文档领域,通过构建多难度层级的合成数据,核心研究问题是检验模型在文本损坏情境下的信息重建精度,推动了OCR后处理与文档理解领域向鲁棒性和可靠性方向发展。
当前挑战
LORE数据集致力于解决文档信息提取中的OCR噪声鲁棒性挑战,即模型需从包含字符级错误、结构扰乱及语义陷阱的损坏文本中,准确还原原始结构化记录,这要求模型超越简单的模式匹配,具备深度的上下文推理与错误校正能力。在构建过程中,挑战体现在合成数据的真实性与可控性平衡:一方面需模拟真实OCR噪声的多样性,如字符混淆、日期格式变异和价值截断;另一方面必须确保地面真值的精确性,避免引入个人可识别信息,同时通过种子化生成保证数据可重现,并在评估体系中强调精确匹配率与归一化编辑距离,以规避字段存在性指标可能带来的评价偏差。
常用场景
经典使用场景
在文档智能与自然语言处理交叉领域,光学字符识别(OCR)系统常因图像质量、字体变形或版面复杂等因素引入文本噪声,导致后续信息提取任务面临严峻挑战。LORE数据集通过模拟零售收据、保险单和医院记录三类真实场景中的OCR噪声,构建了一个多层次难度评估框架,专门用于测试大型语言模型从含噪文本中恢复结构化数据的能力。该数据集在学术实验中常被用作基准测试平台,研究者通过控制不同噪声等级(如字符替换、行合并、数值截断及语义陷阱),系统评估模型在字段精确匹配、归一化编辑距离等核心指标上的表现,从而深入探究模型对噪声的鲁棒性边界。
解决学术问题
LORE数据集旨在解决文档信息抽取领域长期存在的关键学术问题:如何量化评估模型在真实OCR噪声环境下的结构化数据重建性能。传统评估往往依赖字段存在性指标(如F1分数),而忽视了值本身的正确性,这可能导致模型仅通过回显模式获得高分却无法准确提取内容。该数据集通过引入精确匹配率和平均归一化编辑距离作为主要评估维度,迫使研究聚焦于模型对噪声文本的语义理解与纠错能力。其意义在于提供了一个可控、可复现的评估框架,推动了OCR后处理技术从简单模式匹配向深层语义恢复的范式转变,并为模型鲁棒性的横向比较奠定了科学基础。
衍生相关工作
围绕LORE数据集,已衍生出一系列聚焦于OCR鲁棒性增强的经典研究工作。部分研究借鉴其分层噪声设计思路,开发了针对特定领域(如法律文书或历史档案)的适应性噪声模型,以扩展评估范围。另一些工作则利用LORE的评估框架,提出了新型的提示工程策略或微调方法,旨在提升模型在极端噪声条件下的值校正能力。此外,该数据集的结构化输出要求(如严格的大小写敏感匹配)也促进了专门用于JSON模式约束下信息抽取的解析器与规范化工具的开发,这些工具进一步被整合进端到端的文档处理流水线,形成了从评估到改进的完整技术闭环。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作