LLMs之PDF:MinerU(将PDF文件转换成Markdown和JSON格式)的简介、安装和使用方法、案例应用之详细攻略

LLMs之PDF:MinerU(将PDF文件转换成Markdown和JSON格式)的简介、安装和使用方法、案例应用之详细攻略

目录

MinerU的简介

0、日志

1、MinerU 的主要特点

2、已知问题

MinerU 安装和使用方法

1、MinerU的三种体验方式

T1、在线演示

T2、快速CPU演示

T3、GPU 使用

2、命令行使用

3、Python API 使用

MinerU的案例应用

科学文献处理

数据预处理

知识图谱构建

文档摘要

其他文本挖掘任务


MinerU的简介

2024年7月5日,MinerU是一个高质量的开源工具,用于将PDF文件转换成Markdown和JSON格式。它提供了一站式解决方案,能够高精度地提取PDF文档中的各种信息。

MinerU 项目诞生于InternLM的预训练过程中,旨在解决科学文献中的符号转换问题,并为大模型时代的技术发展做出贡献。 它致力于提供高质量的PDF内容提取,目标是将PDF转换为机器可读的格式,例如Markdown和JSON,方便后续处理和应用。 与商业产品相比,MinerU 仍在发展中,如果遇到问题或结果不理想,建议在GitHub issue中提交问题并附上相关的PDF文件。

MinerU是一个功能强大且易于使用的PDF转换工具,它能够高效地将PDF转换为Markdown和JSON格式,并支持多种高级功能,例如公式识别、表格识别和OCR。 虽然还存在一些已知问题,但其不断更新迭代,并积极吸纳社区反馈,未来有望成为一个更加完善和强大的PDF处理工具。

GitHub地址:GitHub - opendatalab/MinerU: A high-quality tool for convert PDF to Markdown and JSON.一站式开源高质量数据提取工具,将PDF转换成Markdown和JSON格式。

0、日志

2024年11月22日发布0.10.0版本。引入了混合OCR文本提取功能,显著提高了在复杂文本分布场景(如密集公式、不规则跨度区域和图像表示的文本)中的解析性能。结合了文本模式中准确内容提取和更快速度的优势,以及在OCR模式中更精确的跨度/行区域识别。 
2024年11月15日发布0.9.3版本。集成了RapidTable进行表格识别,将单表格解析速度提高了10倍以上,同时准确性更高,GPU内存使用率更低。 
2024年11月6日发布0.9.2版本。集成了StructTable-InternVL2-1B模型以实现表格识别功能。 
2024年10月31日发布0.9.0版本。这是一个主要的新版本,进行了广泛的代码重构,解决了许多问题,提高了性能,降低了硬件要求,并增强了可用性: 重构了排序模块代码,使用layoutreader进行阅读顺序排序,确保在各种布局中保持高准确性。 重构了段落拼接模块,实现了跨列、跨页、跨图形和跨表格场景的良好效果。 重构了列表和目录识别功能,显著提高了列表块和目录块的准确性,以及相应文本段落的解析。 重构了图形、表格和描述文本的匹配逻辑,大大提高了将标题和脚注与图形和表格匹配的准确性,并将描述文本的丢失率降低到接近零。 为OCR添加了多语言支持,支持检测和识别84种语言。支持的语言列表请参见OCR语言支持列表。 添加了内存回收逻辑和其他内存优化措施,显著降低了内存使用。启用所有加速功能(不包括表格加速(布局/公式/OCR))的内存需求从16GB降低到8GB,启用所有加速功能的内存需求从24GB降低到10GB。 优化了配置文件功能开关,添加了独立的公式检测开关,在不需要公式检测时可以显著提高速度和解析结果。 集成了PDF-Extract-Kit 1.0: 添加了自研的doclayout_yolo模型,与原始解决方案相比,处理速度提高了10倍以上,同时保持了类似的解析效果,并且可以通过配置文件与layoutlmv3自由切换。 将公式解析升级到unimernet 0.2.1,提高了公式解析的准确性,同时显著降低了内存使用。 由于PDF-Extract-Kit 1.0的仓库变更,您需要重新下载模型。请参阅如何下载模型以获取详细步骤。 
2024年9月27日发布0.8.1版本,修复了一些错误,并提供了在线演示和前端界面的本地化部署版本。 
2024年9月9日:发布0.8.0版本,支持使用Dockerfile快速部署,并在Huggingface和Modelscope上推出演示。
2024年8月30日:发布0.7.1版本,添加了paddle tablemaster表格识别选项 
2024年8月9日:发布0.7.0b1版本,简化了安装过程,添加了表格识别功能 
2024年8月1日:发布0.6.2b1版本,优化了依赖冲突问题和安装文档
2024年7月5日:首次开源发布

1、MinerU 的主要特点

去除页眉、页脚、脚注、页码等干扰信息;以人类可读的顺序输出文本,适应单列、多列和复杂布局;保留原始文档结构,包括标题、段落、列表等;提取图像、图像描述、表格、表格标题和脚注;自动识别并转换公式为LaTeX格式;自动识别并转换表格为HTML格式;自动检测扫描版PDF和乱码PDF并启用OCR功能;OCR支持84种语言的检测和识别;支持多种输出格式,例如多模态和NLP Markdown、按阅读顺序排序的JSON以及丰富的中间格式;支持多种可视化结果,包括布局可视化和跨度可视化,方便确认输出质量;支持CPU和GPU环境;兼容Windows、Linux和Mac平台。

>> 高质量PDF提取工具:MinerU 是一款高质量的工具,能够将PDF文件转换成机器可读的格式,例如Markdown和JSON。这使得数据提取和进一步处理变得非常容易。

>> 多格式输出:支持多种输出格式,包括多模态和NLP Markdown、按阅读顺序排序的JSON以及丰富的中间格式。

>> 结构化保留:能够保留原始文档的结构,包括标题、段落、列表等,保证语义连贯性。

>> 全面信息提取:不仅提取文本,还能够提取图像、图像描述、表格、表格标题和脚注等信息。

>> 公式和表格转换:自动识别并转换文档中的公式为LaTeX格式,表格为HTML格式。

>> OCR支持:自动检测扫描版PDF和乱码PDF,并启用OCR功能,支持84种语言的检测和识别。

>> 布局处理能力强:能够处理单列、多列和复杂布局的文档,并按人类可读的顺序输出文本。 针对复杂的文本分布场景(如密集公式、不规则跨度区域和图像表示的文本)的解析性能也有显著提升。

>> 多种优化:进行了大量的代码重构,解决了诸多问题,提升了性能,降低了硬件要求,并增强了易用性。 包括内存优化,支持多种模型选择,并针对公式检测、表格识别等功能提供了独立开关,方便用户根据需求调整。

>> 多种运行环境支持:支持CPU和GPU环境,兼容Windows、Linux和Mac平台。

>> 开源且持续更新:项目开源,并持续更新和维护,不断改进性能和功能。

2、已知问题

>> 复杂的布局可能会导致阅读顺序错误。

>> 不支持垂直文本。

>> 对一些不常见的列表格式识别可能存在问题。

>> 只支持一级标题。

>> 代码块目前不支持。

>> 漫画书、艺术画册、小学课本和练习题等类型的PDF解析效果可能较差。

>> 复杂的表格识别可能出现行/列识别错误。

>> 对于一些小众语言的PDF,OCR识别可能存在误差。

>> 部分公式在Markdown中可能无法正确渲染。

MinerU 安装和使用方法

1、MinerU的三种体验方式

在线演示(无需安装)、快速CPU演示(Windows、Linux、Mac)和GPU加速(需要CUDA环境)。

T1、在线演示

提供了稳定版和测试版两个版本,无需任何安装,可以直接在网页上进行测试。

T2、快速CPU演示

安装 magic-pdf:使用conda创建名为MinerU的Python 3.10虚拟环境,激活环境后,使用pip安装 magic-pdf[full] 包,并指定额外的索引URL(--extra-index-url https://wheels.myhloli.com)。

下载模型权重文件:参考项目文档中的“如何下载模型文件”部分进行下载。

修改配置文件:脚本会自动生成 magic-pdf.json 文件,用户可以修改该文件中的配置来启用或禁用某些功能,例如表格识别。 配置文件中包含对 layoutlmv3 和 doclayout_yolo 模型、公式识别和表格识别的配置选项,用户可以根据需要进行调整。

T3、GPU 使用

如果设备支持CUDA并满足GPU要求,可以使用GPU加速。 项目提供了Ubuntu 22.04 LTS + GPU和Windows 10/11 + GPU的详细指南。 也提供了使用Docker进行快速部署的方法,但需要至少8GB VRAM的GPU,所有加速功能默认启用。

2、命令行使用

MinerU可以通过命令行进行使用,具体使用方法请参考项目文档中的“命令行”部分。

3、Python API 使用

MinerU 也提供了Python API,方便用户在自己的程序中集成使用,具体使用方法请参考项目文档中的“API”部分。

MinerU的案例应用

MinerU 主要应用于需要从PDF文档中提取结构化数据的场景,例如:

科学文献处理

MinerU最初是为了解决科学文献中的符号转换问题而开发的,可以用于提取文献中的公式、表格、文本等信息,方便后续的分析和处理。

数据预处理

MinerU可以作为数据预处理工具,将PDF文档转换为结构化的数据,用于训练大型语言模型或其他机器学习模型。

知识图谱构建

MinerU可以用于提取PDF文档中的实体关系信息,用于构建知识图谱。

文档摘要

MinerU可以提取PDF文档中的关键信息,用于生成文档摘要。

其他文本挖掘任务

MinerU可以用于各种文本挖掘任务,例如文本分类、情感分析等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AIGC】ChatGPT 结构化 Prompt 的高级应用

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;标识符的使用&#xff08;Use of Identifiers&#xff09;1. #2. <>3. - 或 4. [] &#x1f4af;属性词的重要性和应用应用场景 &#x1f4af;具体模块…

Python绘制图表

Python提供了多种可视化库&#xff0c;常用的有matplotlib、seaborn和plotly等。这些库可以用于绘制各种类型的图表&#xff0c;如折线图、散点图、柱状图、饼图等。 下面是一个使用matplotlib绘制折线图的示例&#xff1a; python import matplotlib.pyplot as plt # 准备数…

Python 练习

一、列表练习 1、求偶数元素的和[1,2,1,2,3,3,6,5,8] 1 2 3 4 5 6 list01 [1, 2, 1, 2, 3, 3, 6, 5, 8] sum 0 for i in list01: if int(i) % 2 0: sum sum i print(f"列表中所有偶数和是: {sum}") 2、计算 1 - 2 3 - 4 ... 99 中除88以外…

OpenEuler 22.03 安装 flink-1.17.2 集群

零&#xff1a;规划 本次计划安装三台OpenEuler 22.03 版本操作系统的服务器&#xff0c;用于搭建 flink 集群。这里使用flink1.17.2 的原因&#xff0c;是便于后续与springboot的整合 服务器名IP地址作用其他应用flink01192.168.159.133主jdk11、flink-1.17.2flink02192.168.…

Docker 安装 禅道-21.2版本-外部数据库模式

Docker 安装系列 1、拉取最新版本&#xff08;zentao 21.2&#xff09; [rootTseng ~]# docker pull hub.zentao.net/app/zentao Using default tag: latest latest: Pulling from app/zentao 55ab1b300d4b: Pull complete 6b5749e5ef1d: Pull complete bdccb03403c1: Pul…

宽带ANC、窄带ANC、正弦噪声抑制组成混合噪声控制系统结构

混合控制结构由宽带ANC子系统&#xff08;BANC&#xff09;、窄带ANC子系统&#xff08;NANC&#xff09;和正弦噪声抑制子系统&#xff08;SNC&#xff09;三部分组成。这种混合系统的设计目标是有效地控制同时包含宽带噪声和窄带噪声&#xff08;例如周期性的正弦噪声&#x…

车载网关性能 --- GW ECU报文(message)处理机制的技术解析

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题

目录 为什么要结合项目与算法&#xff1f; 1. 蓝桥杯与《苍穹外卖》项目的结合 实例&#xff1a;基于蓝桥杯算法思想的订单配送路径规划 问题描述&#xff1a; 代码实现&#xff1a;使用动态规划解决旅行商问题 代码解析&#xff1a; 为什么这个题目与蓝桥杯相关&#x…

自己搭建专属AI:Llama大模型私有化部署

前言 AI新时代&#xff0c;提高了生产力且能帮助用户快速解答问题&#xff0c;现在用的比较多的是Openai、Claude&#xff0c;为了保证个人隐私数据&#xff0c;所以尝试本地&#xff08;Mac M3&#xff09;搭建Llama模型进行沟通。 Gpt4all 安装比较简单&#xff0c;根据 G…

大语言模型中的Agent优势及相关技术;Agent和RAG区别

大语言模型中的Agent优势及相关技术: 强大的任务规划与执行能力 技术:通过将复杂任务拆解为多个子任务,并依据任务间的逻辑关系和优先级进行规划,确定执行顺序,调用相应工具或模型来完成各子任务,最终实现复杂任务的整体解决。如微软的Jarvis,可利用LLM的推理规划能力拆…

深入理解构造函数:C++ 编程中的基石

一、概念 构造函数(Constructor) 是一种特殊的成员函数&#xff0c;用于在创建对象时初始化对象的状态&#xff08;即成员变量&#xff09;。它的主要作用是保证对象在创建时具有有效的初始值。 二、特点 与类同名&#xff1a; 构造函数的名称与类名相同&#xff0c;没有返回…

GIS数据处理/程序/指导,街景百度热力图POI路网建筑物AOI等

简介其他数据处理/程序/指导&#xff01;&#xff01;&#xff01;&#xff08;1&#xff09;街景数据获取&#xff08;2&#xff09;街景语义分割后像素提取&#xff0c;指标计算代码&#xff08;绿视率&#xff0c;天空开阔度、视觉熵/景观多样性等&#xff09;&#xff08;3…

微前端qiankun的使用——实践

qiankun 创建主应用项目——vue2 main.js注册子应用 $ yarn add qiankun # 或者 npm i qiankun -Simport { registerMicroApps, start } from qiankun; import Vue from "vue"; import App from "./App.vue"; import router from "./router"; …

后端项目java中字符串、集合、日期时间常用方法

我这里只介绍了项目中最常用的哈,比如像集合有很多,但我们最常用的就是ArrayList。 然后我这里会以javascript中的字符串、数组的方法为基准来实现,有些方法js和java会有些区别也会介绍 字符串 每次修改 String 对象都会创建一个新的对象,而 StringBuffer 可以在同一个对象…

Ubuntu 22.04永久保存路由

在 Ubuntu 22.04 上&#xff0c;可以按照以下方式配置让流量访问 172.19.201.207 走指定的路由。 1. 临时添加路由 临时路由规则只在当前系统会话中有效&#xff0c;重启后会丢失。 添加路由规则 运行以下命令&#xff1a; sudo ip route add 172.19.201.207 via 192.168.2…

实用 Linux 之命令(Practical Linux Commands)

实用 Linux之 命令&#xff0c;可以解决日常99%的问题~ 1、基本命令 uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作…

SAP SD客户主数据及其配置

一、客户主数据概述 在SD模块概览中对于SD模块及其有关的三大主数据进行了概要介绍&#xff0c;本篇文章将重点对于客户主数据进行有关介绍。 1、业务伙伴主数据 在提到客户主数据之前&#xff0c;我们先了解业务伙伴主数据的概念。 业务伙伴主数据是一个更广泛的概念&#x…

GitCode 光引计划征文展示|MilvusPlus:开启向量数据库新篇章

在人工智能和大数据时代&#xff0c;向量数据库作为处理非结构化数据的核心技术&#xff0c;正变得越来越重要。MilvusPlus&#xff0c;作为「光引计划」的一部分&#xff0c;应运而生&#xff0c;旨在提供一个高性能、易扩展、全功能的向量数据库解决方案。项目背景根植于对现…

网络架构与IP技术:4K/IP演播室制作的关键支撑

随着科技的不断发展&#xff0c;广播电视行业也在不断迭代更新&#xff0c;其中4K/IP演播室技术的应用成了一个引人注目的焦点。4K超高清技术和IP网络技术的结合&#xff0c;不仅提升了节目制作的画质和效果&#xff0c;还为节目制作带来了更高的效率和灵活性。那么4K超高清技术…

30多种独特艺术抽象液态酸性金属镀铬封面背景视觉纹理MOV视频素材

使用 Prismatic Flows 转换您的项目&#xff01;这个包拥有 30 多种独特的液体背景和动画&#xff0c;为任何创意活动提供令人惊叹的视觉效果。 棱镜流 – 动画背景和迭加包括30多种不同的液体背景和动画。这些高质量的资源非常适合通过充满活力和动态的视觉效果来增强您的项目…