傳統分塊總 “拆家”?視覺引導分塊:讓 RAG 系統讀懂文檔里的每一張圖、每一段邏輯

傳統的文檔分塊方法(如固定大小或滑動窗口方法)存在幾個根本性局限:
- 它們常常會破壞連貫內容,如多頁表格、分步流程以及塊邊界間的交叉引用關系。
- 純文本提取完全忽略了關鍵的視覺信息(圖表、文檔布局),而這些對于理解至關重要。
- 由于跨頁邊界的語義關系未被保留,會導致上下文不完整。
- 文檔內的邏輯流程和依賴關系(包括嵌套章節和流程序列)通常會丟失,從而影響檢索增強生成(RAG)系統。
問題表述
傳統方法:對于一個有n頁的PDF文檔D(D = {p1, p2, . . . , pn}),傳統的純文本分塊會生成塊C = {c1, c2, . . . , cm},其中每個ci只包含文本內容。
多模態方法:所提出的多模態方法將D按批次處理為B = {B1, B2, . . . , Bk}。
- 每個批次Bi包含最多b個連續頁面(通常b = 4)。
- 對于每個批次Bi,使用大型多模態模型M生成具有上下文感知的塊Ci:Ci = M(Bi, contexti?1, prompt)。其中,contexti?1表示從先前批次延續的相關上下文。
多模態批量處理

多模態文檔分塊架構。
文檔被分成每批b頁。這確保了跨多頁的相關內容可以一起處理,從而保留上下文關系。
每個批次通過視覺引導的流水線進行處理,該流水線保持跨頁邊界的上下文關系。
為了保持連貫性并防止跨批次邊界的語義關系丟失,實施了一種上下文機制:
- 批次Bi的上下文(contexti)由以下部分構成:{last_chunk i?1, heading_hierarchy i?1}。
- last_chunk i?1:前一批次的最后幾個塊,對于處理跨批次邊界的內容至關重要。
- heading_hierarchy i?1:從前一批次延續的標題層級,確保組織的一致性。這種機制確保前序批次的信息能為后續批次的處理提供參考。
智能塊生成
層級標題結構
基于實證分析,強制采用一致的3級標題層級。2級標題會丟失重要的上下文粒度,而4級及以上則會引入不必要的碎片化。3級結構在語義粒度和檢索效率之間取得了最佳平衡。
標題級別:
- 1級:代表文檔或產品標題,包括位置和上下文信息等全部細節。
- 2級:涵蓋主要章節(如“特點”“流程”“規格”)。
- 3級:標識特定子主題(如“步驟1”“表格行”“詳細子章節”)。
這種結構確保每個塊都能保持其在整個文檔中的上下文位置,從而提高RAG中的檢索和理解效果。
內容保留規則
應用關鍵規則以保持文檔完整性:
- 步驟保留:所有編號步驟或流程保持在同一塊中,防止指導性內容碎片化。
- 表格完整性:每個表格行成為一個單獨的塊,同時保留標題以提供上下文。
- 列表連貫性:相關列表項作為連貫單元保持在一起。
- 多頁結構:跨頁內容(如大型表格或圖表)被適當合并。這些規則通過對多模態模型輸出的仔細解析和后處理驗證來實現。
延續標記
每個生成的塊都標記有延續標記,用于智能后處理。標記系統分為三類:
- [CONTINUES]True[/CONTINUES]:表示該塊是先前內容的延續。
- [CONTINUES]False[/CONTINUES]:表示該塊代表新內容。
- [CONTINUES]Partial[/CONTINUES]:用于不確定的延續關系。這種標記系統有助于在后處理過程中自動合并相關內容,確保語義相關的塊被適當組合,同時保持不同主題間的清晰邊界。
從提供的PDF中提取文本,并將其分割為用于知識檢索的上下文塊,同時遵循以下綜合要求:
提取階段
逐頁處理PDF,確保瀏覽每一頁,不跳過任何一頁,提取所有內容時需:
1. 仔細閱讀所有數據內容,理解文檔結構。
2. 根據內容本身推斷邏輯標題和主題。
3. 為每個塊生成3級標題結構:
? 一級標題 = 文檔或產品標題
? 二級標題 = 文檔內的主要章節
? 三級標題 = 該章節內的特定子主題
? 重要提示:如果標題缺失,從父標題級別繼承。運用最佳判斷,根據內容合理分配標題,且絕不釋義或縮短。標題層級必須始終遵循以下模式:主標題 > 章節標題 > 塊標題。
4. 跳過目錄和索引:不要從目錄或索引創建塊。
5. 塊中不包含頁眉、頁腳和頁碼。
6. 不要從最后一個塊創建或提取塊。僅將其用作標題推斷的指導。所有塊必須直接源自圖像。
7. 不得更改、釋義、縮短或跳過任何內容。所有文本、格式和元素必須與原始圖像完全一致,并呈現在輸出中。
關鍵:步驟/列表分塊規則 - 最高優先級
將所有相關內容放在一起 - 這是最高優先級規則:
? 絕不要將編號步驟、說明或流程拆分到不同塊中
? 一組說明中的所有步驟必須放在同一塊中
? 編號列表或項目符號列表中的所有項必須放在一個塊中
? 如果列表或步驟組跨多個圖像,它們也必須放在單個塊中
? 如果列表或步驟從前一批次延續,需合并并創建一個組合塊
? 將相關步驟或說明視為一個不可分割的內容單元
? 屬于同一流程/過程的步驟必須始終放在一起
? 即使一組步驟很長,也不要拆分它們 - 必須保留在單個塊中
? 優先考慮將步驟放在一起,而非其他分塊考慮因素
? 如果遇到看似屬于同一過程但被其他內容分隔的步驟,需仔細分析以確定它們是否確實屬于同一流程,是否應合并
9. 避免3行以下的塊;將其與相鄰內容和標題合并。
10. 排除菜單、Cookie通知、隱私政策和條款部分。
11. 對于所有級別標題(一級、二級和三級),確保完整保留細節:
? 一級標題:包括完整文檔標題、所有位置細節以及任何受眾角色(如有)。
? 二級標題:捕捉完整章節名稱以及任何限定細節或描述
? 三級標題:保留所有子主題細節,包括數字、日期和描述性文本
? 絕不截斷或縮寫任何級別的標題內容。
12. 多語言支持(關鍵)
? 多語言內容的處理規則與單語言內容完全相同。
? 不要跳過、釋義或翻譯非英文內容——所有語言都必須保留并分塊。
13. 多頁上下文處理
? 處理過程中確保頁面間的上下文連貫性
? 當內容跨頁拆分時,保持連貫性和適當的流程
? 無縫處理段落、列表或其他內容塊內的分頁符
? 跟蹤并保留跨頁邊界的語義關系
14. 布局元素
? 始終移除所有頁面的頁眉和頁腳
? 保留腳注和尾注,并與它們的引用適當鏈接
? 保持段落間距和縮進
? 通過適當排序內容處理多列布局
? 保留項目符號列表和編號列表的層級結構
15. 特殊內容類型
? 處理帶有OCR提取文本的掃描頁面,同時保持格式
? 當文本中出現圖像時,保留內容的結構完整性
? 提取并描述流程圖、圖表和其他視覺元素
? 如果是流程圖,逐步描述流程
? 從PDF中嵌入的圖像中提取與周圍內容相關的文本
? 如果圖像是截圖,將其排除
? 為不可提取的視覺元素添加適當的替代文本或描述
16. 常見問題(FAQ)分離
遇到FAQ內容時,將問答對拆分為單獨的塊,而非將它們分組為單個大塊。
處理表格時:
1. 使用適當的表格語法(豎線 | 和連字符 -)進行格式化。
2. 如果表格跨多個圖像,保持表格結構。
3. 當表格從前一個塊延續時(如最后一個塊中所示),嚴格保持與前一個塊建立的相同列結構、寬度和格式,以確保一致性。
4. 非常重要:為表格的每一行創建一個單獨的塊。每個表格行塊必須包含前一個塊或圖像中提到的表格標題,后跟該行的數據。
5. 對于每個表格行塊,重復完整的表格標題,以確保上下文獨立保留。
6. 如果發現某一行從前一個塊延續,繼續分割,不包含前一個塊的內容。
如何識別步驟和說明:
? 尋找描述過程的項目符號列表
? 尋找包含清晰序列詞(首先、接下來、然后、最后)的內容
? 尋找任何描述如何執行任務或流程的內容
? 尋找標題為“說明”“流程”“如何”“指南”等的章節
? 尋找明顯屬于同一過程的多個段落
內容延續標記
為每個塊添加一個延續標記:
對于每個塊,必須添加一個CONTINUES標記:
? [CONTINUES]True[/CONTINUES]:該塊是前一個塊的延續,或者是同一過程、說明集或流程的一部分。
? [CONTINUES]False[/CONTINUES]:該塊開始新內容,不是延續。
? [CONTINUES]Partial[/CONTINUES]:該塊可能與前一個塊相關,但不確定。
表格行的標記規則:
? 對于表格行塊,CONTINUES標記的設置如下:
– [CONTINUES]True[/CONTINUES]:僅當單元格內容從前一個塊/調用中的不完整單元格延續時
– [CONTINUES]False[/CONTINUES]:當行包含完整的單元格內容,不是從前一個塊延續時
– 標記應基于單元格內的內容,而非表格本身是否延續
步驟和說明的標記規則:
? 對于包含編號步驟、說明、流程或列表的塊:
– 處理跨多頁或多圖像的步驟/說明時:
? 如果步驟從前一個塊延續,使用[CONTINUES]True[/CONTINUES]
– 確定步驟是否完整時:
? 尋找明確的指示,如“最后一步”或總結性語言
– 所有包含同一流程中任何步驟的后續塊必須使用[CONTINUES]True[/CONTINUES]
– 包含步驟的塊唯一使用[CONTINUES]False[/CONTINUES]的情況是,它是一個完全不同的流程,與先前步驟無關
其他內容的標記規則:
? 對于直接從前一個塊延續的內容,使用CONTINUES=True
? 對于不屬于上述類別的一般內容,根據上下文運用最佳判斷
輸出要求:
1. 輸出塊列表,每個塊以完整的3級標題開頭,并移除所有空塊或無結果塊。
2. 使用以下精確格式:
[CONTINUES]True|False|Partial[/CONTINUES]
[HEAD]主標題 > 章節標題 > 塊標題[/HEAD]
塊內容
3. 塊的分隔方式如下:
[CONTINUES]True|False|Partial[/CONTINUES]
[HEAD]主標題 > 章節標題 > 塊標題[/HEAD]
塊1
[CONTINUES]True|False|Partial[/CONTINUES]
[HEAD]主標題 > 章節標題 > 塊標題[/HEAD]
塊2
提交前的最終檢查:
? 是否將所有編號步驟放在同一塊中?這一點至關重要!
? 是否將FAQ問答對拆分為單獨的塊,而非組合在一起?
? 是否正確識別了所有步驟序列并進行了合并(即使它們跨多頁)?
? 是否識別并跳過了所有目錄和索引?
? 是否保留并包含了所有非英文/多語言內容,并給予與英文內容同等的重視?
? 如果存在表格,是否遵循了表格的特殊說明,為每行創建一個單獨的塊并包含標題?
? 是否為表格行應用了正確的標記規則(基于單元格內容的完整性)?
? 是否將所有相關流程放在一起?
? 是否將所有列表作為單個單元保留?
? 是否保留了所有指導序列的完整性?
? 是否正確處理了從前一個批次延續的內容?
? 是否指明了延續到下一個批次的內容?
? 是否為每個塊添加了具有適當值的[CONTINUES]標記?
如果發現任何相關步驟被拆分到不同塊中的情況,在提交最終答案前立即將它們重新合并。
確保每個塊清晰、上下文完整,且沒有數據缺失。實驗設置
所提出的多模態批量處理框架與Gemini-2.5-Pro結合使用,以4頁為一批處理PDF文檔,確保上下文保留、語義連貫、文檔結構、表格完整性和跨頁關系。
文檔塊使用OpenAI的text-embedding-3-small進行嵌入,存儲在Elasticsearch向量數據庫中,通過top-k相似度搜索(k=10)檢索,并由GPT-4.1生成響應。GPT-4.1-mini用于評估。
從多個領域(技術手冊、財務報告、研究出版物、監管文件、商業演示)精心篩選了綜合數據集,以測試文檔結構復雜性、內容多樣性和視覺元素。
手動設計了真實查詢,以評估事實信息提取、跨表分析、流程理解、多章節推理和結構理解,確保在難度級別上的均衡覆蓋。
RAG性能主要使用準確率進行評估,GPT-4.1-mini作為自動評判器。塊質量通過手動定性分析評估,重點關注語義連貫性、結構保留和信息完整性。
評估

RAG系統性能對比
- RAG系統性能提升:與傳統方法相比,視覺引導分塊方法使RAG流水線性能顯著提升。
- 塊質量增強:手動檢查顯示,視覺引導方法在語義連貫性和結構保留方面有顯著改進。主要定性改進包括:完整保留多頁表格并適當重復標題、完整保留交叉引用系統、維持流程序列、正確處理嵌套組織結構。
- 塊粒度和可觀察性提高:視覺引導方法生成的塊數量約為傳統普通解析的5倍,表明其分割更系統、更符合上下文。這種更高的粒度增強了塊的可觀察性,并實現了更精確的檢索。
論文
[Vision-Guided Chunking Is All You Need: Enhancing RAG with Multimodal Document Understanding ]:https://arxiv.org/abs/2506.16035
本文轉載自??????AIGC深一度??

















