RAG系列:MinerU、Docling還是Unstructured?用OmniDocBench評測開源文檔解析工具
引言
從寫 RAG 開發(fā)入門這一系列文章開始,特別是文檔解析這個環(huán)節(jié),有很多讀者詢問某個文檔解析工具的能力怎么樣,和其它工具對比如何,這表明開源社區(qū)雖然涌現(xiàn)出了很多的文檔解析工具,但是它們在實際場景的表現(xiàn)到底如何,這在很多人中是沒有太明確答案的。因而,面對眾多工具的選擇,我們期望能有一個統(tǒng)一的基準來評估其實際效果,而且對于大部分人來說是需要開箱即用的。
本文我將介紹一款由上海人工智能實驗室開源的多源文檔解析評測框架 - OmniDocBench[1],憑借其多樣性、全面性和高質量標注數(shù)據(jù)以及配套的評測代碼,是一個不錯的衡量文檔解析工具性能的選擇。
目前OmniDocBench已被CVPR2025接受! CVPR2025是計算機視覺與模式識別領域的頂級國際學術會議,被譽為計算機視覺領域的“三大頂會”之一(與ICCV、ECCV并列)。
OmniDocBench論文[2]:
https://arxiv.org/html/2412.07626v1
高質量基準測試集
OpenDataLab下載地址:https://opendatalab.com/OpenDataLab/OmniDocBench
Hugging Face下載地址:https://huggingface.co/datasets/opendatalab/OmniDocBench
高質量基準測試集是OmniDocBench的核心價值,其特點主要包括:
- 文檔類型多樣:該評測集涉及 981 個 PDF 頁面,涵蓋9 種文檔類型(如學術文獻、財報、報紙、教材、手寫筆記等)、4 種排版類型(表格密集型、圖文混合型、純文本型等)和3 種語言類型(中文、英文、混合語種);
- 標注信息豐富:包含 15 個 block 級別(文本段落、標題、表格等,總量超過 20k)和 4 個 Span 級別(文本行、行內公式、角標等,總量超過 80k)的文檔元素的定位信息,以及每個元素區(qū)域的識別結果(文本 Text 標注,公式 LaTeX 標注,表格包含 LaTeX 和 HTML 兩種類型的標注)。OmniDocBench 還提供了各個文檔組件的閱讀順序的標注。除此之外,在頁面和 block 級別還包含多種屬性標簽,標注了 5 種頁面屬性標簽、3 種文本屬性標簽和 6 種表格屬性標簽;
- 標注質量高: 經過人工篩選、智能標注、人工標注及全量專家質檢和大模型質檢,數(shù)據(jù)質量較高。
數(shù)據(jù)展示
支持多種衡量指標
OmniDocBench目前支持的衡量指標包括:
1. Normalized Edit Distance(歸一化編輯距離):這個指標計算兩個字符串之間的最小編輯操作次數(shù)(包括插入、刪除、替換),并將這個距離進行歸一化處理,通常用于衡量兩個字符串或文本序列之間的相似度。歸一化處理是為了讓結果在 0 到 1 之間,便于比較;
2. BLEU(雙語評價替補/Bilingual Evaluation Understudy):BLEU 是機器翻譯領域中常用的自動評估指標,它通過比較候選譯文和一組參考譯文之間的 n-gram 重疊程度來計算得分,以此衡量機器翻譯的質量。BLEU 分數(shù)越高,表示機器翻譯的結果越接近人工翻譯;
3. METEOR(基于明確排序的翻譯評估/Metric for Evaluation of Translation with Explicit ORdering):METEOR 是一個更加復雜的翻譯質量評估指標,它不僅考慮了單詞精確匹配,還包括詞干匹配、同義詞匹配等,并且會根據(jù)詞序差異對得分進行調整。因此,它比 BLEU 更能反映句子間的語義相似性;
4. TEDS(基于樹編輯距離的表格相似度/Tree-based Edit Distance for Tables):TEDS 是一種專門用來評估表格結構相似度的指標。它將表格轉換為樹形結構,然后計算兩棵樹之間的編輯距離,以此來衡量表格結構上的相似度。這種指標特別適用于表格解析或者表格生成任務中的準確性評估;
5. COCODet (mAP, mAR, etc.):COCODet 指的是使用在 COCO 數(shù)據(jù)集上定義的一系列目標檢測性能評估指標,主要包括:
- mAP(平均精度均值/Mean Average Precision):衡量模型在不同 IoU(交并比)閾值下的平均精度;
- mAR(平均召回率均值/Mean Average Recall):衡量模型在不同 IoU 閾值下的平均召回率。
每個指標都有其特定的應用場景和優(yōu)勢,你可根據(jù)具體的應用需求和上下文配置合適的衡量指標。
開箱即用的評測方法
OmniDocBench開發(fā)了一套基于文檔組件拆分和匹配的評測方法,對文本、表格、公式、閱讀順序這四大模塊分別提供了對應的指標計算,評測結果除了整體的精度結果以外,還提供了分頁面以及分屬性的精細化評測結果,精準定位模型文檔解析的痛點問題。
下載項目
git clone https://github.com/opendatalab/OmniDocBench.git
環(huán)境配置和運行
conda create -n omnidocbench pythnotallow=3.10
conda activate omnidocbench
pip install -r requirements.txt
下載評測集
OpenDataLab下載地址:https://opendatalab.com/OpenDataLab/OmniDocBench
Hugging Face下載地址:https://huggingface.co/datasets/opendatalab/OmniDocBench
評測集的文件夾結構如下:
OmniDocBench/
├── images/ // Image files
│ ├── xxx.jpg
│ ├── ...
├── pdfs/ // Same page as images but in PDF format
│ ├── xxx.pdf
│ ├── ...
├── OmniDocBench.json // OmniDocBench ground truth
評測配置
所有的評測的輸入都是通過config文件進行配置的,在configs路徑下提供了各個任務的模板。
比如端到端評測,你只需要在end2end.yaml文件中的ground_truth的data_path中提供 OmniDocBench.json的路徑,在prediction的data_path中提供包含推理結果的文件夾路徑,如下:
# -----以下是需要修改的部分 -----
dataset:
dataset_name: end2end_dataset
ground_truth:
data_path: ./OmniDocBench.json
prediction:
data_path: path/to/your/model/result/dir
配置好config文件后,只需要將config文件作為參數(shù)傳入,運行以下命令即可進行評測:
python pdf_validation.py --config configs/end2end.yaml
對開源工具的評測
可以端對端評測綜合能力,也可以分項(文本、公式、表格、布局)評測。
下面各個開源工具/模型的評測結果均是基于OmniDocBench的真實評測,可直接作為選擇的依據(jù)。
端到端評測
端到端評測是對模型在PDF頁面內容解析上的精度作出的評測。以模型輸出的對整個PDF頁面解析結果的Markdown作為Prediction。
公式識別評測
OmniDocBench包含每個PDF頁面的公式的bounding box信息以及對應的公式識別標注(包括行間公式equation_isolated和行內公式equation_inline),因此可以作為公式識別評測的benchmark。
文字OCR評測
OmniDocBench包含每個PDF頁面的所有文字的bounding box信息以及對應的文字識別標注(包含block_level的標注和span_level的標注),因此可以作為OCR評測的benchmark。
表格識別評測
OmniDocBench包含每個PDF頁面的公式的bounding box信息以及對應的表格識別標注(包括HTML和LaTex兩種格式),因此可以作為表格識別評測的benchmark。
布局檢測
OmniDocBench包含每個PDF頁面的所有文檔組件的bounding box信息,因此可以作為布局檢測任務評測的benchmark。
結語
本文給大家介紹了一款由上海人工智能實驗室開源的多源文檔解析評測框架-OmniDocBench,希望大家通過該評測框架,可以選出適合自己實際業(yè)務場景的文檔解析工具。
引用鏈接
[1]
OmniDocBench: https://github.com/opendatalab/OmniDocBench
[2]
OmniDocBench論文: https://arxiv.org/html/2412.07626v1