十大PDF解析工具在不同文檔類別中的比較研究 原創
十大PDF解析工具總結
PDF解析對于包括文檔分類、信息提取和檢索在內的多種自然語言處理任務至關重要,尤其是RAG的背景下。盡管存在各種PDF解析工具,但它們在不同文檔類型中的有效性仍缺乏充分研究,尤其是超出學術文檔范疇。通過使用DocLayNet數據集,比較10款流行的PDF解析工具在6種文檔類別中的表現,以填補這一空白。這些工具包括PyPDF、pdfminer.six、PyMuPDF、pdfplumber、pypdflum2、Unstructured、Tabula、Camelot以及基于深度學習的工具Nougat和Table Transformer(TATR)。
對于基于深度學習的相關技術方法,筆者在前期介紹了完整的技術鏈路,可以參考《??文檔智能專欄(點擊跳轉)??》
對于對pdf解析質量要求不高并且要求速度比較快的場景,基于規則引擎的相關pdf parser工具可以依舊滿足相關業務場景,那么該如何選擇pdf解析工具呢?
pdf解析的挑戰:
- 復雜性:PDF解析面臨多個挑戰,包括單詞識別、詞序保持、段落完整性以及表格提取等。這些挑戰要求解析工具能夠準確地識別和處理文檔中的各種元素。
- 技術需求:PDF解析方法可以分為基于規則的方法和基于深度學習的方法?;谝巹t的方法通常在計算效率和部署速度上具有優勢,而基于學習的方法在處理復雜文檔時表現出色。
本文通過比較10種流行的PDF解析工具在6種不同文檔類別上的表現,提供對工具性能的全面評估。供參考。
評估方法
常見公開評測數據集
評測數據集
DocLayNet 是一個包含約80,000個文檔頁面的大型數據集,文檔被標注為11種不同的元素(如腳注、公式、列表項、頁腳、頁眉、圖片、節頭、表格、文本和標題)。這些文檔分為六個不同的類別:財務報告、手冊、科學文章、法律法規、專利和政府招標。
類別分布情況
文檔主要用英語標注(95%),少量用德語(2.5%)、法語(1%)和日語(1%)。為了確保標注的高質量和可靠性,大約7,059個文檔進行了雙重標注,1,591個文檔進行了三重標注。
評估指標
并使用多種評估指標進行比較,包括F1分數、BLEU分數和局部對齊分數。
在文檔中,評估策略特別關注于文本提取的質量,尤其是當涉及到復雜的文檔結構和內容時。以下是如何結合具體的公式和評估指標來詳細講解評估策略:
文本提取的評估策略
1.Levenshtein 相似性
2.F1 分數
3.BLEU 分數
4.局部對齊分數
局部對齊分數用于評估文本提取的整體質量,特別是在處理復雜布局和段落結構時。局部對齊通過尋找兩個字符串中最相似的子串來實現,使用匹配得分、不匹配和間隙懲罰來計算相似性。
表格檢測評價指標
使用交并比(IoU)來比較解析器提取的表格與GT表格的相似性。如果解析器不提供邊界框信息,則使用Jaccard系數計算檢測的精確度和召回率。
評測工具
工具名稱 | 功能 | 技術 | 輸出格式 | 特點 |
PyPDF | 提取文本、圖像和元數據 | 基于規則 (RB) | TXT | 成熟的純 Python 庫,處理多種 PDF 操作 |
pdfminer.six | 提取文本、圖像、目錄、字體大小 | 基于規則 | TXT、HTML、hOCR、JPG | 多功能,支持 CJK 語言和垂直書寫 |
PDFPlumber | 提取文本和表格 | 基于規則 (基于 pdfminer) | TXT、HTML、hOCR、JPG | 提供可視化調試工具,提取過程便捷 |
PyMuPDF | 提取文本、表格和圖像 | 基于規則 (MuPDF),可選 OCR | TXT、HTML、SVG、JSON | Python 綁定,處理復雜文檔布局 |
pypdfium2 | 提取文本 | 基于規則 | TXT | 輕量級庫,專注文本提取 |
Unstructured | 預處理和攝取圖像及文本文檔 | 基于規則,支持 OCR | TXT | 支持元素級文本和表格提取 |
Tabula | 提取表格 | 基于規則 | DataFrame、CSV、JSON | Python 包裝器,使用 tabula-java |
Camelot | 提取表格 | 基于規則 | DataFrame、CSV、JSON、HTML | 靈活配置,支持流模式和格子模式 |
Nougat | 提取文本 | 基于 Transformer | Markdown | 深度學習模型,專為學術文檔訓練 |
Table Transformer (TATR) | 檢測表格 | 基于 Transformer | 圖像 | 對象檢測模型,訓練于 PubTables-1M 等 |
評測結論
6中文檔類別中對PDF解析庫進行了全面比較
- 文本提取結論 在財務、招標、法律法規和手冊類別中,大多數工具表現較好,PyMuPDF和pypdfium在這些類別中表現尤為突出。在科學和專利類別中,所有工具的表現均有所下降。PyMuPDF和pypdfium在專利類別中表現相對較好,但科學類別仍然是一個挑戰。Nougat作為一個基于視覺變換器的模型,在科學文檔的文本提取中表現出色。Nougat在科學文檔中表現優于所有基于規則的工具。
- 表格檢測結論 評估了四種基于規則的PDF表格提取工具(Camelot、pdfplumber、PyMuPDF、Tabula)和一個基于Transformer的模型(TATR)在表格檢測任務中的表現。規則工具在特定文檔類型中表現良好,但在其他類別中表現不佳。Camelot在政府招標類別中表現最佳,Tabula在手冊、科學和專利類別中表現較好。TATR在所有類別中表現出較高的召回率和一致性。在科學、財務和招標類別中,TATR的召回率較高,顯示出其在處理復雜表格結構時的優勢。
總結
其實,全文看下來,這個評測的粒度還是比較粗的,但是其中的對于基于規則的pdf parser工具結論還是值得看一看的。在具體的業務場景中,選擇合適的解析工具需要考慮文檔類型和具體任務的需求。
參考文獻:A Comparative Study of PDF Parsing Tools Across Diverse Document Categories,https://arxiv.org/pdf/2410.09871v2
公眾號大模型自然語言處理 作者:余俊暉
原文鏈接:??https://mp.weixin.qq.com/s/5mItOr1bBD7CIb-5k2kB6A??
