RAG 文檔解析工具選型指南
對于 RAG 系統而言,從文檔中提取信息是一個不可避免的情況。最終系統輸出的質量很大程度上取決于從源內容中提取信息的效果。
過去,我曾從不同角度探討過文檔解析問題[1]。本文結合近期一篇 RAG 調查報告[2]的發現與我之前的部分研究,對 RAG 系統如何解析和整合結構化、半結構化、非結構化和多模態知識進行了簡明概括。
image.png
Figure 1: RAG 系統整合的多種知識類型,涵蓋結構化、半結構化、非結構化和多模態知識。[Source[2]]
1.結構化知識:數據按規則組織的范式
1.1 知識圖譜:易于查詢,便于使用,難以集成
知識圖譜以一種清晰、互聯的方式描述實體及其關系,使其成為機器系統的圖譜遍歷與查詢的理想選擇。
RAG 系統非常喜歡這樣的結構化數據源 —— 它們精確且語義豐富。但真正的挑戰不在于查找數據,而在于如何有效地利用它。
- 如何從海量知識圖譜中提取有意義的子圖?
- 如何將結構化的圖譜數據與自然語言對齊?
- 隨著圖譜規模的增長,系統是否仍能保持高效?
一些有前景的解決方案正逐步解決這些問題:
- GRAG 從多個文檔中檢索子圖,來生成更聚焦的輸入。
- KG-RAG 采用探索鏈算法(Chain of Explorations,CoE)來優化基于知識圖譜的問答性能。
- GNN-RAG 采用圖神經網絡(GNN)檢索和處理來自知識圖譜(KG)的信息,在數據輸入大語言模型(LLM)之前先進行一輪推理。
- SURGE 框架利用知識圖譜生成更具相關性和知識感知(knowledge-aware)的對話,從而提升交互質量。
- 在特定領域,諸如 SMART-SLIC、KARE、ToG2.0 和 KAG[3] 等工具已充分證明,知識圖譜作為外部知識源可以發揮多么強大的作用,可幫助 RAG 系統同時提升準確性和效率。
1.2 表格:結構緊湊、數據密集且解析困難
表格也是一種結構化數據 —— 但它們與知識圖譜截然不同。幾行幾列就可能蘊含著大量信息。但如何讓機器理解這些信息?那完全是另一回事了。
表格中未明示的邏輯關系、格式不一致、專業領域內特有的知識...表格數據常游走于秩序與混沌之間。幸運的是,已有專門處理此類復雜情況的工具:
- TableRAG[4] 結合查詢擴展(query expansion)、表結構與單元格檢索(schema and cell retrieval),在將信息傳遞給語言模型前精準識別關鍵內容。
- TAG 和 Extreme-RAG 則更進一步整合了 Text-to-SQL 能力,使語言模型能夠直接“操作數據庫”。
核心結論?若能有效解析表格,它們就是價值極高的信息源。
2.半結構化數據:HTML、JSON 以及網絡數據的雜亂中間態
半結構化數據就像數據世界的“家中老二(middle child)” —— 既非完全結構化,也不完全是非結構化的。它比知識圖譜更靈活,卻比原始 PDF 文檔更有條理。典型代表如 HTML 頁面、JSON 文件、XML、電子郵件等格式,它們雖具備一定的結構特性,卻常表現出結構規范不一致或結構要素不完備的特征。
尤其是 HTML,它無處不在,而每個網站都有其獨特性。雖然存在 tags、attributes、elements(譯者注:DOM 核心構件) 等結構化成分,但仍混雜著大量非結構化文本與圖像。
為了有效解析 HTML,業界已開發出一系列工具和開源庫,可將 HTML 內容轉化為文檔對象模型(DOM)樹等結構化格式。值得關注的流行庫包括:BeautifulSoup、htmlparser2、html5ever、MyHTML 以及 Fast HTML Parser。
此外,HtmlRAG[5] 等 RAG 框架在 RAG 系統中利用 HTML 格式替代純文本,從而保留了語義與結構信息。
若希望 RAG 系統真正理解網頁數據而非依靠胡編亂造 —— HTML 解析便是這一切的起點。
3.非結構化知識:PDF、純文本(既雜亂又有內在邏輯)
接下來敘述的內容才是真正的挑戰。非結構化數據(自由格式的文本、PDF 文檔、掃描報告)無處不在。
尤其是 PDF 文檔,簡直就是噩夢:不一致的布局、嵌入內部的圖像、復雜的格式。但在學術、法律和金融等領域它們不可或缺。那么,我們該如何讓它們符合 RAG 系統的要求呢?
我們可以使用更智能的 OCR 技術、版面分析技術和視覺內容 - 語言融合技術:
- Levenshtein OCR 和 GTR 結合視覺和語言線索來提高識別準確率。
- OmniParser 和 Doc-GCN 專注于保留文檔的結構。
- ABINet 采用雙向處理機制提升 OCR 系統的表現。
與此同時,一大波開源工具的出現使得將 PDF 轉換為 Markdown(一種對 LLM 更友好的格式)的過程變得更加容易。有哪些工具?我基本都已經介紹過了!
- GPTPDF[6] 利用視覺模型解析表格、公式等復雜版面結構,并快速轉換為 Markdown 格式 —— 該工具運行高效且成本低廉,適合大規模部署。
- Marker[7] 專注于清除噪聲元素,同時還保留原始格式,因而成為處理研究論文和實驗報告的首選工具。
- PDF-Extract-Kit(MinerU 采用的 PDF-Extract-Kit 模型庫[8])支持高質量內容提取,包括公式識別與版面檢測。
- Zerox OCR[9] 對每頁文檔進行快照處理,通過 GPT 模型生成 Markdown,從而高效管理復雜文檔結構。
- MinerU[10] 是一種綜合解決方案,可保留標題/表格等原始文檔結構,并支持受損 PDF 的 OCR 處理。
- MarkItDown[11] 是一種多功能轉換工具,支持將 PDF、媒體文件、網頁數據和歸檔文件轉為 Markdown。
4.多模態知識:圖像、音頻與視頻數據一同入場
傳統 RAG 系統專為文本數據而設計,因此在處理圖像、音頻或視頻等多模態信息時往往力不從心。這就導致其回應常顯得膚淺或不完整 —— 尤其當核心信息蘊含于非文本內容中時。
為應對這些挑戰,多模態 RAG 系統引入了整合和檢索不同模態的基本方法。其核心思想是將文本、圖像、音頻、視頻等模態對齊到共享嵌入空間(shared embedding space),實現統一處理和檢索。例如:
- CLIP 在共享嵌入空間中對齊視覺與語言模態。
- Wav2Vec 2.0 和 CLAP 專注于建立音頻與文本的關聯。
- 在視頻領域,ViViT 等模型專為捕捉時空特征而設計。
這些技術都是基礎模塊。隨著系統的不斷演進迭代,我們將看到能夠一次性從文檔、幻燈片及語音內容中提取洞見的 RAG 應用。
5.結語
在實踐中,我發現 MinerU 是解析 PDF 的最佳開源工具。
當然,若你想自建文檔解析器,自然需處理諸多復雜細節。但這樣做的回報是值得的:更自主的源代碼控制、更強的文檔安全性,以及更可靠的結果。
后續若有契機,我將分享更多工程實踐洞見。
我們正在超越純文本語言模型的時代。倘若能教會機器理解人類傳遞知識的各種格式,或許它們也能協助我們更透徹地理解這個世界。

































