2025年3月27日 —— 2025年4月2日 山软智读SDSE_AIR工作周记
本周我开始学习 MinerU(Magic-PDF)这一将 PDF 文档转换为结构化 Markdown/JSON 的开源工具。在当前科研或工程类项目中,PDF 文档仍然是最主要的信息载体之一。尤其是在学术研究中,几乎所有期刊论文、会议论文、技术白皮书等都以 PDF 格式发布,这种格式虽方便阅读,但对机器并不友好,结构信息不明确、不易提取,严重影响后续数据分析和再利用的效率。而许多 NLP 或知识图谱项目中,需要将海量论文“结构化”处理,抽取标题、章节、公式、图表甚至参考文献等。
传统的 PDF 解析方法,比如 PDFMiner、PyMuPDF 等,虽能提取文本,但结构识别能力弱,很难恢复文档原有的层级逻辑。而像 Grobid 或 Science Parse 虽然在特定领域(如参考文献提取)表现不错,但整体结构还原有限。因此,学习使用MinerU 能够填补这一空缺。它将多模态信息融合(视觉+文本+布局),结合大模型的上下文理解能力,达到了较好的结构还原效果。
据官方介绍,MinerU 能完整保留原文档的层级结构(包括标题、段落、列表等),并精准提取图片、表格、公式等元素(公式会被转换为 LaTeX 格式)。按照文档要求,在 Windows 系统下本地部署并运行 MinerU。
一,环境安装和配置
按照官方快速体验说明,在 Windows 上使用 conda 创建 Python 3.10 环境并安装 MinerU 的核心组件(Magic-PDF)github.com。具体步骤为:打开 Anaconda Prompt,新建并激活虚拟环境,执行
conda create -n mineru python=3.10
conda activate mineru
其中Anaconda Prompt在Download Anaconda Distribution | Anaconda进行下载
然后执行安装命令:
pip install -U "magic-pdf[full]"
这个命令会安装包含完整模型的版本。安装时需注意 PyPI 源配置:部分用户反馈默认镜像会安装到较旧的版本(例如 0.6.1),导致版本低于要求。遇到这种问题时,我参考了相关博客blog.csdn.net的建议,通过指定版本号或正确的源来安装最新版(如 pip install magic-pdf[full]==1.2.1
)。
完成 Magic-PDF 安装后,根据文档下载所需的模型权重文件。这一步通过官方提供的下载脚本完成,将模型存放在本地磁盘。下载完成后,工具会在用户目录(Windows 下如 C:\Users\用户名
)自动生成一个 magic-pdf.json
配置文件,其中包含默认的模型路径。这样就完成了准备工作。
二,PDF 转换
准备测试 PDF 文件
在项目根目录下创建 data/papers/
文件夹:
mkdir data\papers
环境安装完成后,可以选论文 PDF 作为测试输入。在命令行中使用 Magic-PDF 提供的接口执行转换。
magic-pdf pdf-command --pdf "论文.pdf" --inside_model true
也可以运行以下命令提取 Markdown:
python infer.py ^
--pdf_path data/papers/论文.pdf ^
--pdf_output_path outputs ^
--structure_type markdown
转换过程可能耗时较久,完成后工具会生成一个 Markdown 文档(及可选的 JSON 中间格式)。输出文件会被保存到 执行后,在输出目录中可以看到与输入 PDF 相对应的 .md
文件及资源文件夹。
在 Markdown 文档中,可以看到论文的结构信息被很好地保留。
以上为本周山软智读SDSE_AIR的全部工作内容
SDSE_AIR山软智读项目研发小组 BluebIueblue