大模型數(shù)據(jù)預處理——關于復雜文檔在大模型應用中的解決方案 原創(chuàng)
“ 復雜文檔的處理是人工智能應用的基礎,但同時也是一個門檻?!?/strong>
在這里先思考一個問題,哪種文檔格式最復雜?
以我們經常使用的文檔為例,不同系統(tǒng)下有不同格式的文檔;不論是文本,圖片,還是視頻都有很多種格式;但要說比較復雜的還是文本類文檔。
因為文本類文檔中包含著多種其它格式的文檔;以作者個人為例,我認為最復雜的文檔就是常用的word/pdf這種格式。
原因就在于這種格式的文檔就像一張白紙,我們可以在上面寫畫任何我們想要的東西;而其它格式的文檔多多少少都會有一些固定的格式,而固定的格式就意味著數(shù)據(jù)是有格式的,而現(xiàn)在的計算機系統(tǒng)中,最復雜的不是格式化數(shù)據(jù)而是非格式化數(shù)據(jù)。
復雜文檔的處理
作者目前主要從事的是RAG方面的應用,而RAG除了高效檢索之外,另一個比較復雜的方面就是前期各種文檔的處理。
比如說word,excel,markdown,html等等;而其中比較棘手的主要就是word和pdf。
原因就在于word和pdf中的文檔格式比較復雜,因為它不僅僅只有純文本,里面同時還存在圖片和表格和結構圖。
特別是一些流程圖,架構圖,甚至很多內容都是截圖放在里面;在這種情況下,直接交給大模型處理是一件非常困難的事;特別是一些大模型只是純文本模型,無法處理這種復雜的數(shù)據(jù)格式。
因此,一種比較常見的做法就是使用OCR技術,把word/pdf等文檔中的圖片識別成文字進行處理。
但說句實話,效果真的不咋地;比如說圖片中如果是文本數(shù)據(jù)倒還好,如果是一些非文本數(shù)據(jù),OCR識別也沒太大作用。
而如果是一些流程圖或架構圖這種,識別出來也沒太大意義,原因就在于識別出來的數(shù)據(jù)失去了原有的邏輯關系。
所以,面對這種問題應該怎么解決?
說句實話,受限于技術問題,面對這種問題目前業(yè)界并沒有什么特別好的處理辦法,只能盡可能的保證文檔的完整性和連貫性。
面對這種問題一般有兩個解決思路,第一使用一些工具對文檔進行預處理,比如把文檔中文字,圖片和表格分別提取出來;以保證分割數(shù)據(jù)的完整性。
常見的是不同語音提供的一些工具包,比如場景的python提供的各種文檔處理工具。
核心做法
將 Word / PPT / PDF 等不同類型的文檔,統(tǒng)一轉成 HTML 或者 Markdown 格式。
基于統(tǒng)一后的格式,從文檔中分離出 文本內容、圖片(含圖表截圖)、表格。
對拆分出來的圖片和表格做進一步的 OCR / 表格解析等處理,將其轉換為文本(或結構化數(shù)據(jù)),最后與原有的文本合并或建立關聯(lián)。
優(yōu)點
保留文檔內容結構:因為先轉為 HTML 或 Markdown,可以較好地保留文檔的層級結構、段落、樣式等。
靈活處理:可以針對文字、圖片、表格分別采取適合的處理方式。例如:
文本直接拿來做 NLP 預處理;
圖片和圖表用專門的 OCR 或結構化表格提取工具。
精細度較高:文字和圖表一分為二,可以更精細地進行后續(xù)處理,便于標注、檢索或微調(Finetune / RAG)。
缺點
開發(fā)成本相對較高:要編寫或調用各種解析、轉換腳本(doc -> html,pdf -> html 等),還要對拆出來的圖片、表格做分別提取。
依賴工具鏈:對于 PPT 等復雜文檔,直接轉 HTML/Markdown 可能并非一帆風順,需依賴商業(yè)或開源工具,可能會遇到兼容性問題。
圖片+表格的后處理:對圖表進行 OCR 或表格解析,需要依賴額外的處理模塊,處理效果也取決于 OCR / 表格解析工具的準確率。
適用場景
需要保留文檔原有的層級結構、目錄、章節(jié)等信息,并對文本和圖表進行精細化處理的場景。
數(shù)據(jù)源多樣(Word、PPT、PDF、掃描件),且對最終提取精度要求較高。
團隊可以投入一些時間精力,編寫、整合比較完整的抽取工具鏈。
第二種就是使用更先進的多模態(tài)模型,多模態(tài)模型能夠同時處理多種不同的數(shù)據(jù)格式;并且能夠盡可能的保證不同格式數(shù)據(jù)之間的相關性。
通過多模態(tài)模型對復雜文檔數(shù)據(jù)進行抽取,然后再進行下一步的加工處理。
總之,復雜格式數(shù)據(jù)的處理是一項技術難度大,處理流程復雜的工程;但核心要點只有一個,那就是盡可能的保證文檔數(shù)據(jù)的完整性,這里包括數(shù)據(jù)的完整和語義的完整。
本文轉載自公眾號AI探索時代 作者:DFires
原文鏈接:??https://mp.weixin.qq.com/s/muWyMmYNd52srX7zwjrtuQ??
