RAG知識(shí)庫(kù)構(gòu)建新框架-EasyDoc小模型+多模態(tài)大模型結(jié)合的文檔智能解析框架 原創(chuàng)
傳統(tǒng)的基于OCR的pipline的相關(guān)技術(shù)路線(如下圖),目前多模態(tài)大模型的出現(xiàn),文檔解析技術(shù)鏈路出現(xiàn)了新的一些玩法。
最近看到一個(gè)新產(chǎn)品,EasyDoc(https://www.easylink-ai.com/easy-doc/),在原有的OCR鏈路中引入了多模態(tài)大模型進(jìn)行圖表理解,由此,筆者又更新了一張圖,如下:
圖2:OCRpipline結(jié)合多模態(tài)大模型的文檔智能解析技術(shù)路線
下面我們來(lái)看結(jié)合?EasyDoc這個(gè)新框架,看看Easydoc文檔解析過(guò)程中的相關(guān)技術(shù)實(shí)踐路線、通過(guò)實(shí)際深度的測(cè)試看看Easydoc的效果及差異化特點(diǎn)和Easydoc文檔層次化結(jié)構(gòu)對(duì)于RAG的增益思考。供參考。
一、Easydoc文檔智能解析技術(shù)路線
1.1、版式分析
文檔版式分析是指對(duì)文檔的物理結(jié)構(gòu)、視覺(jué)布局及內(nèi)容組織形式進(jìn)行系統(tǒng)性解析的過(guò)程。通過(guò)bounding box定位其中的關(guān)鍵區(qū)域,識(shí)別文檔中的各類(lèi)元素(如圖像、表格等)及其空間分布、格式特征,從而理解文檔的整體架構(gòu)和信息呈現(xiàn)邏輯。
版式分析區(qū)塊識(shí)別
版式分析如圖1、2所示,在文檔智能解析路線中處于龍頭地位,其優(yōu)勢(shì)在于通過(guò)大量標(biāo)注的數(shù)據(jù),準(zhǔn)確的劃分出文檔關(guān)鍵區(qū)域,獲取對(duì)應(yīng)的各區(qū)塊的bounding box和標(biāo)簽類(lèi)別,分發(fā)到后續(xù)流程進(jìn)一步的處理。如:
- 文本區(qū)域:頁(yè)眉、頁(yè)腳、標(biāo)題、段落、頁(yè)碼、腳注、圖片標(biāo)題、表格標(biāo)題等
- 表格
- 公式
- 圖片
版式分析的伴隨著多場(chǎng)景,尤其是通用場(chǎng)景的版式分析,對(duì)于模型的識(shí)別能力有所挑戰(zhàn)。筆者嘗試了下Easydoc的多場(chǎng)景的版式分析能力,效果還不錯(cuò)。
Easydoc版式分析效果
1.2、表格識(shí)別與解析
表格識(shí)別與解析的難點(diǎn)一般如下:
- 表格的多樣性和復(fù)雜性:表格的形式多種多樣,包括有線表、無(wú)線表和少線表,這使得檢測(cè)和分割單元格變得復(fù)雜 。
- 表格單元格的合并與拆分:某些表格中的單元格可能跨行或跨列,甚至跨頁(yè),需要準(zhǔn)確識(shí)別這些合并的單元格并將其恢復(fù)成標(biāo)準(zhǔn)單元格 。
- 表格內(nèi)容的識(shí)別和解析:表格中可能包含圖像、公式、符號(hào)等非文本內(nèi)容,需要將它們轉(zhuǎn)換成文本或保留格式 。
- 表格結(jié)構(gòu)的表示和輸出:不同的應(yīng)用場(chǎng)景可能需要不同的表格結(jié)構(gòu)表示方式,如 HTML、JSON、CSV 等,需要將識(shí)別結(jié)果轉(zhuǎn)換成適合目標(biāo)應(yīng)用的格式,并保留數(shù)據(jù)和樣式信息。
從上面可以看到,傳統(tǒng)的表格與識(shí)別解析方案可以歸結(jié)為,識(shí)別表格結(jié)構(gòu)+OCR文字識(shí)別,也就是下面技術(shù)實(shí)現(xiàn)圖:
傳統(tǒng)的表格解析技術(shù)路線
隨著多模態(tài)大模型的出現(xiàn),端到端的表格解析或者是表格理解也提供了新的技術(shù)思路。優(yōu)勢(shì)可以體現(xiàn)為,不需要多個(gè)高精度的專(zhuān)家小模型參與pipline的過(guò)程,避免錯(cuò)誤傳播的風(fēng)險(xiǎn)。筆者觀察到,EasyDoc在表格解析與理解端引入了相關(guān)多模態(tài)大模型。
1.3、圖片理解
一般的pipline鏈路,文檔類(lèi)的圖片元素直接在版式分析階段已經(jīng)拿到bounding box,后續(xù)流程不會(huì)對(duì)其進(jìn)行特殊的處理。但圖片元素對(duì)于文檔而言,又是文檔中不可或缺的元素信息,多模態(tài)大模型的出現(xiàn),是的文檔中圖片理解成為可能。EasyDoc中引入了多模態(tài)大模型,對(duì)圖片進(jìn)行理解生成相關(guān)caption,caption對(duì)于RAG召回也提供了豐富的上下文信息(其經(jīng)解析后可轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)(如財(cái)報(bào)中的財(cái)務(wù)指標(biāo)),使 RAG 系統(tǒng)能精準(zhǔn)召回相關(guān)數(shù)據(jù)點(diǎn))。也能幫助 RAG 系統(tǒng)理解文檔的整體架構(gòu)。例如,在學(xué)術(shù)論文處理中,模型可自動(dòng)關(guān)聯(lián)圖片標(biāo)題與正文引用,避免傳統(tǒng) RAG 因結(jié)構(gòu)割裂導(dǎo)致的信息錯(cuò)位。
1.4、閱讀順序
由于文檔布局的復(fù)雜性,包括多欄、嵌套表格、不規(guī)則的文本框等,這增加了閱讀順序恢復(fù)的難度。
1.5、文檔恢復(fù)(文檔層次化)
文檔層次化的就是通過(guò)版式分析得到的bounding box位置信息對(duì)文檔進(jìn)行恢復(fù),并對(duì)相關(guān)標(biāo)簽進(jìn)行關(guān)系的鏈接。EasyDoc采取的方式是通過(guò)??parent_id?
?來(lái)描述文檔中各元素之間的父子關(guān)系(從屬關(guān)系):形式化就是<表,parent_id,章節(jié)>、<段落,parent_id,章節(jié)>等。這種層級(jí)結(jié)構(gòu)(如 parent_id)為每個(gè)語(yǔ)義單元提供文檔路徑上下文,增強(qiáng) RAG 系統(tǒng)的檢索準(zhǔn)確性。
二、EasyDoc差異化功能測(cè)試
EasyDoc結(jié)合視覺(jué)布局與語(yǔ)義理解,精準(zhǔn)識(shí)別復(fù)雜文檔結(jié)構(gòu),輸出邏輯完整的語(yǔ)義單元。
Easydoc多場(chǎng)景版式分析效果
Easydoc結(jié)合多模態(tài)模型對(duì)圖片進(jìn)行理解,其特點(diǎn)體現(xiàn)在實(shí)現(xiàn)了類(lèi)似ChartQA的功能,如:柱狀圖、餅狀圖、折線圖等的理解與解析,能夠精確的理解數(shù)值圖的內(nèi)容以及OCR數(shù)值提取。
Easydoc多模態(tài)圖片理解
在1.2節(jié)介紹到,傳統(tǒng)的小模型的方案存在錯(cuò)誤傳播的風(fēng)險(xiǎn),并且傳統(tǒng) OCR 對(duì)模糊、傾斜、光照不均的圖像敏感,識(shí)別率顯著下降。多模態(tài)大模型通過(guò)多尺度視覺(jué)特征提取和數(shù)據(jù)增強(qiáng)提升抗干擾能力。OCR還需依賴(lài)模板或人工規(guī)則進(jìn)行后處理,而多模態(tài)大模型支持無(wú)模板的端到端解析,并具備更強(qiáng)的泛化能力。EasyDoc支持多欄、多表合并的復(fù)雜表格輸出元信息,如下圖,key-value的json形式表示表格。
Easydoc多模態(tài)表格解析
對(duì)于一些跨頁(yè)的表格,EasyDoc也支持跨頁(yè)表格的識(shí)別,如下圖,可以看到識(shí)別并合并到了一個(gè)json中:
EasyDoc跨頁(yè)表格識(shí)別
三、多類(lèi)型文檔解析對(duì)RAG系統(tǒng)的增益
EasyDoc支持多種格式的文檔解析,為RAG知識(shí)庫(kù)的構(gòu)建提供便利,兼容 .dotm、.docm、.doc、.dotx、.docx、.txt、.html、.dot、.xltm、.xlsm、.xlsx、.xls、.xlt、 .pptx、.potm、.pptx、.ppt、.pot、.pps、.tif、.png、.jpg、.bmp 等主流格式,適配多樣化業(yè)務(wù)場(chǎng)景。
筆者還觀察到一個(gè)功能,那就是文檔層次化,文檔層次化可以保留上下文,通過(guò)層級(jí)結(jié)構(gòu)(如 parent_id)為每個(gè)語(yǔ)義單元提供文檔路徑上下文,增強(qiáng) RAG 系統(tǒng)的檢索準(zhǔn)確性。筆者在之前的文章中也介紹過(guò),傳統(tǒng)的RAG系統(tǒng)知識(shí)庫(kù)的構(gòu)建,并沒(méi)有利用到文檔的結(jié)構(gòu)化信息,GraphRAG可以解決一些層次化的問(wèn)題,如下圖RAG vs GraphRAG。
RAG vs GraphRAG
但是還不夠,此時(shí)還沒(méi)有利用到文檔的層次結(jié)構(gòu),因此筆者又拿出往期文章中的介紹的圖(感興趣可以翻看筆者往期文章),如下:
DocGraph
DocGraph經(jīng)過(guò)布局分析,進(jìn)行區(qū)域間關(guān)系(Inter-region relationship)抽取,如一個(gè)表格與其相應(yīng)的標(biāo)題、來(lái)源、引用段落、所屬章節(jié)之間的關(guān)系;層級(jí)邏輯關(guān)系包括標(biāo)題、小節(jié)標(biāo)題、段落等。這一點(diǎn)到是在EasyDoc看到了這個(gè)思想。
EasyDoc文檔層次結(jié)構(gòu)化樹(shù)
因此可以看到,DocGraph不就是不就可以看做是一個(gè)知識(shí)圖譜嗎?建模到RAG中進(jìn)一步的不就演變成了帶文檔層次結(jié)構(gòu)的GraphRAG?這也進(jìn)一步的為RAG知識(shí)線索溯源帶來(lái)增益。具體增益體現(xiàn)筆者歸納了一下,供參考:
- 層次化樹(shù)結(jié)構(gòu)通過(guò)捕捉parent_id關(guān)系顯式建模文檔的層級(jí)結(jié)構(gòu)(如章節(jié)→子章節(jié)→段落)。提升GraphRAG性能;
- 樹(shù)結(jié)構(gòu)中的上下文信息(如標(biāo)題、摘要)與文本內(nèi)容形成互補(bǔ)。例如,RAPTOR 模型通過(guò)遞歸聚類(lèi)生成層次化樹(shù);
- 結(jié)構(gòu) - 語(yǔ)義聯(lián)合檢索:GraphRAG 支持同時(shí)查詢(xún)樹(shù)結(jié)構(gòu)路徑和文本語(yǔ)義。
- 層次化社區(qū)檢測(cè)與摘要生成:通過(guò) Leiden 算法等社區(qū)檢測(cè)技術(shù),GraphRAG 將樹(shù)結(jié)構(gòu)劃分為不同粒度的社區(qū)(如 C0 全局級(jí)、C1 主題級(jí)、C2 細(xì)節(jié)級(jí)),并生成層次化摘要。
- 路徑導(dǎo)向的邏輯鏈構(gòu)建:層次化樹(shù)結(jié)構(gòu)支持構(gòu)建 “章節(jié)→子章節(jié)→段落→實(shí)體” 的多跳推理路徑。
....
總結(jié)
本文從EasyDoc這個(gè)新的文檔解析產(chǎn)品再次回顧了文檔解析相關(guān)技術(shù)路線,并結(jié)合筆者深度體驗(yàn)了下EasyDoc的相關(guān)差異化的點(diǎn),如:多模態(tài)圖表理解、文檔層次化樹(shù)的構(gòu)建等創(chuàng)新亮點(diǎn),得出結(jié)論:小模型和多模態(tài)的模型可以協(xié)同創(chuàng)新解決文檔結(jié)構(gòu)化的難點(diǎn)。并且,RAG知識(shí)庫(kù)的構(gòu)建出了精確提取文檔內(nèi)容之外,還可以利用文檔結(jié)構(gòu)化層次樹(shù)搞出一些新的玩法,比如如何像EasyDoc一樣構(gòu)建DocGraph,如何將DocGraph進(jìn)一步的融入RAG系統(tǒng),提升RAG系統(tǒng)性能。
本文轉(zhuǎn)載自??大模型自然語(yǔ)言處理?? 作者:余俊暉
