一、从单页识别到文档理解,MinerU-Popo 补上关键一环
这些年,以 MinerU 为代表的智能文档解析系统确实已经能做到在单页范围内认出标题、正文、图片、表格这些元素,并且告诉你它们各自的位置和阅读顺序。
但这里有个问题:页面级的解析结果,回答的是“这一页里有什么”,而 RAG、知识库和 Agent 工作流真正需要的,远不止于此。它们需要的是整篇文档被还原成连续、准确、可检索、可分析的文档级语义结构——说白了,不是认识字,而是真正读懂了文档。
最近,上海人工智能实验室 OpenDataLab 团队联合上海交通大学等单位,提出了一个叫 MinerU-Popo 的方案。这是一个轻量、通用的后处理框架,基于 4B 参数的微调模型。它的工作不是去重新做一个 OCR,而是接过 OCR 吐出来的页面级结果,去修复那些跨页表格怎么合并、跨页段落怎么拼接、标题层级怎么补齐、图文怎么关联这类问题。最终产物是一棵可检索、可分析的文档树。
!(https://developer.qcloudimg.com/http-sa ve/audit-12452033/955292c371b9230a19a40804ab32ad58.png)二、为什么说传统方式不够用?
要解决跨页表格合并、跨页段落连接、标题层级恢复这些问题,传统思路有两条路:要么把单页 OCR 的精度继续往上堆,要么用写死规则的方式拼接段落、归并标题、合并表格。
但前者受限于页面边界本身——你做得再准,它也不知道下一页的内容和这一页是什么关系。后者呢,面对金融报告、学术论文、政务文件、医疗文书这些五花八门的版式,几乎不可能写出一套通用的规则来,维护成本高,复用性也差。
更进一步,不同 OCR 系统的输出标签、元素粒度和结构格式都不一样。给每个系统都单独写一套后处理逻辑,显然不是个可持续的办法。
MinerU-Popo 的思路其实更直接:不是重新训练一个庞大的端到端系统,也不是让模型把 PDF 再认一遍,而是选择复用已有 OCR 或版面解析模型的页面级结果,在统一标签空间里进一步恢复文档级逻辑结构。靠一个标签对齐机制,它能对接多种主流 OCR 系统——不同模型的输出标签通过轻量规则归一化成统一标准(比如 title、text、image、table),实现即插即用。
!(https://developer.qcloudimg.com/http-sa ve/audit-12452033/d95f45199758658c537a216ae9246939.webp)三、MinerU-Popo 的技术框架拆解
MinerU-Popo 把文档后处理这件事拆成了四个核心任务:文本截断恢复、表格截断恢复、标题层级重建和图文关联。说白了就是,它要判断:断开的段落是不是该合并?分页的表格是不是同一张?标题之间谁是谁的父级?图片、表格和它们的 caption 挂在哪个章节下面?
任务拆清楚之后,设计了三块核心模块来处理它们:面向任务的数据引擎、动态分块与同步、文档丰富化。
!(https://developer.qcloudimg.com/http-sa ve/audit-12452033/83fc28137803d881a30e195f2655672b.png)3.1 面向任务的数据引擎:先筛出真正有用的信息
训练数据的质量直接决定模型效果。MinerU-Popo 会从大规模真实 OCR 文档中,用 VLM 按视觉外观、版面特征、文档格式、内容领域和页面长度等维度做筛选,并按领域和长度分组采样,保证数据能覆盖金融、学术、政务、医疗这些常见文档类型。
然后,它会针对不同的子任务做专门的过滤:标题层级分析只保留 title 元素,图文关联任务保留 title、caption、image、table,文本截断只关注候选文本块的首尾句,表格截断则重点定位页面边界处的表格候选对。这样模型不用处理整篇文档里的所有冗余信息,而是聚焦在最相关的结构线索上。
3.2 动态分块与同步:长文档既能切开处理,又能保持全局一致
即使经过过滤,长文档也很难一次性塞进模型。简单固定分块又会有新问题:分块边界处的文本截断可能被漏掉,后面的块因为缺少全局标题上下文而误判层级。
MinerU-Popo 的解法是动态分块加同步策略。它用三页重叠分块来保留跨页参考信息,在搜索窗口内动态确定分块边界;然后利用重叠区域中相同元素的预测结果计算层级偏差,用这个偏差去校正后续块的预测。对于不涉及层级偏差的任务,就把各块的结果直接合并。消融实验数据显示,这套策略让标题层级 TEDS 从 85.8% 提到 90.6%,文本截断召回率从 86.6% 提到 93.8%,提升相当明显。
3.3 文档丰富化:把预测结果组装成可用的文档树
模型完成段落连接、表格合并、标题层级和图文关联的预测之后,还需要把结果转成下游真正能用的表示。
MinerU-Popo 基于标题层级构建章节父子关系,然后把文本段落、合并后的表格、关联的图片都挂到对应的章节节点下,形成结构化的文档树。为了让这棵树更适合检索和分析,它还会做语义丰富化:当节点内容过长时,在段落边界处切分;当标题过短、检索粒度不够时,用 LLM 为节点生成摘要,提炼关键论点、方法、趋势或结论。最终得到的文档树,兼顾了结构、粒度和信息完整性,能给 RAG、问答和文档分析提供高质量输入。
四、效果怎么样?数字说话
实验数据很直观:五种主流的 OCR 模型,在经过 MinerU-Popo 后处理之后,标题层级 TEDS 的提升全都超过了 20 个百分点。这充分说明后处理框架的通用性和有效性。
!(https://developer.qcloudimg.com/http-sa ve/audit-12452033/77c4ba25d8f3f667526922e31abc7987.png)在完整训练集上,MinerU-Popo 的关键指标如下:
- 文本截断分析:精确率 87.8%、召回率 93.8%
- 图文关联分析:精确率 87.0%、召回率 79.5%
- 标题层级 TEDS:90.6%
- 表格截断合并方法预测准确率:92.7%
更有意思的是,虽然 MinerU-Popo 只有 4B 参数,但它居然在标题层级恢复上比 32B 的通用模型高出了 12 个百分点(90.6 vs. 78.0),推理速度还快了将近一倍(0.37 vs. 0.20 文档/秒)。
!(https://developer.qcloudimg.com/http-sa ve/audit-12452033/3ba1b4c368e81176360a445f87efa529.webp)在下游的检索分析与直接问答任务中,经 MinerU-Popo 处理后的文档结构,在多个 RAG 子集上全面超越了原始 OCR 基线。同时因为节点标题和摘要更简洁,还降低了检索延迟。
!(https://developer.qcloudimg.com/http-sa ve/audit-12452033/5f98191d5324c09779d270823e601d1b.webp)而在端到端问答任务中,从文档树导出的 JSON 和 Markdown 格式,也取得了更好的整体准确率。
!(https://developer.qcloudimg.com/http-sa ve/audit-12452033/df2cd96c8c2103d02ddebfd73d3a5318.png)说句实在话,MinerU-Popo 解决的问题并不是“多认几个字”,而是当复杂文档进入知识库和 Agent 工作流之后,里面的信息能不能被稳定召回、准确理解、可靠使用。这才是关键所在。
五、写在最后
从 MinerU 2.5 到 MinerU-Popo,可以清晰地看到文档解析这条赛道的竞争方向在变化:从单页精度的竞赛,走向文档级语义结构的恢复。前者让模型更准确地看懂一页纸,后者让系统更完整地读懂整篇文档。
面向未来,“复杂文档能否高质量转化为 AI-Ready 数据”,这件事会直接影响大模型应用的可用性。MinerU-Popo 正是在这条链路上补上了关键的一环:让页面级的 OCR 输出,真正变成可检索、可分析、可进入智能工作流的文档结构。
