模型训练数据-MinerU一款Pdf转Markdown软件

news2025/1/4 20:21:04

模型训练数据-MinerU一款Pdf转Markdown软件-说明

简介:

MinerU是什么

MinerU是上海人工智能实验室OpenDataLab团队推出的开源智能数据提取工具,专注于复杂PDF文档的高效解析与提取。MinerU能将包含图片、公式、表格等元素的多模态PDF文档转化为易于分析的Markdown格式,支持从网页和电子书中提取内容,提高AI语料准备效率。MinerU具备高精度的PDF模型解析工具链,支持多种输入模型,自动识别乱码,保留文档结构,转换公式为LaTex,适用于学术、财务、法律等多个领域,支持CPU和GPU,兼容Windows/Linux/Mac平台,性能卓越。

https://opendatalab.com/OpenSourceTools/Extractor/PDF

MinerU的主要功能

  • PDF到Markdown转换:将包含多种内容类型的PDF文档转换为结构化的Markdown格式,便于进一步的编辑和分析。
  • 多模态内容处理:能识别和处理PDF中的图像、公式、表格和文本等多种内容。
  • 结构和格式保留:在转换过程中,保留原始文档的结构和格式,如标题、段落和列表。
  • 公式识别与转换:特别针对数学公式,能识别并转换成LaTeX格式,方便学术交流和技术文档使用。
  • 干扰元素去除:自动删除页眉、页脚、脚注和页码等非内容元素,净化文档信息。
  • 乱码识别与处理:自动识别并纠正PDF文档中的乱码,提高信息提取的准确性。
  • 高质量解析工具链:集成了先进的PDF解析工具,包括布局检测、公式检测和光学字符识别(OCR),确保提取结果的高准确度。

MinerU的技术原理

  • PDF文档分类预处理:在处理PDF文档之前,MinerU首先对文档进行分类,识别其类型(如文本型、图层型或扫描版PDF),并进行相应的预处理,例如检测乱码和识别是否为扫描文档。
  • 模型解析与内容提取
    • 布局检测:使用基于深度学习的模型,如LayoutLMv3,进行区域检测,识别文档中的图像、表格、标题和文本等不同区域。
    • 公式检测:利用基于YOLOv8的自研模型来识别文档中的数学公式,区分行内公式和行间公式。
    • 公式识别:通过自研的UniMERNet模型来识别和解析数学公式,将它们转换成LaTeX格式。
    • 光学字符识别(OCR):使用PaddleOCR等OCR技术来识别文档中的文本内容。
  • 管线处理:将模型解析得到的数据输入到处理管线中,进行后处理,包括:
    • 确定块级别的顺序。
    • 删除无用元素。
    • 根据版面进行内容排序和拼装,以保证正文的流畅性。
    • 进行坐标修复、高iou处理、图片和表格描述合并、公式替换、图标转储、Layout排序等操作。
  • 多种格式输出:处理后的文档信息可以转换为统一的中间态格式(middle-json),并根据需求输出为不同的格式,如Layout、Span、Markdown或Content list等。
  • PDF提取结果质检:使用人工标注的PDF自测评测集对整个流程进行检测,确保提取效果的优化。使用可视化质检工具进行人工质检与标注,反馈给模型训练,进一步提升模型能力。

  • 项目官网:https://opendatalab.com/OpenSourceTools/Extractor/PDF
    • GitHub仓库:https://github.com/opendatalab/MinerU
  • GitHub仓库:https://github.com/opendatalab/PDF-Extract-Kit
  • HuggingFace模型库:https://huggingface.co/wanderkid/PDF-Extract-Kit
  • 魔搭社区模型库:https://www.modelscope.cn/models/wanderkid/PDF-Extract-Kit

MinerU的应用场景

  • 学术研究:研究人员可从学术论文和期刊中提取关键信息,包括文本、公式和图表,支持文献综述和数据分析。
  • 法律文档处理:法律专业人士可用MinerU从合同、法律意见书和其他法律文件中提取条款和证据,提高工作效率。
  • 技术文档管理:工程师和技术作者可从技术手册和产品文档中提取技术规格和操作步骤,便于知识管理和技术传播。
  • 知识管理和信息检索:企业和组织可以用MinerU从内部文档库中提取信息,构建知识库,提高信息检索的效率。
  • 数据挖掘和自然语言处理(NLP):数据科学家和NLP研究人员可用MinerU提取的数据来训练和优化机器学习模型。

部署使用:

官方说明地址:

体验使用cpu跑 正式使用可以用GPU来跑

https://github.com/opendatalab/MinerU/blob/master/README_zh-CN.md

使用CPU快速体验

conda create -n MinerU python=3.10
conda activate MinerU
pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple

从 ModelScope 下载模型(国内直接模搭上下吧)

使用python脚本 从ModelScope下载模型文件

pip install modelscope
wget https://gitee.com/myhloli/MinerU/raw/master/scripts/download_models.py -O download_models.py
python download_models.py

python脚本会自动下载模型文件并配置好配置文件中的模型目录

配置文件可以在用户目录中找到,文件名为magic-pdf.json

windows的用户目录为 “C:\Users\用户名”, linux用户目录为 “/home/用户名”, macOS用户目录为 “/Users/用户名”

命令行执行:

https://mineru.readthedocs.io/zh-cn/latest/user_guide/quick_start/command_line.html

示例:

magic-pdf -p 44_宏光MINI_EV_instruction.pdf -o output -m auto

使用过程中的一些异常:

1.个别文档会遇到这总叠词,需要自己手动处理一下

2.pdf的水印问题导致文档解析失败

一些水印情况会导致失败,只能是处理完水印再重新处理文档

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

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

相关文章

Spring07——AOP通知以及几个相关案例

切入点表达式 注意,不是参数,是参数类型 可以使用通配符描述切入点,快速描述 ■ *:单个独立的任意符号,可以独立出现,也可以作为前缀或者后缀的通配符出现 execution(public∗com.itheima.∗.UserServi…

【ETCD】【源码阅读】configurePeerListeners() 函数解析

configurePeerListeners 是 ETCD 的一个核心函数,用于为集群中节点之间的通信配置监听器(Peer Listener)。这些监听器主要负责 Raft 协议的消息传递、日志复制等功能。函数返回一个包含所有监听器的列表。 函数签名 func configurePeerList…

Kafka怎么发送JAVA对象并在消费者端解析出JAVA对象--示例

1、在pom.xml中加入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-stream-kafka</artifactId><version>3.1.6</version></dependency> 2、配置application.yml 加入Kafk…

为了安全,自己搭建KMS,成功激活Office2010

在本篇文章中&#xff0c;将全过程描述Office Professional Plus 2010 With SP1 VOL从下载到自建KMS服务器再到激活的过程。本文展示的是64位版本&#xff0c;32位版本的方法类似。 特别注意&#xff1a;KMS激活仅限于VOL 版本&#xff0c;其他的零售版无法激活&#xff01;&am…

Unity 基于Collider 组件在3D 物体表面放置3D 物体

实现 从鼠标点击的屏幕位置发送射线&#xff0c;以射线监测点击到的物体&#xff0c;根据点击物体的法线向量调整放置物体的位置及朝向。 Ray ray Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out RaycastHit hit, 100)) {obj.transform.…

【RDMA】RDMA read和write编程实例(verbs API)

WRITE|READ编程&#xff08;RDMA read and write with IB verbs&#xff09; &#xff08;本文讲解的示例代码在&#xff1a;RDMA read and write with IB verbs | The Geek in the Corner&#xff09; 将 RDMA 与verbs一起使用非常简单&#xff1a;首先注册内存块&#xff0c…

HTML5教程-表格宽度设置,最大宽度,自动宽度

HTML表格宽度 参考&#xff1a;html table width HTML表格是网页设计中常用的元素之一&#xff0c;可以用来展示数据、创建布局等。表格的宽度是一个重要的参数&#xff0c;可以通过不同的方式来设置表格的宽度&#xff0c;本文将详细介绍HTML表格宽度的不同设置方式和示例代…

2024年12月9日Github流行趋势

项目名称&#xff1a;ollama / ollama 项目维护者&#xff1a;mxyng, jmorganca, dhiltgen, BruceMacD, technovangelist等项目介绍&#xff1a;快速上手使用Llama 3.2、Mistral、Gemma 2及其他大型语言模型。项目star数&#xff1a;101,591项目fork数&#xff1a;8,117 项目名…

IntelliJ+SpringBoot项目实战(29)--如何将Beetl的模板文件放在独立的文件目录

在实际的项目开发中&#xff0c;为了方便前端人员调试页面&#xff0c;所以有必要将Beetl的模板文件放在独立的目录下&#xff0c;方便前端人员维护&#xff0c;而不是打包到项目的jar包中&#xff0c;如果打包到项目的jar包中还有另外的问题&#xff0c;就是一改动页面就要重新…

在Ubuntu上使用IntelliJ IDEA:开启你的Java开发之旅!

你好&#xff0c;年轻的学徒&#xff01;&#x1f9d1;‍&#x1f4bb; 是时候踏上进入Java开发世界的史诗之旅了&#xff0c;我们的得力助手将是强大的IntelliJ IDEA。准备好了吗&#xff1f;出发吧&#xff01; 在我们开始之前&#xff0c;我们需要下载这个工具。但是&#…

GWAS分析先做后学

大家好&#xff0c;我是邓飞。 GWAS分析是生物信息和统计学的交叉学科&#xff0c;上可以学习编程&#xff0c;下可以学习统计。对于Linux系统&#xff0c;R语言&#xff0c;作图&#xff0c;统计学&#xff0c;机器学习等方向&#xff0c;都是一个极好的入门项目。生物信息如…

LeetCode—189. 轮转数组(中等)

题目描述&#xff1a; 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例1&#xff1a; 输入: nums [1,2,3,4,5,6,7], k 3输出:[5,6,7,1,2,3,4] 解释: 向右轮转 1 步:[7,1,2,3,4,5,6] 向右轮转 2 步:[6,7,1,2,3,4,5] 向…

ModelScope-Agent(1): 基于开源大语言模型的可定制Agent系统

目录 简介快速入门 简介 github地址 快速入门 看前两篇&#xff0c;调用千问API和天气API # 选用RolePlay 配置agent from modelscope_agent.agents.role_play import RolePlay # NOQArole_template 你扮演一个天气预报助手&#xff0c;你需要查询相应地区的天气&#x…

go语言的成神之路-标准库篇-fmt标准库

目录 一、三种类型的输出 print&#xff1a; println&#xff1a; printf&#xff1a; 总结&#xff1a; 代码展示&#xff1a; 二、格式化占位符 %s&#xff1a;用于格式化字符串。 %d&#xff1a;用于格式化整数。 %f&#xff1a;用于格式化浮点数。 %v&#xff1…

pyenv 安装脚本解读

pyenv 安装脚本 curl https://pyenv.run | bash执行上面这一行脚本就可以安装pyenv来满足你对 Python 多版本共存以及切换的支持。 pyenv搭配virtualenv可以满足你对Python虚拟环境版本的支持。个人感觉pyenv比conda更轻量&#xff0c;更推荐使用。 那么上面的脚本到底干了什…

OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用

OpenAI 12Days 第二天 强化微调&#xff08;RFT&#xff09;&#xff1a;推动语言模型在科学研究中的应用 文章目录 OpenAI 12Days 第二天 强化微调&#xff08;RFT&#xff09;&#xff1a;推动语言模型在科学研究中的应用RFT的工作原理与应用领域案例研究&#xff1a;基因突变…

柯桥职场商务英语生活英语口语培训外贸纺织口语学习

"等一下"该怎么说&#xff1f; 大家应该都知道&#xff0c;wait a moment是一个祈使句&#xff0c;祈使句就难免带有命令的口吻&#xff0c;还有点不耐烦。 如果你把“等一下”说成wait a moment&#xff0c;外国人多半认为你是个傲慢无礼的人。毕竟在他们看来wait a…

嵌入式蓝桥杯学习7 产生PWM

Cubemx配置 打开cubemx&#xff0c;前面的配置看上文&#xff0c;这里主要配置定时器产生PWM波。 以PA1的TIM2-CH2通道为例进行演示。 1.在Timers中打开TIM2,将Channel2配置为PWM Generation CH2。 2.将Clock Source 选择为Internal Clock。 3.配置Paramater Settings中的参…

SQL Server中SELECT (Transact-SQL)语法定义和解释

语法定义&#xff1a; <SELECT statement> ::[ WITH { [ XMLNAMESPACES , ] [ <common_table_expression> [ , ...n ] ] } ]<query_expression>[ ORDER BY <order_by_expression> ][ <FOR Clause> ][ OPTION ( <query_hint> [ , ...n ] )…

证书监控续签工具

详细实现方式以及代码下载请前往https://www.passerma.com/article/91 一个基于 go 的 ssl 证书监控续签工具&#xff0c;用于监控阿里云免费 ssl 证书的有效期&#xff0c;并在证书即将过期时自动续签证书 仅支持续签阿里云的免费证书 页面 使用方法 1.申请阿里云账号 2.…