|
在AI技术快速发展的今天,大量非结构化数据的处理成为亟待解决的问题。尤其是PDF文档,作为最常见的文件格式之一,如何高效准确地提取其中的信息,成为了许多企业和研究机构的痛点。上海人工智能实验室(上海AI实验室)大模型数据基座OpenDataLab团队开源了全新的智能数据提取工具——MinerU,旨在解决这一问题。 MinerU能够将混合了图片、公式、表格、脚注等复杂元素的PDF文档转化为Markdown和JSON格式,大幅提升了AI语料的准备效率。凭借快速准确、开源易用的能力特性,MinerU受到广大用户及大模型开发者青睐,上线八个月,GitHub星标数已接近3万,被开发者誉为"大模型时代的文档提取、转换神器"。 ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;font-size: 15px;visibility: visible;"> ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">多类型转换能力ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">MinerU支持多种类型的PDF文档提取,包括文本型PDF、图层型PDF、扫描版PDF。初始阶段,输入PDF文档,系统会启用文档分类模块,提取PDF元数据,检测是否有乱码等。MinerU还能将其他类型的文档(如图片、PPT和Word文档)转换为PDF后再进行提取。ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">多语言识别ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">MinerU支持跨语言识别,全球通用。目前支持中文(简体和繁体)、英文、俄语、日语、韩语等多国语言。这使得MinerU在全球范围内都有广泛的应用潜力。ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">多元素解析ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">MinerU能够精确解析多种元素,全面提取信息,包括:ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">删除版面元素ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">MinerU能够精准识别版面元素,删除页眉/页脚/脚注,只保留正文内容,确保提取的文本语义连贯,没有干扰信息。ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">多格式输出MinerU支持多种输出格式,包括: 用户友好界面MinerU推出了支持Win/Mac/Linux等主流操作系统的全新客户端。无需编程,无需登录,下载即用。用户通过简单交互,即可在图形界面对文档进行智能提取。从 MinerU 官网下载客户端安装后,只需将文件简单拖放,或者输入待转换文件的url并点击确认,就能完成文档的快速自动解析和导出。 API服务MinerU在线API服务也对齐了MinerU开源项目最新release的1.0版本,提供了url&本地文件的批量解析、解析结果查询和下载、模型相关参数配置等能力。填写问卷申请通过后即可免费试用。得益于算力调度策略的持续优化和文档批量处理能力的增强,MinerU在处理多并发的大量文档时更加高效,无论是批量处理还是单个大体积文件,都能快速响应,为用户提供更为流畅、可靠的使用体验。
MinerU的技术架构整合了最先进的文档解析模型,涵盖了布局检测、公式检测、公式识别、OCR和表格识别等多个方面。以下是MinerU的核心技术组件: 布局检测(Layout Detection)MinerU使用微调过的DocLayout-YOLO和LayoutLMv3模型来定位文档中的不同元素,包括图像、表格、文本、标题和公式。这些模型经过多种PDF文档注释的微调,在论文、教科书、研究报告和财务报告等多样化PDF文档上实现了准确的提取结果,并在模糊和水印等挑战面前表现出高鲁棒性。 公式检测(Formula Detection)MinerU使用微调的YOLOv8模型来定位文档中的公式,包括行内公式和块公式。这种高级的公式检测能力确保了数学内容能够被准确识别和提取。 公式识别(Formula Recognition)MinerU使用UniMERNet模型进行公式识别,这是一种为现实世界场景中的各种公式识别而设计的算法。通过构建大规模的训练数据和精心设计的结果,它对复杂的长公式、手写公式和嘈杂的截图公式实现了出色的识别性能。 OCR能力MinerU使用PaddleOCR进行文字识别。PaddleOCR是一个基于PaddlePaddle(百度开发的开源深度学习平台)的端到端光学字符识别(OCR)引擎,具有以下特点: - 提供了从文本检测、文本识别到文本识别结果后处理的完整OCR流程
- 优化了模型结构和推理速度,使得它在保持较高识别精度的同时,还能在各种硬件上快速运行
- 支持多种语言的文字识别,包括中文、英文、法文、德文、日文和韩文等
- 集成了多种先进的文本检测和识别模型,如DB用于文本检测,CRNN和STAR-Net用于文本识别
- 提供了一系列预训练模型,用户可以直接使用这些模型进行文本识别
- 提供了详细的文档和示例代码,使得用户可以轻松上手,快速集成OCR功能到自己的应用中
表格识别(Table Recognition)MinerU提供了两种表格识别方式: - StructEqTable:这是一个高效的工具包,可以将表格图像转换为LaTeX/HTML/MarkDown。最新版本采用InternVL2-1B基础模型,提高了中文识别精度,并扩展了多格式输出选项。
- PaddleOCR+TableMaster:PaddleOCR首先在文档图像中检测文本行的位置,TableMaster专注于表格结构的识别,在文档图像中检测表格的存在并定位表格的边界。
在表格识别过程中,PaddleOCR提供精确的文本识别,而TableMaster负责识别和重建表格的结构。结合这两者,系统能够从图像中提取出完整的表格信息,包括表格的结构和内容。
MinerU提供了多种使用方式,以满足不同用户的需求: 图形界面客户端MinerU推出了支持Win/Mac/Linux等主流操作系统的全新客户端。无需编程,无需登录,下载即用。用户通过简单交互,即可在图形界面对文档进行智能提取。 使用方法: - 将待处理的文件简单拖放,或者输入待转换文件的url并点击确认
- 客户端采用的是MinerU开源项目最新release的1.0版本,支持pdf、doc、docx、ppt、pptx等多种类型文档的内容提取
- 客户端提供多种识别模式、模型、语言等配置开关,供用户自由选择
- 可以导出Markdown文件,也可以导出content_list.json、layout.json等关键的中间态文件
在线API接口MinerU在线API服务对齐了MinerU开源项目最新release的1.0版本,提供了以下功能: 用户需要填写问卷申请,通过后即可免费试用。得益于算力调度策略的持续优化和文档批量处理能力的增强,MinerU在处理多并发的大量文档时更加高效,无论是批量处理还是单个大体积文件,都能快速响应。 本地安装运行在本地环境中安装运行MinerU需要以下步骤: 基础环境说明
- 本地基础环境:Windows10、PyCharm、Python 3.10
构建本地运行虚拟环境 - 在PyCharm中直接构建Python运行的虚拟环境(Python Virtualenv Environment)
安装MinerU项目运行依赖 - 安装命令:
pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple - 或者更快的命令:
pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com -i https://pypi.tuna.tsinghua.edu.cn/simple
下载模型文件 download_models_hf.pydownload_models.py
- 模型下载下来会包括两个路径:
models和layoutreader[14]
容器安装运行在Linux环境中,MinerU也可以通过容器方式安装和运行: CPU容器环境
- 构建镜像:
docker build -t magic-pdf-cpu-test . - 运行容器:
docker run -d magic-pdf-cpu-test - 进入容器中,运行magic-pdf相关的命令,就可以使用CPU执行PDF提取
GPU容器环境 - 构建命令:
docker build -t magic-pdf-gpu-test . - 运行容器:
docker run --rm --device nvidia.com/gpu=all --security-opt=label=disable -it magic-pdf-gpu-test
MinerU 优势: 支持多种输入模型,具备高精度的PDF模型解析能力。 自动识别并去除页眉、页脚、脚注和页码等非内容元素,净化文档信息。 转换公式为LaTeX格式,适合学术交流和技术文档使用。 支持CPU和GPU加速,兼容Windows/Linux/Mac平台。 劣势: 对于GPU资源的要求较高,配置较为复杂。 表格处理速度较慢。
Marker Marker是一款轻量级的开源PDF转Markdown工具,它也具有一定的OCR识别能力,特别适用于基础文献处理任务。尽管它的处理速度快,但对于复杂文档的解析能力有限。 优势: 开源免费,处理速度快(比同类工具快4倍)。 适合技术背景用户快速部署使用。 劣势: 缺乏对复杂布局的解析能力。 依赖本地GPU资源。
Docling Docling采用模块化设计,支持多格式文档解析,并能与AI框架集成,适用于企业级合同和报告自动化。然而,部分功能依赖商业模型,需CUDA环境支持。 优势: 兼容IBM生态,支持多格式混合处理。 模块化设计便于集成。 劣势: 需要CUDA环境支持。 部分功能依赖商业模型。
Markitdown Markitdown由微软开源,支持多种格式的转换和AI增强处理,适用于多格式内容创作。但部分功能需依赖OpenAI API,可能造成部分格式转换丢失结构。 优势: 格式支持最全,开发者友好(Python API/CLI)。 劣势: 依赖外部API,部分功能需付费模型。
OmniParse OmniParse虽然在处理PDF文档尤其是公式时可能出现字符错误,但它提供了web终端便于操作,并且能够处理多种类型的文件。 优势: 支持多种类型文件的处理。 提供Web终端,便于简单操作。 劣势: 在处理PDF文档时可能会出现字符错误。
Llamaparse Llamaparse针对RAG设计,支持复杂PDF解析,并能生成知识图谱,适用于法律和技术文档分析。不过其处理速度较慢,并需要API密钥支持。 优势: 解析精度高,支持半结构化数据语义优化。 劣势: 处理速度慢。 免费额度有限,需API密钥。
综合来看,MinerU在多模态内容处理、公式识别转换等方面表现突出,尤其适合需要处理含有大量数学公式的学术文献或技术文档。同时,它支持GPU加速,使得在处理大规模文档时效率更高。相比之下,Marker更适合处理简单的PDF文档,而Docling则更倾向于企业级应用,特别是在需要与AI框架集成的情况下。每种工具都有其特定的应用场景和目标用户群,选择合适的工具取决于具体需求和个人偏好。例如,如果需要一个能够快速处理大量文档的解决方案,那么可能需要考虑Marker;而对于那些要求高精度解析和专业功能的项目,MinerU可能是更好的选择。
MinerU诞生于书生-浦语的预训练过程中,主要解决科技文献中的符号转化问题,主要应用于数据清洗场景:大模型预训练数据清洗、RAG应用非结构数据清洗。MinerU 项目列表:https://github.com/opendatalab/MinerU/blob/master/projects/README_zh-CN.md医疗AI助手:https://github.com/PancrePal-xiaoyibao/MinerU-xybMinerU × CAMEL-AI:一键PDF提取,助力多智能体跨文档协作与深度分析
MinerU提供了多种使用方式,以满足不同用户的需求: 图形界面客户端MinerU推出了支持Win/Mac/Linux等主流操作系统的全新客户端。无需编程,无需登录,下载即用。用户通过简单交互,即可在图形界面对文档进行智能提取。 MinerU是一款功能强大的智能数据提取工具,能够高效准确地处理复杂的PDF文档,提取其中的文本、公式、表格和图片等元素,并将其转换为结构化的Markdown或JSON格式。它的开源特性、多平台支持、多种使用方式以及出色的性能,使其成为大模型语料准备和文档数据自动化处理的理想选择。 MinerU的技术架构整合了先进的文档解析模型,涵盖了布局检测、公式检测、公式识别、OCR和表格识别等多个方面,确保了对各种复杂PDF文档的精准提取。无论是学术论文、图书教材、法律合同、医疗报告、年报文档还是工程图纸, MinerU都能提供高质量的提取结果。 尽管MinerU在处理某些特定类型的PDF文档时还存在一些问题,但其总体表现已经非常出色,特别是在RAG等应用场景中,MinerU展现出了巨大的潜力。对于需要处理大量PDF文档的企业和研究机构来说,MinerU无疑是一个值得考虑的工具。
|