ExtractBench:AI 数据提取基准
使用LLM的结构化提取可以将企业文档转换为可以处理、分析并与数据库、业务应用程序和自动化工作流集成的信息。
在我的AI咨询和研发项目中,我处理各种复杂的企业文档。不同组织还需要从类似文档中获取不同信息,这使得从源文档中读取文本只是任务的一部分。
模式引导提取是在提取输出中添加一致性和验证的一种方式。模式告诉系统要提取哪些字段、它们的数据类型以及每个字段的含义。对于采购订单,它可能要求订单号、交货日期和产品列表,以及每个产品的数量。系统以结构化形式(通常是JSON)返回这些字段。
然而,输出可以包含所有预期的键,但仍然将数量分配给错误的产品。它也可以返回完全有效的产品列表,同时悄悄地省略下一页上的产品。
有效的结构化输出与正确的提取并不相同。那么,我们如何信任结构化信息呢?
如果人类必须通过检查源文档来验证例行任务的提取结构化信息,那么基于AI的自动化就会变得无效甚至适得其反。为每个提取字段添加基于LLM的置信度分数是将一些可靠性与提取输出关联起来的一种方式,但即使这些分数也不一致和可靠。此外,定义一个分数阈值,可以保证检查特定字段的源文档。
添加模型对每个提取字段的推理也可以提供一些关于模型在提取方面的不确定性和/或困惑的线索,并可能触发人工检查。然而,推理本身可能是错误的。模型可能对某个字段自信地犯错。
来源基础是一种新兴技术,用于为提取信息添加证据和关联可靠性,并快速验证输出。它指的是只需单击一下即可导航到源文档中字段的确切位置,以快速检查提取的信息是否正确。然而,正如本文将展开的那样,这仍然是一个具有挑战性的任务。
在我之前的文章中,我一直讨论准确的文档解析和构建模式引导的提取管道。本文基于LlamaIndex的最新研究继续讨论。它解释了如何评估结构化提取的准确性、完整性、来源证据和成本,并识别提取系统成功或失败的地方。
1、如何评估您的结构化提取
在为您的文档选择一个提取系统之前,您如何比较它们?
提取质量通常报告为单个汇总分数,例如F1,它不显示哪些文档特征驱动了它们的成功和失败。
ExtractBench是由LlamaIndex开发的开源基准,用于基于LLM的结构化提取,提供数据集和评估方法,用于比较提取系统(LLM、代理或专用API)是否提供正确结果、捕获所有请求字段、提供准确的源引用,并具有可接受的成本。因此,ExtractBench为提取系统定义了多个分数/标准。
他们在研究中发布的结果检查了提取系统的弱点。其公开可用的数据集和评估代码可以运行以评估提取管道。
该基准提供示例文档、提取模式、参考输出(基本事实)和评估代码。使用这些资产,可以评估提取系统的性能,使得提取系统接收文档和模式,输出与基本事实进行比较以评估值准确性和完整性,源引用通过基础注释进行评估,并且计算处理成本以比较成本质量权衡。
该基准还测试三个提取挑战:i) 长列表完整性是指测量提取每个请求记录的准确性,没有遗漏、重复或错位的值,ii) 大海捞针提取是指在许多相似或不相关的细节中定位几个请求的事实,iii) 密集文档提取是指提取紧密排列的字段,而不混淆它们的值或为空字段发明信息。
2、提取性能指标
ExtractBench使用三个互补指标评估提取,重点是系统是否返回正确的值、识别其来源页面并定位其确切证据。
2.1 统一F-1:系统是否返回了正确的信息?
统一F-1分数表示提取系统在捕获信息同时避免不正确或不必要输出的能力。F-1结合了精确度和召回率。精确度询问返回的信息中有多少是正确的。召回率询问恢复了多少所需信息。
F-1将提取的值与经过验证的基本事实进行比较。它涵盖单个字段(如发票日期)和重复记录内的字段(如每个产品的名称和数量)。
每个字段值都被视为一个评分单元。产品名称是一个单元,其数量是另一个单元。F-1越高越好,满分为1。
2.2 基础F-1:提取的值是否可以追溯到其来源?
基础将提取的值链接到其在源文档中的位置。ExtractBench使用两种基础度量:i) 页面级基础F-1测量识别源文档中正确页面的准确性,而单词级基础F-1通过边界框测量值在源文档中确切位置的准确性。
例如,提取的总计€13,640应该指向正确的页面和"应付总额"旁边的印刷金额。即使其来源引用是错误的,该值也可能是正确的。
3、哪个提取系统适合您的任务?
ExtractBench的比较涵盖了14个提取系统,分为三种方法。直接模型提取涉及视觉语言模型接收文档和模式并一次生成输出。编码代理(如Codex和Claude Code)可以检查文件、运行解析代码、检查其结果并修改输出。专用提取服务提供处理预处理、解析、提取,有时还有引用的工作流。
3.1 系统能否提取每条记录?
正确读取值和从具有长表或重复记录的文档中提取每条记录是不同的能力。直接模型提取通常返回长列表中看似合理的一部分,然后停止。这就是前面提到的高精度、低召回率模式,其中返回的行看起来不错,但缺少所需的行。
对于长重复记录,LlamaExtract Agentic Plus和Reducto Deep Extract表现出更好的性能。在这个比较中,Claude Code也比Codex更好地保留了长文档性能。直接模型提取,包括Gemini Flash和Qwen,随着文档变长,失去了更多的短文档性能。这表明即使大型上下文窗口也无法解决这个问题。
3.2 系统能否找到正确的事实?
一个难以重现长列表的系统在输出较小时可能仍然有用。例如,模式可能要求"付款截止日期",而文档说"到期金额"。这需要匹配含义,而不是查找相同的标签。
在基准测试中,Gemini 3.5 Flash在释义匹配类别中领先,尽管其整体排名较弱。当任务涉及协调重复信息或避免文本和表格中的重复记录时,LlamaExtract Agentic Plus和Reducto更强大。
3.3 系统能否处理所有请求的字段?
一些被评估的系统拒绝大型模式,或者甚至在评估字段级准确性之前就无法返回输出。
**Codex、Qwen和LlamaExtract配置是本评估中用于广泛模式的更强候选者。**它们完成了大型模式类别中的每个文档。Gemini Flash在整个类别中失败,而Claude Code处理较小的模式但在较大的表单包上失败。一些专用服务也拒绝最大的模式。
这解释了为什么Claude Code更强的长文档结果并没有使其成为Codex的通用选择。Codex整体表现更好,处理大型模式更可靠。Claude Code在长重复记录工作负载上保留了更高的准确性。重要的问题是哪种困难主导了预期任务。
编码代理还需要有界执行。它们检查、编码、调试和重试的能力可能成为一个长时间运行的循环。设置时间和支出限制,验证最终输出,并将超时或拒绝的文档计为失败,而不是将它们排除在比较之外。
3.4 系统能否指向确切的来源?
准确的提取不能保证精确的源引用。基准测试显示,最高的单词级基础F1仅为46.4%,这表明它仍然是一个具有挑战性的问题。
3.5 成本与质量的权衡
哪个工作流能以最少的总努力满足所需的质量?
根据论文中报告的基准测试,LlamaExtract Agentic Plus提供了最强的质量-成本权衡。编码代理,特别是Codex GPT-5.5,平均更昂贵。
对于简单的提取任务,付费让代理编写和调试代码可能增加的价值很小。对于长重复结构,重新访问页面或运行解析脚本可能会防止较便宜的一次性响应会留给人工查找的遗漏。
同样,较大的模型并不自动是正确的选择。商业模型的比较并未显示每个提供商的较高价格层级在质量上有一致的提升。首先需要识别故障,这可能包括错误的字段含义、糟糕的页面阅读、遗漏的记录、不支持的模式或缺失的证据。这些问题可能需要不同的提示、预处理、分解或验证,而不仅仅是更昂贵的模型。
4、最终思考
结构化提取的评估应从清晰的字段定义和失败的后果开始。缺失的记录、不正确的金额和不准确的引用会产生不同的业务风险。F-1提供了有用的总结,但验收标准还应涵盖关键字段、记录完整性和失败的文档。可接受的平均值仍可能隐藏使工作流不适合自动化的错误。
来源证据使验证更容易,但它并不能使答案正确。值准确性与精确基础之间的差距显示了为什么引用需要自己的评估。在必要的人工审核中,应衡量审核员能否快速定位和检查证据。减少这种努力本身就是一种有价值的成果。
该基准应被视为候选名单,而不是购买决策。LlamaIndex在此评估其自己的服务。类别大小不均衡,结果反映特定的配置。新版本和不同的文档分布可能会改变结果。
必须比较产生可用信息所需的总努力,包括提取、重试、失败、验证和纠正。业务目标应该是结构化的信息,对于其预期用途来说足够完整、足够准确且足够容易验证,并且总成本可接受。
原文链接:How to Evaluate AI-Based Structured Data Extraction
汇智网翻译整理,转载请标明出处