从文档中大规模提取数据会带来错误或幻觉值的风险。在许多企业工作流中,人工介入审核是流程中必不可少的一步。这就引出了一个实际问题:你如何在可以可靠传递到工作流下一步的值和需要更仔细审核的值之间划清界限?
在 Extract 中,我们提供置信度分数与你的提取结果一并呈现。每个分数范围从 0 到 1。分数越高,表示提取值正确的置信度越高。
你可以通过置信度分数截断值来划定完全自动化结果与需要审核结果之间的界限。置信度分数达到或高于截断值的会被自动接受;分数较低的则进入审核。
选择你的准确率目标
假设你的工作流需要自动接受的值中至少有 97% 是正确的。以下是如何找到一个满足该目标、同时将人工审核降到最低的置信度截断值。
- 创建一个具有代表性的数据集,包含你将在生产环境中提取的文档。
- 定义真实标签:该数据集中所有预期字段的正确值。
- 对数据集中的所有文档运行提取,以获得提取结果和置信度分数。
- 从一个较低的置信度分数截断值开始,逐步提高,直到被接受的值达到你的精确率目标。
- 在另一个未用于选择截断值的代表性数据集上检查该截断值是否仍满足你的精确率目标。
- 随着生产文档的构成发生变化,定期重新运行此流程,以检查你的截断值是否仍满足你的精确率目标。
找到满足你精确率目标的最低截断值很重要,因为它能让你将更多的值自动通过而无需审核。
衡量你能自动化多少
让我们看看 Extract 在ExtractBench上的结果。在 97% 精确率下,我们能自动接受多少数据?
对于 Extract Agentic Plus,约0.77的置信度截断值实现了97% 精确率。向下移动截断值,看看被接受的值和审核工作量如何变化。
有两个指标描述了此截断值下的权衡:
过滤后的精确率:被接受的值中正确的比例。
\frac{\overbrace{559{,}666}^{\text{正确接受}}}{\underbrace{576{,}975}_{\text{所有接受值}}} \approx 97.0\%
过滤后的召回率:所有预期字段中被正确接受的占比。
\frac{\overbrace{559{,}666}^{\text{正确接受}}}{\underbrace{841{,}895}_{\text{所有预期字段}}} \approx 66.48\%
在此截断值下,约三分之二的预期字段在无需审核的情况下被正确接受,精确率为 97%。
假设发票总额需要 97% 的精确率,而产品描述 90% 即可。根据错误的代价以及你的团队能处理多少审核量来选择这些目标。你可以用同样的流程为 schema 中的字段或字段组选择各自的截断值。
什么让置信度分数变得有用?
要有用,置信度分数应当对正确的值更高、对可能的错误更低。这样你就能在截断值之上保留更多正确的值,同时把不确定的值送去审核。
这种收益还取决于覆盖率:有多少返回值获得了分数。没有分数的值需要审核或单独的接受规则,因此缺失的分数会给仅靠置信度过滤所能自动化的程度设下上限。
你能多顺畅地调整这一工作量取决于粒度。分数相同的值会一起越过截断值,因此一个大的并列分组可能让截断值的微小变化带来召回率和审核量的急剧跳变。更多不同的分数让你能做更小的调整。
除了抽取准确率之外,覆盖率和粒度决定了系统能在你要求的精确率下接受多少正确数据。我们在同样的 370 份 ExtractBench 文档上比较了 Extract、Reducto Deep Extract 和 Extend with Review Agent。
对于每个系统,我们选择了在汇总字段结果上满足各精确率目标的最低截断值。图表显示了该截断值自动接受了多少正确数据。
在 97% 的精确率目标下,Agentic Plus 正确接受 66% 的预期字段,而 Reducto 为 33%。Extend 没有合格的截断值。这些基准测试截断值是回顾性选取的;请在单独的代表性样本上选择并验证你自己的截断值。
下方的分数分布有助于解释这些差异。Agentic Plus 为每个返回的字段都提供了分数,共有 770,431 个不同的分数,因此能比 Extend 的五个分数等级进行更精细的调整。
精确率目标图表比较的是各个单独的准确率目标。为了比较所有接受水平下的表现,我们使用了AUGRC,即广义风险覆盖率曲线下面积(Area Under the Generalized Risk Coverage Curve)。它将未经审核就通过的错误风险汇总为一个数字。越低越好。查看 AUGRC 如何计算。
Agentic Plus 的 AUGRC × 1,000 为 15.0,是本次比较中最低的。对相同结果采用随机接受顺序则得到 26.5。
该点图将此风险指标与每页计费成本配对,让你可以权衡提取质量与运行成本。
Agentic 层级还以比任一竞争对手更低的每页计费成本实现了更低的 AUGRC。
Extract 为可用的提取置信度分数树立了标准。在我们的评估中,Agentic Plus 在大多数精确率目标下自动接受的正确数据都显著多于其他 API。
在 Extract 中试用置信度分数,在你自己的文档上看看在系统所需的准确率下你能自动化多少。
运行 Python 示例,提取一份带置信度分数和引用的示例发票。