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