今天是2025年6月17日,星期二,北京,晴
我们继续来看文档解析的实际问题,之前在《真实场景下文档解析中的2大类8个常见问题:目录层级解析、布局检测、阅读顺序及长表格拼接》(https://mp.weixin.qq.com/s/DxIXNkF4lHzVzgw6tiSwCA)中,来看看在真实使用场景中,会出现的具体问题,例如ppocrv5模型的具体表现?布局检测的问题?阅读顺序的问题?文档背景的干扰问题?文档目录层级解析问题?长表格的拼接问题等等。我们可以将其归并为文档解析处理中的检测问题和语义解析问题两大块内容,共计8个小问题。
我们来看第二篇,也同步一些自己的思考,关于文档解析的技术范式,另一个再来记录一些真实问题,7个问题,包括为什么要先做版面分析?为什么不用一个模型在做三个阶段的任务?换成多模态文档解析之后的经典显存问题?下划线的问题,如何解码得到?关于文档跨页拼接的问题等。
这些都是很现实的效果问题,很值得关注,也是在文档解析领域研发的一些思考。
一、关于文档解析技术方案发展思考
其实,回顾文档这块,我们是有很多有趣的总结的,尤其是最近隔三差五出来的技术思路。
比如,就路线上,pipeline模型多,误差传播,但很鲁棒。
end2end,成本高,多栏,长文档处理差。
所以现在各取所需,最近的趋势比如dolphin,monkeyocr,mineru2.0,尤其是后面2个,都改成三阶段,layout+vllmocr【替换table,formular,ppocr+后处理】+layoutreader,然后把模型做小。
目前这种方式,其实愿景很好,但是上限还是layout的结果,这个不准确,后面再准确也白搭,而layout本身又受到泛化性的问题,比如把印章盖表的样本上把印章切成两半,或者把很多是文本的变成是图,导致不做处理。并且,还涉及到block段落拼接的问题,还涉及到layout的label错误问题这些。
所以,现在文档,其实更多的还是各种后期规则补个没完,layout是龙头地位,最值得做,且还要打补丁。
最近社区也好几个人在提pdf转ppt,html转ppt,这个看来还蛮有需求。但这个无论过程如何,都是变成python-pptx的操作符组合。布局检测,元素的meta信息抽取全结合在一起弄,也只能做到某种程度上的恢复。
逐步的,你会发现,从技术上,文档解析的范式分久必合,现在是合的阶段,反复实验之后,发现llm也确实不太适合做大而全,长且多的任务,尤其是上面说的多任务,长文档,复杂布局,而适合做一个小环节,也符合这个技术的尿性。
逐步的,你也会发现,文档解析的工具模型越来越多,但只用于RAG,价值量化不出来,好了RAG不一定好,差了,好像也不一定差到哪儿去。
而回归到根本,文档解析其实是一个发展了几十年的ocr任务,其实场景一直也没太变过。所以,其技术地位又是尴尬的,式微的。出路是针对特定的任务去作为一个小系统组件,依附于一个场景的解决方案里才能发挥价值,比如上面说的pdf2pptx,或者企业内部的信息抽取,表单解析等。
综上,你会发现,文档解析又是个视觉领域很适合占坑【效果可以预见不会好,核心是真实场景文档太过于自由】的论文方向,这几年的情况也印证了这一点。
二、再看关于文档解析的7个典型问题
1、为什么要先做版面分析?,也是前面我们提到的点。layout带来的副作用,看回复,核心还是在讲速度问题。https://github.com/Yuliang-Liu/MonkeyOCR/issues/27

2、为什么不用一个模型在做三个阶段的任务,包括layout、ocr和阅读顺序,https://github.com/Yuliang-Liu/MonkeyOCR/issues/22

3、一些带框的文本会被当成图像块来处理 而不去OCR了,https://github.com/opendatalab/MinerU/issues/2610

4、换成多模态文档解析之后的经典显存问题,尤其是sglang,https://github.com/opendatalab/MinerU/issues/2637

5、下划线的问题,如何解码得到?,https://github.com/Ucas-HaoranWei/GOT-OCR2.0/issues/162

6、一些突出的badcase,https://github.com/Yuliang-Liu/MonkeyOCR/issues/2,还是在布局检测、手写体、latex格式的问题;

7、关于文档跨页拼接的问题,https://github.com/Yuliang-Liu/MonkeyOCR/issues/62,在探测到第n页最后一段没有结束符号(例如最后没有句号)时,将第n+1页的内容与第n页接续起来,以支持跨页的文件头像。

这种就是技术方案上的事情了,可以使用规则进行兜底,但兜底总会有都不住的情况。
(文:老刘说NLP)