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