断断续续写文档智能这个系列已经有些时日了(往期文章都归档在《文档智能》),这段时间笔者利用周末零散时间折腾了一套纯利用深度学习模型的文档智能pipline解析系统,从目前效果来看,效果还不错,特此记录下。功能主要为输入pdf,经过版式分析划分区块,各个类别的区块施以特定的解析模型进行识别,最后通过阅读顺序还原原始的布局顺序,输出markdown格式。
基本流程都遵循以下图:
效果如下视频:
实现该系统所利用的模型:
- 版式分析系列模型(多个场景的轻量模型,仅6.3M大小):https://huggingface.co/qihoo360/360LayoutAnalysis
- OCR:paddleocr的server版,https://paddlepaddle.github.io/PaddleOCR/main/ppocr/quick\_start.html
- 公式识别模型:该模型是笔者在ICPR 2024多行数学表达式识别竞赛中获得冠军的方案模型。
- 表格模型:这一块集成的是笔者前段时间折腾的一个多模态模型,参数量较大。《多模态大模型表格识别解析》
- 阅读顺序模型:该模型集成的是笔者半年前开源的阅读顺序模型。而对于简单版式,可以使用规则:
modelscope地址:https://www.modelscope.cn/models/yujunhuinlp/LayoutReader-only-layout-large
耗时点 :
-
目前还是一个单线程的pipline方案,未实现多线程并发。
-
OCR非常耗时,尤其是文字密集文档。
-
公式识别、表格识别、阅读顺序模型参数量较大。
-
目前整个流程跑在CPU上。
-
纯深度学习模型的pipline,未作任何规则兜底方案和加速操作。