
研究问题当前最先进的基于视觉语言模型VLM的OCR工具在页面级解析上表现优异但无法处理文档级的结构化信息尤其是在跨页连续性、标题层级、表格/文本截断恢复和图文关联等方面存在明显缺陷。这严重制约了RAG等下游应用的效果。解决思路作者提出MinerU-Popo——一个轻量级、通用的后处理框架它不改变OCR模型本身而是对OCR输出的页面级结果进行后处理重构将其转化为连贯的文档级树形结构。一、核心挑战三大难点跨页几何不连续性标题、段落、表格可能被分页打断逻辑关联被破坏。OCR输出冗余OCR产生大量元素文本、表格、图像等但每个后处理子任务只依赖其中一小部分无关内容会干扰模型。长文档可扩展性数百页的文档超出轻量级模型的上下文窗口简单分块会导致层级判定不一致。二、技术方案四大模块1. 任务分解4个聚焦子任务文本截断恢复判断跨页的相邻文本块是否属于同一段落并拼接恢复。表格截断恢复判断跨页的表格片段是否属于同一表格并预测列级单元格合并策略。标题层级重建为每个标题预测开放式的层级编号1为最高级支持任意深度嵌套。图文关联分析为每个图表/表格关联其标题并将其挂载到对应的章节节点下。2. 面向任务的数据引擎从Common Crawl和真实OCR服务请求中收集多样化文档按领域和长度分层采样。针对每个子任务设计特定输入过滤如层级分析只保留标题元素文本截断只提取首末句大幅降低输入复杂度。生成约3万条训练数据用于微调轻量级模型Qwen3-VL-4B。3. 动态分块与同步处理长文档动态分块采用三页重叠策略并基于任务相关元素的密度动态选择分块边界保证重叠区有足够的参考信息。块同步以首个分块为锚点计算后续分块在重叠区域的层级偏差并进行校准确保全局一致性。4. 文档丰富化结构丰富化将精炼后的元素标题、段落、表格、图像组装成树形结构确定父子关系。语义丰富化对过长节点进行段落级分块并调用LLM为每个节点生成摘要便于下游高效检索。三、实验与主要发现实验设置基础OCR模型MinerU、PaddleOCR、GLM-OCR、Dolphin、MonkeyOCR共5种后处理模型微调Qwen3-VL-4B评估基准自建PostDocBench后处理任务、ViDoRe V3RAG评估、MMDA端到端QA关键结果发现具体数据后处理精度高标题层级TEDS达到90.6%超过Qwen3-VL-32B78.0%推理速度0.37 doc/s优于Qwen3-VL-2B0.22 doc/s显著优于多个OCR基线在所有5种OCR模型上标题层级TEDS提升超过20%提升RAG性能在5个ViDoRe子集中的4个上准确率和召回率均优于原始OCR基线延迟最高降低70%端到端QA表现最优树形结构导出的JSON/Markdown格式在MMDA上准确率超过60%优于SHT和XML格式数据规模效应训练数据从1k增至10k时性能提升明显10k→30k时增益趋缓消融研究结论动态分块与同步机制使文本截断召回率从86.6%提升至93.8%。摘要生成虽略降召回率但大幅降低延迟如Fin.子集从248s降至68s。四、文章贡献总结自述提出首个面向OCR后处理的轻量级通用框架MinerU-Popo。构建面向任务的数据引擎和特定输入过滤机制实现高效微调。设计动态分块与同步策略解决长文档处理的一致性问题。通过丰富的实验验证了后处理在提升RAG准确率、降低延迟、改善端到端QA方面的显著效果。论文的核心思想是与其让OCR模型一次性解决所有问题不如让OCR专注于页面级提取再通过一个轻量级、可本地部署的后处理模型来恢复文档级结构。这种“OCR 专用后处理”的范式在成本、精度、可扩展性和隐私合规性上都具有明显优势为大规模文档解析和RAG系统提供了一条实用且高效的路径。这里是自己的论文阅读记录感兴趣的话可以参考一下如果需要阅读原文的话可以看这里如下所示项目地址在这里如下所示基于视觉语言模型VLM的OCR模型已成为文档解析的事实标准因为它们能够准确提取页面级元素例如单个页面内的段落及其边界框和文本内容。然而诸如检索增强生成RAG之类的下游应用需要连贯的文档级信息而这些模型往往会破坏跨页连续性并且无法恢复被页面边界截断的结构如段落和表格。此类关系不仅局限于单页而是需要对跨越多个页面的标题、段落、表格和图像进行联合分析。因此一个自然的解决方案是复用现有的OCR输出并通过后处理来重建文档级的逻辑结构。为此我们提出了MinerU-Popo一个轻量级且通用的OCR输出后处理框架它能将来自不同解析器的页面级结果转换为连贯的文档级结构。MinerU-Popo将该问题分解为四个聚焦的子任务文本截断恢复、表格截断恢复、标题层级重建和图文关联。为了有效解决这些问题我们构建了一个面向任务的数据引擎并采用特定于任务的输入过滤然后使用生成的数据3万条来微调一个轻量级的40亿参数后处理模型。为支持长文档处理我们引入了带有重叠同步机制的动态分块策略以对齐微调模型输出的块级结果并保持全局一致性。最后我们将对齐后的输出组装成一棵树形结构的文档表示并进一步通过节点分块和摘要生成来丰富该表示以服务于下游的检索和分析任务。实证结果表明与原始OCR基线相比MinerU-Popo在所有五个被测试的OCR模型上将标题层级TEDS树编辑距离相似度至少提升了20%在大多数子集上提高了RAG的准确率并将单次查询延迟最多降低了70%。1 引言文档解析将非结构化和半结构化文档转换为机器可读的表示形式以支持下游的检索、问答和自动化分析 [1, 2, 3, 4]。近年来基于VLM的OCR模型如MinerU [5]、PaddleOCR [6]、GLM-OCR [7]、Dolphin [8] 和 MonkeyOCR [9]通过从单个页面中提取元素类型、边界框、阅读顺序和文本内容显著提升了页面级解析的性能。然而下游应用如RAG很少在孤立的页面上运行它们需要连贯的文档级结构而按页进行的OCR往往会破坏跨页连续性并模糊诸如标题层级、图表-标题链接以及被页面边界截断的段落或表格等关系。例如图1展示了一个跨两页的表格其准确重建需要联合分析跨页的表格连续性及其周围的标题层级。因此一个自然的解决方案是复用现有的OCR输出并通过后处理来重建文档级的逻辑结构。这种方法很有吸引力因为现代OCR模型已经提供了一种广泛兼容的中间表示形式一个按阅读顺序排列的、带有类型标记的块序列每个块都关联着内容和坐标信息。此外这些块类型例如文本、标题、图像、表格、标题在各个系统间大体上是兼容的并且通常可以通过轻量级规则进行规范化。然而对于海量文档诉诸人工修正或使用大型通用VLM进行后处理成本高昂难以扩展并且通常与隐私敏感型或本地化部署不兼容 [10, 5]。例如根据一个公共文档解析平台 [5] 的遥测数据该服务每月接收数百万次OCR请求每个文档平均包含超过20页。然而实现有效的文档后处理并非易事存在三个根本性挑战1跨页几何不连续性分页破坏了文档的逻辑流导致相关元素出现在不同页面例如一位于上一页底部的章节标题可能统领下一页的内容二表格可能被分割在两页上。2冗余的文档解析OCR解析器生成全面但冗余的输出包含所有元素块的详细信息。相比之下每个后处理子任务仅依赖于相关元素的一个小子集而无关内容可能会引入干扰。例如文本截断恢复应关注被页面边界打断的段落片段而不是完整的段落或不相关的相邻块。3长文档的可扩展性在单次传递中处理超长文档例如数百页超出了轻量级模型的上下文限制而简单的分块策略可能在跨块间产生不一致的层级判定。为应对这些挑战我们引入了MinerU-Popo一个统一的文档后处理框架它桥接了OCR输出与跨主流OCR模型的文档级结构解析。MinerU-Popo并非将OCR预测视为最终解析结果而是通过一个本地部署的微调模型对其进行精炼该模型执行四项文档结构子任务表格截断分析、文本截断分析、标题层级分析和图文关联分析。为了支持鲁棒的结构推理我们构建了能够捕捉真实世界复杂文档布局多样性和代表性的训练数据并进一步引入了特定于任务的数据过滤以在模型输入中仅保留最关键的信息。为处理长文档MinerU-Popo采用了动态分块与同步技术在保持全局一致性的同时减少了独立处理各分块产生的偏差。最后MinerU-Popo通过长节点分块和摘要生成来丰富精炼后的解析结果将碎片化的OCR输出转换为一个统一的、层次化的、语义详细的文档表示适用于下游检索和分析。我们的贡献总结如下1我们提出了MinerU-Popo一个轻量级且通用的框架用于将OCR输出后处理为连贯的文档级结构。2我们开发了一个面向任务的数据引擎并采用特定于任务的输入过滤使轻量级模型能够高效地解决四个聚焦的跨页结构解析子任务。3我们引入了带有重叠同步机制的动态分块策略和一种增强的树形结构文档表示从而提升长文档的一致性和下游检索质量。4实证结果表明MinerU-Popo总体上改善了OCR解析结果例如对于5种OCR模型层级TEDS提升了超过20%提升了RAG和端到端问答的作答性能并将RAG的单次查询延迟降低了高达70%。2 相关工作OCR模型。近来VLM推动了OCR领域的范式转变其应用范围从文本识别扩展到全面的页面布局重建。诸如MinerU [5]、PaddleOCR [6]、GLM-OCR [7]、Dolphin [8] 和 MonkeyOCR [9] 等现代OCR模型已在OmniDocBench [11] 等基准测试上确立了最先进的页面级解析性能。然而如表1所对比这些模型在处理文档级关系方面存在局限1文本截断大多数模型能检测页内截断但无法恢复被页面边界打断的段落。2标题层级GLM-OCR和Dolphin依赖于僵化的、预定义的标题级别例如GLM-OCR仅区分doc_title和para_title两个级别Dolphin支持三个级别使其不足以处理具有深度嵌套层级结构的文档。相比之下MinerU-Popo预测开放式的级别以自然适应任意深度。3表格截断尽管PaddleOCR能合并被截断的表格但它无法跨页边界统一相邻的单元格。4图文关联所有基线模型均无法捕捉图像、标题和章节之间的语义关联。最终这些缺陷阻碍了对多页文档的准确解析。层级分析。层级分析旨在建模文档元素的嵌套结构。端到端方法如DocHieNet [12] 和 HRDoc [13]基于OCR输出推断关系但未充分利用显式的OCR先验信息例如元素类型和阅读顺序迫使模型隐式地学习它们。ZenDB [2] 使用来自原生数字文档的视觉元数据如字体大小来聚类元素这缺乏对扫描文档的泛化能力且忽略了语义上下文。相比之下MinerU-Popo显式地利用OCR派生的类型和阅读顺序通过特定于任务的数据过滤来简化模型输入。通过将层级分析分解为聚焦的子任务例如标题结构化和图文关联每个子任务仅操作于相关元素消除了全局处理的开销。文档问答。基于文档的问答QA是一项关键的下游任务。由于上下文长度衰减和高昂成本使用视觉语言模型直接处理整个文档是不可扩展的。最近的检索增强范式主要遵循两条路径视觉中心方法例如M3DocRAG [14]SV-RAG [15]利用图像嵌入进行页面级检索结构感知框架[1, 2, 3, 4] 则将文档建模为树或图以实现细粒度的节点级检索。后处理为文档建模提供了必要的信息例如ZenDB [2] 和 MoDora [1] 所需的图文关联和标题层级使其摆脱了最初简单的基于规则的方法。与此同时像ViDoRe V3 [16] 和 MMDA [1] 这样的基准测试已被引入以严格评估这些系统。3 问题定义4 方法如图2所示MinerU-Popo提供了一个全面的流程用于将碎片化的OCR输出转换为准确的文档级表示。该流程始于一个在面向任务的数据引擎上微调的轻量级模型该引擎过滤掉冗余的OCR噪声为上述四个子任务提供聚焦的输入。为在不丢失全局上下文的情况下高效处理任意长度的文档我们在推理过程中采用了动态分块与同步策略。最后通过文档丰富化将精炼后的元素组装成一个层级树结构并进一步通过语义分块和LLM生成的摘要进行优化以促进下游检索和分析。4.1 面向任务的数据引擎我们首先提供一个面向任务的数据引擎该引擎应用特定于任务的输入过滤。通过仅保留与每个特定子任务相关的关键元素类型和结构先验我们显著降低了输入复杂度并增强了模型的专注度。文档级过滤。我们从大规模的真实世界文档中收集具有代表性和多样性的文档。这些文档主要来自两个来源。第一个是Common Crawl (CC)一个中立的、非营利的公共网络档案馆。按照学术界认可的处理方式 [17]我们确保CC数据仅用于非商业学术研究。我们严格遵守使用条款 [18]并保证遵守Robots协议。第二个来源包括从OCR服务的真实用户请求中收集的PDF文件。为获得均衡的文档分布我们首先使用一个VLM根据其内容例如科技、学术、教育、医疗、政务和法律、布局特征、视觉风格及相关属性对这些文档进行分类。然后我们按长度对文档进行分组并从每个类别中进行采样以实现文档类型和长度的均衡覆盖。文档OCR生成多模态元素文本、图像、表格简单地将它们拼接作为输入会引入无关噪声并加剧长上下文挑战例如表格与确定标题层级无关。通过分解总体任务第3节每个子任务仅需要特定的元素类型。因此我们在训练和推理过程中采用特定于任务的过滤仅保留关键的相关元素和页面显著降低了输入复杂度。特定于任务的过滤。对于每个子任务我们通过启发式规则过滤出最相关的元素作为输入。1层级分析的过滤。标题对文本段落起统领作用。一旦确定了标题的层级隶属于该标题的文本的层级也就随之确定。因此在标题层级分析中仅过滤出类型为“标题”的元素并按照OCR预测的阅读顺序排列作为输入。2图文关联分析的过滤。图像和表格一方面与各自的标题相关联另一方面从属于文档中的特定章节由其标题代表。为捕捉这些关联我们过滤出类型为标题、标题、图像或表格的元素而丢弃大量的普通正文文本。3文本截断分析的过滤。文本元素在文档长度中占主导地位。然而截断本质上只发生在文本块的边界处。我们利用这一结构先验应用基于起始前缀如‘1.1’和结束标点如句号的启发式规则来丢弃明确未被截断的块。对于剩余的候选块我们仅提取其首句和末句作为最终输入从而大幅减少令牌数量。4表格截断分析的过滤。表格截断通常由分页引起。为在不进行繁重模型推理的情况下高效识别候选对象我们采用布局和结构启发式规则。我们选择位于页面边界一页的最后一个元素和下一页的第一个元素的表格。然后我们通过检查延续标记例如标题中的“continued”、边界框宽度一致性和相同的列数来验证这些候选对象。4.2 动态分块与同步即便过滤了无关元素处理长文档仍然是一个瓶颈。例如一份美国银行财务报告可能长达数百页、包含数千个段落这使得单次处理变得不可行。这需要将文档分割成可管理的页块。然而简单的分块会在层级预测中引入不一致性。例如在分块边界处的文本截断无法被检测到。另一种情况是全局文档标题级别1被局限于第一个分块而缺乏此上下文的后序分块可能会错误地将章节标题从级别2提升到级别1。为减轻这些伪影我们提出了一种动态分块与同步策略。动态分块。为防止边界截断导致信息丢失并为同步建立参考点我们采用了具有三页重叠的重叠分块策略。我们并非使用固定的步长而是动态确定分块边界以丰富参考信息。具体而言在一个由预设步长和阈值定义的搜索窗口内我们选择特定任务元素例如用于层级分析的‘标题’出现频率最高的页面作为边界。这种密度最大化机制保证了重叠区域内有足够的参考元素从而减少了同步过程中后续偏差计算的方差。形式上该过程定义如下4.3 文档丰富化我们通过混合节点分块和LLM生成的摘要来执行结构丰富化和语义丰富化以增强文档级别的结构和语义信息。结构丰富化。基于预测的标题层级和关联关系我们将元素组装成一棵树 T。层级决定了章节节点的父子关系而文本段落、合并后的表格和关联的图像则作为子元素附加到其各自统领的章节节点下。5 实验5.1 测试数据集我们构建了一个包含3万个训练实例和每个子任务165个测试实例的数据集PostDocBench以评估后处理性能。现有的OCR基准测试如OmniDocBench [11]、DocLayNet [19]、o1mOCR-Bench [20]不适用于此评估因为它们主要针对页面级解析而我们的重点是文档级后处理。对于下游任务我们采用ViDoRe V3 [16] 进行检索增强生成RAG评估利用其边界框注释来衡量空间检索准确率。此外我们使用MMDA [1] 进行端到端QA评估以评估不同文档结构的表示能力。在所有实验中我们使用MinerU [5] 作为基础OCR模型微调Qwen3-VL-4B [21] 进行后处理并利用Gemini-3-Flash [22] 进行答案生成。5.2 实验设置首先我们支持多种主流OCR模型包括MinerU [5]、PaddleOCR [6]、GLM-OCR [7]、Dolphin [8] 和 MonkeyOCR [9]。此外我们微调Qwen3-VL-4B [21] 进行后处理利用Qwen3-Embedding-4B [23] 进行基于嵌入的检索并利用Gemini-3-Flash [22] 进行最终答案生成。训练在8块H200 GPU上进行耗时6小时。5.3 实验结果发现1与基线相比MinerU-Popo实现了更高的准确率和推理速度在面向任务的数据引擎支持的微调下最终在各类后处理子任务上得分约为90%。后处理性能。表2比较了在相同部署条件下MinerU-Popo和其他预训练模型在标题层级分析任务上的TEDS分数和推理速度以每秒处理的文档数衡量。MinerU-Popo不仅取得了比更大模型更高的TEDS分数90.6 vs. 78.0而且速度甚至快于更小的模型0.37 vs. 0.22。这表明我们的面向任务的数据引擎和动态分块通过减少输入和输出长度同时提高了模型训练和推理的效率。我们进一步通过在PostDocBench上使用不同的子集每个子任务1千到3万个实例进行联合训练来评估微调的效果。如图3所示当每个子任务的训练实例从1千增加到1万时所有相应的分数都有所提高。但随着数据规模从1万扩展到3万性能增益大幅减少。这表明当前的训练数据已经足够更多的训练数据只会带来边际效益。对于在完整训练集上微调的MinerU-Popo文本截断分析的精确率和召回率分别达到 87.8% 和 93.8%图文关联分析的精确率和召回率分别为 87.0% 和 79.5%而其他两个子任务的得分均超过 90%例如预测标题层级与标注层级之间的TEDS为 90.6%表格截断分析中合并方法预测的准确率为 92.7%。这表明微调后的模型能够在各种后处理子任务上做出准确判断使我们能够整合其推理结果获得结构良好的文档建模结构。发现2MinerU-Popo提高了检索和回答的准确率同时降低了延迟突显了后处理在下游任务中的效用。原始OCR和视觉RAG在一些罕见情况下得分更高这是因为查询针对的是非常详细的内容或复杂的表格。RAG对比。为评估结构化文档建模的下游效用我们在ViDoRe V3的五个英文子集上将使用MinerU-Popo处理文档树的RAG系统与原始OCR和视觉检索基线进行了比较。对于基于树的检索嵌入仅基于每个节点的串联标题路径和摘要进行计算。缺乏结构的原始OCR基线则嵌入全文而视觉基线使用ColEmbed-3B-v2 [24] 检索相关页面。最后将检索到的上下文节点、文本或页面图像输入Gemini-3-Flash进行问答。表3报告了RAG在各个子集上的准确率、边界框召回率和延迟秒/查询。准确率由LLM评估完全正确为1分部分正确为0.5分错误为0分边界框召回率是检索到的证据与标注证据的重叠面积占标注证据面积的百分比。在五个子集中的四个上MinerU-Popo的性能优于基于原始OCR的RAG例如在Phar.子集上准确率提升了 7.15%边界框召回率提升了 15.72%。此外MinerU-Popo显著降低了延迟通过高效地嵌入简洁的节点标题和摘要在Fin.和H.R.子集上分别将时间成本削减了约 70% 和 50%。然而依赖摘要进行检索可能会遗漏细粒度的证据这解释了其在Ind.子集上表现不佳的原因。为进一步阐明标题、摘要和内容之间的区别我们使用LLM对ViDoRe V3的问题进行分类。第一类查询涉及确切的章节标题或图像、表格和图表的标题。第二类包括针对关键论点、方法、趋势和结论的查询。第三类关注特定的数值和高度详细的内容。表4显示在面向真实世界文档的问题中第一类所占比例很小低于 3%。第二类针对关键论点、方法、趋势和结论占主导地位在C.S.和Phar.子集中占比 74.4%在Ind.子集中占比 35.0%。通过提取关键信息摘要能够实现高效检索而无需重复处理长文本。第三类在不同子集中占比 20.9%−63.6%对于这类问题摘要带来的检索收益微乎其微因为它们捕捉的是高层抽象而非细粒度细节。表3中的结果与表4中的类别分布相一致。具体而言Ind.子集中 63.6% 的查询需要精确的数值或细粒度细节这些通常在高层次摘要中缺失导致当检索依赖于节点路径和摘要时准确率较低。相比之下这种机制在其他四个子集中仍然有效。这些观察表明通过基于LLM预测的查询类型来选择RAG策略可能获得进一步的提升。值得注意的是尽管视觉RAG实现了更高的召回率但MinerU-Popo产生了更优的整体答案准确率。视觉RAG的高召回率源于其页面级检索这绕过了边界框对齐问题并在成功匹配页面后保证了 100% 的内容召回。然而直接从高分辨率、文本密集的页面图像中推导答案对模型的视觉理解能力提出了挑战导致在大多数子集上准确率较低。一个例外是Fin.子集其中视觉RAG取得了更好的回答准确率。这是因为超过 25% 的查询依赖于复杂的财务表格相比之下其他子集只有 10% 且表格更简单。OCR难以将此类复杂表格准确解析为OSTL或HTML格式导致LLM随后无法对其进行推理。相比之下VLM在处理其原生图像格式的复杂表格时更为有效。除了检索召回率和回答准确率外视觉RAG在其页面图像嵌入过程中也产生了大量的计算开销。发现3源自MinerU-Popo的JSON和Markdown格式能更好地捕捉文档信息从而进行全面的问答。端到端问答对比。为评估不同数据格式的表示能力我们在MMDA上使用各种证据格式进行了端到端问答实验表5。JSON和Markdown源自我们构建的文档树而SHT和XML分别遵循ZenDB [2] 和 DocAgent [3]。我们观察到源自树的JSON和Markdown格式为文档问答提供了更优的表示。JSON通过编码文档元素的语义和坐标位置提供了最全面的表示在MMDA上达到了超过 60% 的准确率。然而对于纯语义查询位置信息变得冗余甚至可能妨碍模型理解。因此JSON在与位置无关的问题上表现不如Markdown因为Markdown更有利于语义推理。相反这种缺失也导致Markdown在基于元素位置的问题上性能下降了 20%。最后尽管SHT和XML也是树形结构但它们缺乏解决内容截断、层级和关联关系所必需的后处理。这导致整体性能较差在跨模态和层级问题上的得分分别仅为 50% 和 60%。5.4 消融研究动态分块与同步。表6评估了使用和不使用动态分块与同步策略的后处理性能。完整地处理长文档会明显降低性能例如文本截断召回率从 93.8% 下降到 86.6%。这突显了模型长上下文推理能力的局限性从而促成了我们基于分块的方法。语义丰富化。表7对语义丰富化中的节点分块和摘要生成进行了消融研究。其中IoU表示检索到的证据边界框与真实证据边界框的交并比。用节点摘要替换为完整的详细内容会带来更高的整体IoU和召回率但大幅增加了时间成本。例如Fin.子集上的单次查询延迟从68秒跃升至248秒。相反省略节点分块会因节点数量减少而加快检索速度。然而虽然较大的未分块节点保留了更多上下文但它们也引入了无关噪声从而降低了精确度。因此这种省略导致所有子集的IoU下降并在C.S.和H.R.子集上降低了召回率。6 结论在本文中我们提出了MinerU-Popo一个文档OCR后处理流程。它使用一个微调模型基于OCR输出分析表格截断、文本截断、标题层级和图文关联。动态分块与同步使其能够适应长文档处理。最后结构和语义丰富化产生了一个完整的结构适用于RAG等下游任务。我们在PostDocBench上的后处理实验、ViDoRe V3上的RAG实验以及MMDA上的端到端问答实验都证实了后处理的有效性及其在增强下游任务方面的有益作用。