最新开源的解析效果非常好的PDF解析工具MinerU (pdf2md pdf2json)

  毫不夸张的说 PDF解析工具MinerU是照进RAG黑暗中的一道光——这是我对它的评价。我测过太多了文档解析工具!
  最近在做文档解析的工作。看了很多的开源的文档解析的工具,版面分析的工具,其中包括paddelpaddel这样30k+star的明星工具。但是效果都觉得不好。
  MinerU是一个最近开源的文档解析工具,可以把PDF转成json结构,还可以转成md格式。可以解析得到其中的图片,表格,可以得到段落,可以得到标题,这是很哇塞的事情。因为最近RAG特别火热,这些都是RAG非常需要的。文档解析是非常重要的一个环节。可以看看这篇文章。 RAG的上限在哪里?边界在哪里?_rag的限制-优快云博客
  虽然现在MinerUstar数量不高,1k star都不到,但是绝对会涨起来的。我们调研对比过很多开源的工具,效果都强差人意,这个是我看到的最满意的一个。甚至要比我们生产环境的都要好一些。MinerUstar 绝对是一个为RAG而创造的工具,开源世界的一道光。
  这篇文章会详细介绍它的解析效果,它的优势和不足。并且给出详细的安装教程。MinerU 在github上的安装教程太粗糙了。一堆问题。

环境介绍

windows10 环境

使用CPU运行

Magic-PDF简介

MinerU 是一款一站式、开源、高质量的数据提取工具,主要包含以下功能:

Magic-PDF 是一款将 PDF 转化为 markdown 格式的工具。支持转换本地文档或者位于支持S3协议对象存储上的文件。

解析系效果总结

我觉得不妨先看看解析的效果,不着急折腾环境,先看看我列出来的缺点是否能接受。或者看看优点是不是自己想要的。再去安装它。

缺点

问题1: 解析速度慢

这里使用的CPU跑的,6页大概两三分钟。解析走的纯模型,先版面分析,再ocr,再公式检测。

模型初始化耗时167s,之后每页大概是16s

问题2:表格解析成图片

把表格处理成了图片

原文件如下所示

解析结果如下所示

原文件如下

解析后的结果

问题3:标题识别不准确,且没有分层

原文件

解析后的结果

问题4:财报中的表格没有识别出来

优点

优点1:论文版面分析准确

表定位,图表定位准确。测了一篇论文,都正确。并且准确获取到了表格和图片的caption

支持多栏,解析顺序是正确的

优点2:混乱的杂志 + 多栏 + 图片

解析效果挺不错。一页多栏,顺序是对的。

优点3:多语言

测了中文和英文。都可以,github上的描述,支持176种语言

优点4:获取了表格和图片的caption

能够获取到caption并且单独存储了。

优点5:页眉页脚、脚注识别准确

转md的时候,都已经去掉了。

优点6:段落结构比较好

段落合并的好。得到的结果多数是自然段落

优点7:可以解析公式

优点8:多平台多环境支持

支持windows/linux/mac平台;支持cpu和gpu环境

安装MinerU

虚拟化环境

conda create -n MinerU python=3.10

conda activate MinerU

安装配置

pip install magic-pdf[full-cpu]

这一步最好有科学上网,不然可能拉不到。

pip install detectron2 --extra-index-url https://myhloli.github.io/wheels/

下载模型

模型,这里是模型没有下载,会报错如下

这里为了方便,使用git来从魔搭上拉取

git clone https://www.modelscope.cn/wanderkid/PDF-Extract-Kit.git

如果想要使用其它的方式拉取,参考

MinerU/docs/how_to_download_models_zh_cn.md at master · opendatalab/MinerU · GitHub

修改配置文件

在仓库根目录可以获得 MinerU/magic-pdf.template.json at master · opendatalab/MinerU · GitHub 文件

这里解释一下这个命令,实际上是把配置文件发在了c盘的user目录下。

cp magic-pdf.template.json ~/magic-pdf.json

修改配置文件的内容,如下图所示。 output-dir是解析后的文件结果存放的目录。 models-dir是下载的模型的地址。

如果还是不知道放在哪里,可以先启动一下,会报一个错误,找不到配置文件

magic-pdf pdf-command --pdf "page1.pdf" 注意这里替换成自己文件

根据报错,把上述的配置文件放过去就可以。

接下来测试解析效果

magic-pdf pdf-command --pdf "困难pdf节选西藏奇正2022.pdf" --inside_model true

正常解析

解析后得到的结果

包含了md结构,json结构,和版面分析的结果

md

layout

### MinerU 使用教程 #### 一、安装环境准备 为了确保软件包之间的兼容性和稳定性,建议创建独立的Python虚拟环境来运行MinerU。可以采用`venv`或`conda`两种方式之一完成此操作[^2]。 对于Conda用户而言,执行如下命令建立名为`MinerU`的新环境并激活它: ```bash conda create -n MinerU python=3.10 conda activate MinerU ``` #### 二、获取源码与安装依赖项 前往MinerU官方GitHub页面下载最新版本的源代码[^1]: - 访问地址:<https://github.com/opendatalab/MinerU> - 推荐通过Git克隆仓库到本地计算机上以便于后续更新维护工作。 接着,在项目根目录下利用pip工具依据requirements.txt文件自动解析所需库列表并实施批量安装过程: ```bash git clone https://github.com/opendatalab/MinerU.git cd MinerU/ pip install -r requirements.txt ``` #### 三、启动应用实例 成功部署完毕之后即可调用内置脚本快速体验核心特性。通常情况下,入口程序位于项目的顶层路径下的main.py文件内;因此只需简单输入python main.py就能触发默认配置的应用场景展示。 如果想要深入了解具体参数选项及其含义,则可以在终端里追加-h标志查看帮助文档说明: ```bash python main.py -h ``` 此外,针对特定任务需求定制化修改时,可参照README.md指南中的API接口描述部分编写自定义逻辑模块并与现有框架无缝对接。 #### 四、探索扩展功能 基于MinerU构建而成的pdfParser子项目进一步增强了原始版本的数据处理能力&mdash;&mdash;特别是新增了对PDF文档内部结构(如表格)的有效解析支持。这使得开发者能够更加灵活高效地应对多样化的业务挑战[^3]。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值