推出 OpenOCR Stratify

对于复杂文档而言,OCR 引擎所承担的任务远不止文字识别。它可能需要顺应双栏排版、重建表格、辨识手写修改批注,并确保图表说明始终与所解释的插图相邻。这些任务可能会同时出现在同一个页面上,而处理某一区域的最佳方式往往并不适用于另一区域。
我们正在设计 OpenOCR Stratify,旨在分块处理这些工作。Stratify 能够识别文档中的各个区域,将它们分发给客户指定的识别引擎,并在汇合识别结果时完整保留其对原始出处的引用。这样一来,即使某个复杂表格需要二次处理,也无需重新跑完整份文档。
这一名称直观地反映了其核心思路:将复杂文档拆分为可单独处理的局部,同时始终追踪它们之间的装配关系。该工作流包含四个环节:定位区域、挑选读取器、提取内容以及重组文档。
OpenOCR 目前已经支持客户通过统一的 API 自主选择 OCR 引擎。Stratify 则将这一选择能力进一步细化到单个区域。相关的共享处理层、API 选项以及工作台控制界面目前仍处于设计与规划阶段,尚未正式上线。
为什么文档结构至关重要
下图截取自 USGS 报告 Status of Water-Quality Conditions in the United States, 2010–20。该页面包含两个正文双栏、一个章节标题,以及一个带有标题说明和缩写注释的表格。这是真实的文档:文中的所有图像均直接渲染自公开发布的 PDF 原件。我们手动绘制了区域边界,以此阐释所提议的工作流。
如果将两个栏目横向连通、当作一个段落来读取,互不相干的句子就会被生硬地拼凑在一起;若将表格与其底部的注释剥离,缩写术语就会失去定义;若将缩进的行完全展平,类别与从属条目之间的层级关系便会荡然无存。单纯按顺序识别出的正确词语列表无法保留这些结构区分。点击下方的高亮区域,即可查看原始图像像素。
对于基于文档提取构建的下游应用而言,这些都是十分现实的问题。搜索功能需要边界连贯通顺的段落;财务工作流必须分清总计与邻近的各项小计;用于解答论文问题的 AI 助手不仅需要图表中的具体数值,同样需要图注中的限定性说明。一份表面看起来干净利落的转录文本,可能会悄无声息地掩盖结构性错误,直到有人真正依赖这些数据时才会暴露。尽管本文方案目前主要聚焦于英文及拉丁文本,但对于字符集庞大(数千字量级)、排版更为紧凑密集的表意汉字系统而言,此类结构化切分对于避免中文混叠与跨栏串行同样具有关键意义。
当面对长篇文档时,这一问题会变得更加棘手。一份报告的前半部分可能是原生数字 PDF,中间附带数份扫描版附录,末尾还可能包含签字表单的照片。对所有页面采取完全相同的处理方式固然省事,但这未必符合实际材料的特征。Stratify 的初衷正是保留每个页面与区域的充分信息,从而让更具针对性的策略选择成为可能。
Stratify 的文档处理流程
整个工作流始于原始页面,终于一份可供人工复检的文档。每个环节都有明确的目标。由于某些服务商可能已经在一次请求中涵盖了其中若干步骤,因此这并不意味着必须强制调用四次模型。
定位区域。 检查文档的页面、版面方向、图像质量以及可利用的内嵌文本。定位段落、分栏、表格、图注及其他区域,并保留它们的位置坐标和相互关联。这为工作流的后续环节提供了一份清晰的“待读地图”。
挑选读取器。 针对识别出的不同区域,调用客户配置的对应引擎。客户可以将版面检测器与视觉模型搭配使用,也可以保留现有服务商的段落提取能力,并为表格单独挑选另一种读取器。处理方案必须明确这些选择及其适用边界。
提取内容。 以合适的分辨率准备各个已选读取器的输入图像,并在必要时纳入邻近上下文。执行识别步骤,保留已有的有效提取内容,并记录每个结果来自哪个源区域和引擎。
重组文档。 恢复阅读顺序,调和重叠裁剪区域,并重新关联标题、图注、注释与表格。输出带出处引用的可用文本或结构化数据,并在处理未完成处直观标出空缺。
如果某个服务商已经返回了包含单元格关联与页面坐标的优质表格数据,Stratify 应当直接保留这部分成果。无谓地重复已成功的提取操作只会增加成本。在开发文档中,我们对拟议的行为规范和集成边界进行了更详尽的说明。
局部读取,不失全局
在标注后的 USGS 页面中,P1 和 P2 分别代表正文双栏;H1 是一个小标题,P3 是其从属段落,C1 为表格标题,N1 为解释性注释,T1 则是表格本身。这些是本示例中用于说明的代号。在实际运行的流水线中,版面检测器会提供区域位置及其可能归属的类型,从而为后续步骤提供一种稳定引用各部分的方式。
为 T1 准备输入时,需要针对上下文做出权衡。虽然它的列标题和单元格都容纳在一个矩形框内,但 MCL、HBSL 等缩写术语的定义却位于其上方的 N1 中。C1 处的标题则解释了该表格所呈现的具体内容。将这三个区域一并纳入,既能为读取器提供更丰富的上下文,又不必发送整个页面。切换上方的示例可以对比这两种裁剪方式;底层文档的像素保持不变。
系统还需要了解裁剪区域与原始页面之间的几何映射关系。图像渲染可能改变分辨率;页面可能发生旋转;不同服务商汇报位置时采用的坐标系也可能大相径庭。对于希望在原始 PDF 上高亮对应区域的用户而言,仅仅与最终裁剪图像绑定的识别结果是远远不够的。这一几何变换过程必须始终保持可追溯。
带有重叠的裁剪区域还会引发组装层面的另一个难题。引入周边文本有助于模型理解表格,但这些文本绝不应在最终文档中重复出现两次。发送给模型的“上下文”与最终选定输出的“内容”,是相互关联却截然不同的两个决策。区域表征必须保留这一界限。
有些识别失败是无法通过调整输入来挽救的。对低劣的扫描件进行放大,并不能找回缺失的数字;拍照时在边缘被截断的页面,也注定无法补全。在这些情况下,真正有价值的输出应当是诚实地标明不确定性并保留源数据链接,而不是自信满满地捏造一个填充值。
结合分割器与 OCR 或视觉模型
分割器解答的是关于版面的问题:各个部分在哪里?它们各自扮演什么角色?而识别引擎则解答关于内容的问题。有些服务商能同时胜任这两项工作;另一些服务商则提供专用的版面检测器,或针对特定类型输入效果尤为出色的模型。
Stratify 将支持明确的自由组合。客户可以为所有区域统一选择一个检测器和一个识别模型,也可以保留某个服务商的段落提取结果,同时将选定的表格或批注发送给另一个读取器。下方的空白 IRS 表单直观展示了为何输入差异如此重要:地址字段、复选框选项、被抚养人表格以及带编号的收入行,都是同一页面中截然不同的结构。
表格读取器可以将“被抚养人”列标题与填写单元格作为整体保留;表单读取器需要维持复选框与其标签文字之间的从属关系;文本读取器则可以单独处理页边空白处的填表说明。由于这是一份空白表单,忠实的结果应当保留空白字段,而非凭空捏造数值。让大语言模型解释表单与准确转录其内容是两码事,工作流应当明确区分这两类操作。
这种协同调度正是我们希望由 OpenOCR 来提供的能力:预处理输入数据、分发给各配置引擎、记录执行状态,并确保识别结果与其源区域紧密相连。客户不应该仅仅为了测试某个分割器与特定读取器的组合,就得自行搭建一套独立的图像裁剪与文档重构服务。
这并不意味着专用组合总是胜出。直接接收整页的端到端文档模型可能会捕获被裁剪局部遗漏的全局语境;通用的视觉多模态模型可能已经能够精准读取特定的表格。我们需要在具有代表性的输入样本上,客观评估各种实际组合的表现,这其中也包括准备输入和重组文档所需付出的处理代价。
返回可供复检的文档
识别结果必须作为一份连贯的文档返回,而非一堆杂乱无章的模型响应合集。在 USGS 的示例中,P1 排在 P2 之前,H1 归属于 P3,表格也保留了与其说明和缩写注释的链接。这些标识符贯穿始终,以便用户随时将提取结果的任意部分与原始页面进行对照。
这种表征方式也是实现“针对性重试”的基石。假设段落提取效果令人满意,但某个表格单元格出现了错误,用户可以直接选中 T1,切换至另一款引擎并请求重新识别。替换生成的新结果将与已确认的文档重新调和对齐,同时完整保留已获认可的段落、图注和注释。重试操作绝不应悄无声息地篡改不相关的有效内容。
保留这类决策的历史记录将有助于解释结果的来龙去脉:初版是由哪个引擎生成的?第二个引擎接收了怎样的输入?替换版本是否使用了不同的裁剪区域或包含了更多上下文?在对比不同备选方案、排查错误或判断新结果是否足够可靠以进入下一步流程时,这些都是极具价值的信息。
处理失败的区域同样应当保持清晰可见。如果某家服务商在读取 T1 时发生超时,系统可能依然持有可用的段落识别结果。若直接将这些局部结果作为“完整文档”返回,就会掩盖遗漏的工作。拟议的输出需要包含每个区域的完成状态信息,使应用程序能够明确区分“部分提取”与“完全提取”,进而决定是自动重试还是提示人工审核。
具体的响应结构格式目前仍在设计中。当前阶段的核心在于完整保留支撑这些行为所需的信息。过早将所有内容简单粗暴地展平为单一文本字符串,会让后续引入局部替换和复检功能变得异常艰难。
依托现有服务商的能力基础
OpenOCR 目前已经为兼容的引擎提供了服务商原生 PDF 处理能力,并为接收图像的引擎提供页面渲染支持。部分服务商还会返回其自身的版面或文档分析结果。Stratify 将在此基础上进一步拓展,跨引擎构建一套通用的区域与关联关系表征机制。
许多现有的实用能力可供我们借鉴:Mistral OCR 支持结构化文档输出,其中包含版面信息;AWS Textract 提供了针对表格、表单和版面的深度分析;PaddleOCR 则提供了专用的版面检测器,非常适合与独立的识别模型搭配使用。
若不经过转换,各家服务商的响应数据是无法通用的。某一服务商定义的“block”(区块)可能代表一行文字、一个段落或一个表格;坐标可能是归一化的,也可能采用其他度量单位;表格可能携带单元格位置、合并单元格以及层级关联,而如果仅保留纯文本,这些信息都将丢失。统一格式必须保留这些差异。
正因如此,我们规划的第一步就是保留服务商返回的有效结构。在引入二次识别流程之前,必须先明确现有识别结果中包含了哪些内容,以及它是否能够支持区域选择与文档重组。目前在 OpenOCR 中接入某家服务商,并不意味着该服务商的所有高级特性都已默认暴露。
各个适配器都需要结合具体的运算操作和模型版本进行严格校验。一堆纯文本块列表与一组带有坐标信息的区域有着本质区别。集成工作必须厘清哪些内容可以回溯到页面上、哪些内容可以复用,以及哪些部分需要调用额外的检测器或进行二次识别。
我们的评估计划
更长的处理流水线意味着更多潜在的出错节点:检测器可能会漏掉脚注,图像裁剪可能会切除限定词,组装环节也可能导致某句话被重复拼接。因此,评估工作必须着眼于整个工作流最终输出的完整文档,而不能仅仅关注模型在孤立区域上的准确率。
我们计划在完全相同的输入样本上,将提议的 Stratify 组合方案与单一服务商进行对比测试。测试集必须包含能够暴露各类问题的典型文档:多栏论文、密集表格、细小图注、数字原生与扫描混杂的页面、数学公式以及批注等。普通的信件同样应当纳入测试,因为额外的流水线处理开销不仅要在高难度文档上证明其价值,也必须在普通日常文档中体现合理性。
文本识别准确率只是衡量标准之一。阅读顺序、内容缺失、区域重复以及表格内部关系同样至关重要。对于 USGS 的表格而言,即便识别出的数值完全正确,但若将其归并到了错误的成分项下,依然属于错误结果;对于空白表单,将一个未勾选的复选框识别为已勾选项则是另一种失败。如果评分机制忽视了这些结构关系,就无法全面客观地反映该流水线是否真正带来了改进。
耗时与总体成本同样必须纳入评估体系。某个裁剪区域即便很小,也依然需要经历渲染、检测、向另一家服务商发起请求以及最终重组等步骤。针对性的局部重试,只有在无需重复无谓工作的前提下产生理想结果,才算真正具有实用价值。评估方案还应当如实将失败的重试开销计入成本,而不是只单单统计最后一次成功调用的消耗。
我们目前尚未发布 Stratify 的基准测试成果、定价方案或性能提升指标。关于置信度信息本身也需要专项评估:不同服务商返回的置信度评分所指代的含义可能各不相同,不能简单粗暴地求平均值。在彻底弄清这些信号的本质之前,相比于依据单一分数进行全自动路由分发,让客户自主选择处理策略并保持不确定性透明可见,是一个更为稳妥可靠的切入点。
从 API 到工作台
我们期望 Stratify 作为一项可选功能提供。预期的 API 设计是在客户自选引擎的基础上增加一项处理选项,允许显式控制版面分析与文字识别。目前接口协议尚未最终敲定,因此现阶段的请求中暂不支持添加任何 Stratify 参数。现有的 API 请求绝不会仅仅因为引入了这项新功能而产生任何额外的处理调用。
在工作台界面中,实用的控制功能将直接与文档本身绑定:审查已检测到的区域、查看是由哪个引擎进行读取的、将提取结果与原始页面进行对照,并在需要时请求二次识别。直观展示检测到的区域边界,还能帮助用户区分究竟是版面分割出了问题,还是文字识别出现了偏差——毕竟,即使对一个错误的裁剪区域进行了完美的文字转录,归根结底仍然需要先纠正裁剪边界。
我们规划的演进路径是:先完整保留服务商的原生结构,接着支持明确的引擎组合配置,随后引入区域审查与局部重试控制。自动选择最优引擎则是更长远的可能方案;在此之前,我们需要充分掌握各种组合在何种场景下有效、其成本如何以及通常会以何种方式失败等详实依据,系统才能负责任地代客户做出决策。
服务商的透明度与成本上限是整体设计方案的重要组成部分。客户应当清楚地知道哪些外部服务接收了整页文档或局部裁剪图像,以及允许执行哪些额外的处理任务。为某个特定区域更换读取器应当是一项清晰可控的处理决策,而非一段难以捉摸的隐式回退调用链。
我们希望从复杂疑难文档中探索什么
首个版本需要聚焦于一组切实具体的问题来突破。分栏顺序错乱的分析报告,与笔迹模糊的扫描表单截然不同;跨越三个页面的长表格,与单页收据面临的挑战也大相径庭。精准地描述这些识别失败的场景,将帮助我们更科学地挑选评估用例,并决定哪些控制功能最值得优先构建。
如果在提取过程中,您的文档常常丢失分栏、图注、表格关联或批注,欢迎联系 OpenOCR 并向我们描述具体遇到的问题。最具参考价值的切入点是实际表现:您原本期望保留什么、提取过程中丢失了什么,以及事后您不得不进行哪些人工修正。您完全无需预设某种特定的模型组合就是终极答案。
随着研发工作的逐步推进,我们将持续更新 Stratify 开发文档,确保其与拟议的工作流和集成边界保持同步。目前 Stratify 仍处于设计与规划阶段,尚未公布确切的发布日期。我们的目标是为 OpenOCR 提供一个切实好用的功能扩展,让客户能够更加从容地掌控复杂疑难文档,并清晰明了地了解其提取结果的具体生成链路。
文档来源:USGS Professional Paper 1894–C,版本 1.1(2025 年 2 月),印刷版第 6 页;以及 IRS 2024 Form 1040,第 1 页。封面与裁剪图像均复刻自公开发布的原版文档。文中的区域边界与关联关系均为手动标注的示意示例。文本摘录采用的是 PDF 原生嵌入的文本层。以上示例均非 Stratify 的实际检测输出、OCR 识别结果或基准测试。