國產開源PDF解析工具MinerU

在這里插入圖片描述

前言

PDF的數據解析是一件較困難的事情,幾乎所有商家都把PDF轉WORD功能做成付費產品。

PDF是基于PostScript子集渲染的,PostScript是一門圖靈完備的語言。而WORD需要的渲染,本質上是PDF能力的子集。大模型領域,我們的目標文件格式一般是markdown,markdown相較于WORD更加簡單,是WORD的子集。

子集向父集轉換是容易的,因為子集有的功能,父集都有。而父集向子集轉換是困難的,因為父集的眾多功能,子集并不具備。

通過元素映射的方式來實現PDF的解析,是不現實的。于是,上海人工智能實驗室的研發人員提出利用多種深度學習算法,來直接分析和識別PDF上的文字、圖片、公式、表格等,再反向合并成最終的markdown文件。

總的來說,PaddleOCR 負責文本的檢測與識別,而 TableMaster 負責表格的結構解析和內容整合,二者結合實現了對文檔圖像中表格的全面識別和理解。

MinerU涉及的模型

模型名稱模型功能模型詳情
LayoutLMv3布局檢測模型unilm/layoutlmv3 at master · microsoft/unilm (github.com)
UniMERNet公式識別模型opendatalab/UniMERNet: UniMERNet: A Universal Network for Real-World Mathematical Expression Recognition (github.com)
StructEqTable表格識別模型Alpha-Innovator/StructEqTable-Deploy: A High-efficiency Open-source Toolkit for Table-to-Latex Task (github.com)
YOLO公式檢測模型ultralytics/ultralytics: Ultralytics YOLO11 🚀 (github.com)
PaddleOCROCR模型PaddlePaddle/PaddleOCR: Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices) (github.com)
DocLayout-YOLO布局檢測模型opendatalab/DocLayout-YOLO: DocLayout-YOLO: Enhancing Document Layout Analysis through Diverse Synthetic Data and Global-to-Local Adaptive Perception (github.com)

將DeepSeek V2論文輸入到MinerU中,得到下列輸出內容:

  • 1.images目錄
    pdf中的圖片![[Pasted image 20250221095616.png]]

  • 2.DeepSeek-AI 等 - 2024 - DeepSeek-V2 A Strong, Economical, and Efficient M.md
    最終輸出的markdown文件![[Pasted image 20250221100942.png]]

  • 3.DeepSeek-AI 等 - 2024 - DeepSeek-V2 A Strong, Economical, and Efficient M_content_list.json
    未知

  • 4.DeepSeek-AI 等 - 2024 - DeepSeek-V2 A Strong, Economical, and Efficient M_layout.pdf
    版面分析結果![[Pasted image 20250221095951.png]]

  • 5.DeepSeek-AI 等 - 2024 - DeepSeek-V2 A Strong, Economical, and Efficient M_middle.json
    包含以下字段信息:

字段名解釋
pdf_infolist,每個元素都是一個dict,這個dict是每一頁pdf的解析結果,詳見下表
_parse_typeocr | txt,用來標識本次解析的中間態使用的模式
_version_namestring, 表示本次解析使用的 magic-pdf 的版本號
  • 6.DeepSeek-AI 等 - 2024 - DeepSeek-V2 A Strong, Economical, and Efficient M_model.json
    所有元素的檢測框坐標
[{"layout_dets": [{"category_id": 1,"poly": [193,793,1462,793,1462,1354,193,1354],"score": 0.983},{"category_id": 0,"poly": [319,314,1340,314,1340,424,319,424],"score": 0.968},{"category_id": 3,"poly": [207,1410,1444,1410,1444,1976,207,1976],"score": 0.966},
  • 7.DeepSeek-AI 等 - 2024 - DeepSeek-V2 A Strong, Economical, and Efficient M_origin.pdf
    原始pdf文件

  • 8.DeepSeek-AI 等 - 2024 - DeepSeek-V2 A Strong, Economical, and Efficient M_spans.pdf
    不同元素的檢測框可視化![[Pasted image 20250221095844.png]]

Miner功能

  • 刪除頁眉、頁腳、腳注、頁碼等元素,確保語義連貫
  • 輸出符合人類閱讀順序的文本,適用于單欄、多欄及復雜排版
  • 保留原文檔的結構,包括標題、段落、列表等
  • 提取圖像、圖片描述、表格、表格標題及腳注
  • 自動識別并轉換文檔中的公式為LaTeX格式
  • 自動識別并轉換文檔中的表格為HTML格式
  • 自動檢測掃描版PDF和亂碼PDF,并啟用OCR功能
  • OCR支持84種語言的檢測與識別
  • 支持多種輸出格式,如多模態與NLP的Markdown、按閱讀順序排序的JSON、含有豐富信息的中間格式等
  • 支持多種可視化結果,包括layout可視化、span可視化等,便于高效確認輸出效果與質檢
  • 支持純CPU環境運行,并支持 GPU(CUDA)/NPU(CANN)/MPS 加速
  • 兼容Windows、Linux和Mac平臺

Miner效果實測

最令人驚嘆的是公式識別,例如輸入pdf樣式如下:
![[Pasted image 20250221100703.png]]

輸出markdown樣式如下:
![[Pasted image 20250221100901.png]]
基本上沒什么問題,但是小狀況還是挺多的,例如將 R d h n h × d \mathbb{R}^{d_h n_h\times d} Rdh?nh?×d識別成了 R d h n h \ × d \mathbb{R}^{d_h n_h\backslash\ \times d} Rdh?nh?\?×d

但是,表格的識別比較差,例如,輸入pdf表格為:![[Pasted image 20250221101330.png]]
輸出markdown樣式為:
![[Pasted image 20250221101250.png]]
每一大類(English)中的所有行內容都混在一起了。

另外,對PDF中算法欄的識別也比較差
輸入PDF:
![[Pasted image 20250221101601.png]]
輸出markdown:
![[Pasted image 20250221101706.png]]
缺少了算法欄的邊框信息,以及一些符號也不太準確。

MinerU使用

MinerU支持如下三種部署方式:

  • 在線體驗
  • CPU體驗
  • GPU體驗

詳見MinerU/README_zh-CN.md at master · opendatalab/MinerU (github.com)

總結

MinerU盡管在表單、算法欄識別效果一般,但已經是開源項目中效果最好的一檔了。希望持續進步,繼續為開源PDF解析社區做出貢獻!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896130.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896130.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896130.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Powershell Install deepseek

前言 deepseekAI助手。它具有聊天機器人功能,可以與用戶進行自然語言交互,回答問題、提供建議和幫助解決問題。DeepSeek 的特點包括: 強大的語言理解能力:能夠理解和生成自然語言,與用戶進行流暢的對話。多領域知識&…

6. 【.NET 8 實戰--孢子記賬--從單體到微服務--轉向微服務】--微服務基礎工具與技術--Ocelot 網關--概念與簡單入門

網關是一種位于客戶端和后端服務之間的服務,充當所有客戶端請求的單一入口。它的主要職責是接收所有的API調用,匯總各類請求,將其路由到適當的后端服務,并將響應返回給客戶端。網關不僅僅是一個簡單的反向代理,它還能夠…

網頁制作06-html,css,javascript初認識のhtml如何建立超鏈接

超鏈接有外部鏈接、電子郵件鏈接、錨點鏈接、空鏈接、腳本鏈接 一、內部鏈接 與自身網站頁面有關的鏈接被稱為內部鏈接 1、創建內部鏈接 1&#xff09;語法&#xff1a; <a href"鏈接地址"> …… </a> 2&#xff09;舉例應用&#xff1a; 3&#xf…

MySQL后端返回給前端的時間變了(時區問題)

問題&#xff1a;MySQL里的時間例如為2025-01-10 21:19:30&#xff0c;但是返回到前端就變成了2025-01-10 13:19:30&#xff0c;會出現小時不一樣或日期變成隔日的問題 一般來說設計字段時會使用datetime字段類型&#xff0c;這是一種用于時間的字段類型&#xff0c;而這個類型…

【算法與數據結構】單調隊列

目錄 單調隊列 使用單調隊列維護滑動窗口 具體過程&#xff1a; 代碼實現&#xff1a; 復雜度分析&#xff1a; 使用單調隊列優化動態規劃 例題 單調隊列 單調隊列(deque)是一種特殊的隊列&#xff0c;隊列中的元素始終按嚴格遞增或者遞減排列。這樣就可以保證隊頭元素…

AutoGen 技術博客系列 九:從 v0.2 到 v0.4 的遷移指南

本系列博文在掘金同步發布, 更多優質文章&#xff0c;請關注本人掘金賬號&#xff1a; 人肉推土機的掘金賬號 AutoGen系列一&#xff1a;基礎介紹與入門教程 AutoGen系列二&#xff1a;深入自定義智能體 AutoGen系列三&#xff1a;內置智能體的應用與實戰 AutoGen系列四&am…

深度學習每周學習總結Y1(Yolov5 調用官方權重進行檢測 )

&#x1f368; 本文為&#x1f517;365天深度學習訓練營 中的學習記錄博客Y1中的內容 &#x1f356; 原作者&#xff1a;K同學啊 | 接輔導、項目定制 ** 注意該訓練營出現故意不退押金&#xff0c;惡意揣測偷懶用假的結果冒充真實打卡記錄&#xff0c;在提出能夠拿到視頻錄像…

為AI聊天工具添加一個知識系統 之117 詳細設計之58 思維導圖及觀察者效應 之2 概念全景圖

&#xff08;說明&#xff1a;本文和上一篇問題基本相同&#xff0c;但換了一個模型 deepseek-r1&#xff09; Q1227、在提出項目“為使用AI聊天工具的聊天者加掛一個專屬的知識系統”后&#xff0c;我們已經進行了了大量的討論-持續了近三個月了。這些討論整體淋漓盡致體現了…

2012年IMO幾何預選題第6題

設有非等腰的 △ A B C \triangle ABC △ABC, O O O 和 I I I 分別為外心和內心. 在邊 A C AC AC, A B AB AB 上分別存在兩點 E E E 和 F F F, 使得 C D C E A B CDCEAB CDCEAB, B F B D A C BFBDAC BFBDAC. 設 ( B D F ) (BDF) (BDF) 和 ( C D E ) (CDE) (CDE)…

為Eclipse IDE安裝插件IBM編程助手watsonx Code Assistant

從Eclipse IDE 安裝 從Eclipse IDE 安裝插件&#xff1a; _1、在Eclipse IDE 中&#xff0c;單擊幫助菜單&#xff0c;然后選擇EclipseMarketplace。 _2、根據您計劃進行的工作類型選擇安裝方式&#xff1a; 有關代碼建議、代碼解釋、代碼文檔和單元測試的集成生成式人工智能&a…

Linux基本指令(三)+ 權限

文章目錄 基本指令grep打包和壓縮zip/unzipLinux和windows壓縮包互傳tar&#xff08;重要&#xff09;Linux和Linux壓縮包互傳 bcuname -r常用的熱鍵關機外殼程序 知識點打包和壓縮 Linux中的權限用戶權限 基本指令 grep 1. grep可以過濾文本行 2. 把包含9的文本行過濾出來了 …

【部署優化篇十四】【十萬字全景拆解:GitHub Actions自動化流水線設計圣經(DeepSeek工業級實踐大公開)】

一、從手工作坊到智能工廠:CI/CD的革命之路 想象一下,你所在的公司每天要手工組裝1000臺手機,每個環節都靠老師傅肉眼檢查——這就是沒有CI/CD的軟件開發現狀。GitHub Actions的出現,就像給軟件交付裝上了特斯拉的超級工廠流水線。 DeepSeek的CI/CD演進史就是一部血淚史:…

“死”循環(查漏補缺)

以下代碼會死循環&#xff1a; #include<iostream> using namespace std; int n,res; int main(){cin>>n;for(int i1;i<n;i){int xi;while(i){int ti%10;i/10;if(t2||t0||t1||t9){resx;break;}}}cout<<res<<endl;return 0; } 你的代碼中存在一個邏…

力扣LeetCode: 2506 統計相似字符串對的數目

題目&#xff1a; 給你一個下標從 0 開始的字符串數組 words 。 如果兩個字符串由相同的字符組成&#xff0c;則認為這兩個字符串 相似 。 例如&#xff0c;"abca" 和 "cba" 相似&#xff0c;因為它們都由字符 a、b、c 組成。然而&#xff0c;"aba…

關于Java 反射的簡單易懂的介紹

目錄 #0.總覽 #1. 類的反射 ①介紹 ②獲取 ③作用 獲取構造函數&#xff1a; 創建實例&#xff1a; 字段操作&#xff1a; 方法操作&#xff1a; 獲取修飾符&#xff1a; #2.總結 #0.總覽 反射&#xff0c;官方是這樣介紹它的&#xff1a; Reflection is a …

【精調】LLaMA-Factory 快速開始1: Meta-Llama-3.1-8B-Instruct

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml llamafactory-cli chat examples/inference/llama3_lora_sft.yaml llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml模型下載 git clone https://www.modelscope.cn/LLM-Research/Meta-Lla…

【07】區塊鏈性能

7-1 基礎性能優化 7-1-1 區塊鏈性能瓶頸 總述 區塊鏈性能指標 區塊鏈的性能指標主要包括&#xff1a; 吞吐量&#xff1a;在固定時間內處理的交易數量 延時&#xff1a;對交易的響應和處理時間 主流區塊鏈與中心化平臺TPS對比 區塊鏈與傳統計算的對比 區塊鏈可信且中立…

安全面試2

文章目錄 簡單描述一下什么是水平越權&#xff0c;什么是垂直越權&#xff0c;我要發現這兩類漏洞&#xff0c;那我代碼審計要注意什么地方水平越權&#xff1a;垂直越權&#xff1a;水平越權漏洞的審計重點垂直越權漏洞的審計重點 解釋一下ssrf漏洞原理攻擊場景修復方法 橫向移…

【Linux 專欄】echo命令實驗

風123456789&#xff5e;-CSDN博客 最近文章閱讀排行榜 【爬蟲基礎】第一部分 網絡通訊 P1/3-CSDN博客 【爬蟲基礎】第一部分 網絡通訊-Socket套接字 P2/3-CSDN博客 【Linux專欄】find命令同步 實驗-CSDN博客 【Linux運維】非root用戶的單向免密登錄_linux 單向免密-CSDN博客…

RTSP協議全解析

RTSP&#xff08;Real Time Streaming Protocol&#xff09;協議全解析 一、協議概述 定位&#xff1a;應用層協議&#xff0c;用于控制流媒體服務器&#xff08;播放、暫停、錄制&#xff09;&#xff0c;媒體傳輸由 RTP/RTCP 實現。 特點&#xff1a; 基于文本&#xff08;…