從OCR瓶頸到結(jié)構(gòu)化理解來有效提升RAG的效果 原創(chuàng)
OCR錯(cuò)誤在RAG流程中級(jí)聯(lián),將嚴(yán)重影響人工智能系統(tǒng)的性能。擁有2.56億個(gè)參數(shù)的SmolDocling能夠?qū)崿F(xiàn)對(duì)文檔的整體化處理,進(jìn)而生成結(jié)構(gòu)化輸出,有效提升了RAG的效果。
當(dāng)人們探討如何讓人工智能系統(tǒng)更好地從文檔中查找和使用信息時(shí),通常關(guān)注的是令人矚目的算法和前沿的大型語言模型。但問題是:如果文本提取的質(zhì)量很差,那么后續(xù)的努力都將付諸東流。本文探討OCR質(zhì)量如何影響檢索增強(qiáng)生成(RAG)系統(tǒng),尤其是在處理掃描文檔和PDF文件的常見場景時(shí)。
通過在RAG流程中探索光學(xué)字符識(shí)別(OCR)錯(cuò)誤的級(jí)聯(lián)效應(yīng),并使用SmolDocling(一種端到端處理文檔的超緊湊視覺語言模型)提出了一種現(xiàn)代解決方案。OHRBench研究報(bào)告(Zhang et al., 2024)提供了令人信服的證據(jù),表明即使是現(xiàn)代OCR解決方案也難以處理現(xiàn)實(shí)世界的文檔。展示了只有2.56億個(gè)參數(shù)的SmolDocling(Nassar等人,2025年)如何通過整體理解文檔而不是逐個(gè)字符處理,以輸出結(jié)構(gòu)化數(shù)據(jù),從而顯著提升下游RAG性能。
引言
“垃圾進(jìn),垃圾出”的原則不僅僅是一個(gè)口號(hào)——它是基于文檔的RAG系統(tǒng)的現(xiàn)實(shí)。當(dāng)人工智能社區(qū)對(duì)最新的嵌入模型和檢索算法充滿興趣,許多人忽視了一個(gè)基本的瓶頸:從現(xiàn)實(shí)世界的文檔中提取文本的質(zhì)量。
最近進(jìn)行的一些研究開始揭示這個(gè)問題。Zhang等人(2024)引入了OHRBench,表明當(dāng)前的OCR解決方案都無法勝任為RAG系統(tǒng)構(gòu)建高質(zhì)量知識(shí)庫的任務(wù)。這是對(duì)OCR技術(shù)應(yīng)用現(xiàn)狀的一個(gè)相當(dāng)糟糕的評(píng)價(jià)。
錯(cuò)綜復(fù)雜的OCR現(xiàn)狀
1.好消息與壞消息
好消息是,現(xiàn)代OCR技術(shù)已經(jīng)取得了長足進(jìn)步。谷歌的Tesseract現(xiàn)在已發(fā)展到4.0+版本,使用LSTM神經(jīng)網(wǎng)絡(luò),在干凈的印刷的文本上實(shí)現(xiàn)令人印象深刻的準(zhǔn)確率(Patel等人,2020年)。而壞消息是,出現(xiàn)了一些問題:
根據(jù)最近進(jìn)行的基準(zhǔn)研究,歷史文檔中20%或更高的OCR錯(cuò)誤率仍然很常見(Bazzo等人,2020)。Rigaud等人(2021)記錄了數(shù)字圖書館和專業(yè)文檔類型中的類似問題。
Hamdi等人(2022)的一項(xiàng)基準(zhǔn)研究對(duì)Tesseract、Amazon Textract和Google Document AI進(jìn)行了比較,發(fā)現(xiàn)Document AI提供了最佳結(jié)果,基于服務(wù)器的處理器(Textract and Document AI)的性能明顯優(yōu)于Tesseract,尤其是在背景嘈雜的文檔上。但即使是表現(xiàn)最好的OCR系統(tǒng),也難以應(yīng)對(duì)復(fù)雜的布局和歷史文件。
2.為什么OCR系統(tǒng)面臨多種困難和挑戰(zhàn)
OCR系統(tǒng)面臨的挑戰(zhàn)不僅僅是老舊的或褪色的文檔(這些文件會(huì)有問題)。現(xiàn)代OCR面臨幾個(gè)持續(xù)存在的問題:
(1)復(fù)雜的布局:多欄格式、表格和混合文本/圖像內(nèi)容使大多數(shù)OCR系統(tǒng)感到困惑。
(2)質(zhì)量參差不齊:即使是來自同一來源的文檔,掃描質(zhì)量也可能大不相同。
(3)語言和字體多樣性:非拉丁文字和不常見的字體會(huì)顯著降低性能。
(4)現(xiàn)實(shí)世界的干擾:咖啡漬、手寫注釋、郵票——這些讓文件變得真實(shí)的事物也讓它們難以閱讀。
正如OHRBench論文(Zhang et al., 2024)所述,語義噪聲和格式噪聲這兩種主要的OCR噪聲類型,被認(rèn)為是影響下游RAG性能的主要因素。
OCR錯(cuò)誤如何通過RAG級(jí)聯(lián)
1.多米諾骨牌效應(yīng)
當(dāng)OCR錯(cuò)誤進(jìn)入RAG流程時(shí),會(huì)發(fā)生以下情況——這并不美妙:
(1)分塊混亂:復(fù)雜的語義分塊算法試圖在文本中找到句子邊界,例如“出現(xiàn)嚴(yán)重癥狀的患者(Thepatient presentedwith severesymptoms)”,然后要么創(chuàng)建無意義的小塊,或者要么大量的文本。
(2)嵌入混淆:當(dāng)嵌入模型看到“diabetus”這種錯(cuò)誤拼寫而不是“diabetes”(糖尿病)時(shí),它可能會(huì)將該分塊放在完全不同的語義空間中。如果將這種情況出現(xiàn)在數(shù)千個(gè)文檔中,其向量空間將變得混亂不堪。
(3)檢索失敗:用戶搜索“糖尿病治療(diabetes treatmen)”,但是相關(guān)的數(shù)據(jù)塊被索引在“diabetus”或“diabetes”下——找不到匹配項(xiàng)。
(4)產(chǎn)生幻覺:由于上下文質(zhì)量不佳或缺失,LLM開始編造內(nèi)容來填補(bǔ)空白。
2.對(duì)RAG性能的實(shí)際影響
OHRBench的研究提供了發(fā)人深省的數(shù)據(jù)。他們發(fā)現(xiàn)OCR噪聲對(duì)RAG系統(tǒng)有顯著影響,在所有測試配置中均出現(xiàn)性能損。這不僅僅是幾個(gè)百分點(diǎn)的問題——而是系統(tǒng)變得無法有效地用于關(guān)鍵應(yīng)用程序。
Bazzo等人(2020年)在詳細(xì)調(diào)查中發(fā)現(xiàn),雖然OCR錯(cuò)誤在平均水平上可能看似影響不大,但單一查詢可能會(huì)受到很大影響。調(diào)查表明,從5%的錯(cuò)誤率開始,就會(huì)注意到顯著的影響,并且報(bào)告了在存在錯(cuò)誤的情況下索引術(shù)語數(shù)量的顯著增加——本質(zhì)上,OCR錯(cuò)誤會(huì)創(chuàng)建虛假的詞匯表,進(jìn)而導(dǎo)致索引規(guī)模膨脹。
建議:采用SmolDocling的現(xiàn)代解決方案
1.超越傳統(tǒng)的OCR
在經(jīng)歷了傳統(tǒng)OCR流程的各種挫折之后,采用了一種完全不同的方法,即使用SmolDocling,這是IBM Research和HuggingFace于2025年3月發(fā)布的一款超緊湊視覺語言模型(Nassar等人,2025年)。
這就是一切得以改變的原因:與傳統(tǒng)的OCR→后處理→分塊→嵌入流程不同。SmolDocling將文檔圖像直接處理成結(jié)構(gòu)化的輸出。它只有2.56億個(gè)參數(shù),其規(guī)模足夠小,可以在消費(fèi)級(jí)GPU上運(yùn)行,同時(shí)提供與大27倍的模型相媲美的結(jié)果。
2.SmolDocling架構(gòu)
該模型使用了一個(gè)巧妙的架構(gòu),它結(jié)合了:
- 直接處理文檔圖像的視覺編碼器(具有9300萬個(gè)參數(shù)的SigLIP)
- 生成結(jié)構(gòu)化輸出的語言模型(具有1.35億個(gè)參數(shù)的SmolLM-2變體)
- 有效壓縮視覺特征的積極像素洗牌策略
其特別之處在于,SmolDocling不只是提取文本——它從整體上理解文檔結(jié)構(gòu)。表保持表格的形式,代碼塊保持縮進(jìn),公式得以保留,元素之間的空間關(guān)系也被捕獲。
3.DocTags:實(shí)際有效的結(jié)構(gòu)化輸出
smoldoling的關(guān)鍵創(chuàng)新之一是DocTags,這是一種專門為文檔表示而設(shè)計(jì)的標(biāo)記格式。而不是轉(zhuǎn)儲(chǔ)非結(jié)構(gòu)化文本,可以得到結(jié)構(gòu)化的輸出與精確的位置信息:
1 <picture><loc_77><loc_45><loc_423><loc_135>
2 <other>
3 <caption><loc_58><loc_150><loc_441><loc_177>
4 Figure 1: SmolDocling/SmolVLM architecture. SmolDocling converts images of document pages to DocTags sequences.
5 </caption>
6 </picture>
7 <text><loc_58><loc_191><loc_441><loc_211>In this work, we outline how we close the gaps left by publicly available datasets and establish a training approach to achieve end-to-end, full-featured document conversion through a vision-language model.
8 </text>
9 <unordered_list>
10 <list_item><loc_80><loc_218><loc_441><loc_259>· SmolDocling: An ultra-compact VLM for end-to-end document conversion
11 </list_item>
12 <list_item><loc_80><loc_263><loc_441><loc_297>· We augment existing document pre-training datasets with additional feature annotations
13 </list_item>
14 </unordered_list>
15 <table>
16 <table_row>
17 <table_cell><loc_50><loc_320><loc_150><loc_340>Test Name</table_cell>
18 <table_cell><loc_151><loc_320><loc_250><loc_340>Result</table_cell>
19 <table_cell><loc_251><loc_320><loc_350><loc_340>Normal Range</table_cell>
20 </table_row>
21 <table_row>
22 <table_cell><loc_50><loc_341><loc_150><loc_361>Glucose</table_cell>
23 <table_cell><loc_151><loc_341><loc_250><loc_361>126 mg/dL</table_cell>
24 <table_cell><loc_251><loc_341><loc_350><loc_361>70-100 mg/dL</table_cell>
25 </table_row>
26 </table>
請(qǐng)注意每個(gè)元素如何包含指定精確邊界框坐標(biāo)(x1,y1,x2,y2)的<loc_X>標(biāo)簽。這意味著:
- RAG系統(tǒng)確切地知道每條信息出現(xiàn)在頁面上的位置(自動(dòng)圖像提取非常容易)。
- 表格以適當(dāng)?shù)膯卧襁吔缇S護(hù)其結(jié)構(gòu)。
- 列表、標(biāo)題和不同的文本類型被清楚地區(qū)分開來。
- 復(fù)雜的布局得以保留,而不是將其扁平化為文本流。
這種具有空間信息的結(jié)構(gòu)化格式意味著,RAG系統(tǒng)可以根據(jù)實(shí)際的文檔結(jié)構(gòu)和位置而不是任意的字符計(jì)數(shù)來智能地分塊。這種差異是巨大的——傳統(tǒng)的OCR可能會(huì)產(chǎn)生格式丟失的混亂文本,而SmolDocling則保持了使文檔有意義的語義結(jié)構(gòu)和空間關(guān)系。
4.實(shí)際表現(xiàn)
SmolDocling論文(Nassar等人,2025)中的數(shù)據(jù)講述了一個(gè)引人注目的故事。以下可以直觀了解一下這個(gè)擁有2.56億參數(shù)的模型與更大規(guī)模的模型相比的表現(xiàn):
圖1 文本識(shí)別(OCR)指標(biāo)
圖2 布局理解(mAP)
圖3模型特征
要點(diǎn):SmolDocling的精度比27倍于其大小的LLM更高,同時(shí)使用的內(nèi)存和處理頁面的時(shí)間減少了28倍,僅需0.35秒(在A100 GPU上每頁平均0.35秒)。對(duì)于RAG應(yīng)用程序來說,這意味著可以在性能適中的硬件上更快、更準(zhǔn)確地處理文檔,同時(shí)還能保留文檔結(jié)構(gòu),使智能分塊成為可能。
5.在RAG流程中實(shí)施SmolDocling
許多團(tuán)隊(duì)忽略了一個(gè)關(guān)鍵見解:數(shù)據(jù)準(zhǔn)備的質(zhì)量決定了RAG流程后續(xù)的一切。SmolDocling不僅僅是一個(gè)OCR工具——它從根本上改變了處理文檔的方式。
為什么結(jié)構(gòu)化提取會(huì)改變一切
傳統(tǒng)OCR提供的是一面文字墻。而SmolDocling提供是文檔的語義地圖。這種差異貫穿整個(gè)流程:
(1)智能分塊成為可能:通過DocTags提供元素類型和邊界,可以基于實(shí)際文檔結(jié)構(gòu)進(jìn)行分塊。表作為一個(gè)語義單元保持在一起。代碼塊保持其完整性。多段落可以保持連貫。不再盲目地削減文字?jǐn)?shù)量。
(2)上下文感知嵌入:當(dāng)分塊具有結(jié)構(gòu)時(shí),嵌入將變得更有意義。包含帶有標(biāo)題的表格的塊會(huì)創(chuàng)建與混雜在一起的相同文本不同的嵌入。語義關(guān)系得以保留,使檢索更加準(zhǔn)確。
(3)分層索引:位置標(biāo)簽(<loc_x1><loc_y1><loc_x2><loc_y2>)不僅僅是坐標(biāo)——它們代表文檔層次結(jié)構(gòu)。標(biāo)頭、子標(biāo)頭及其關(guān)聯(lián)內(nèi)容保持它們之間的關(guān)系。這支持復(fù)雜的檢索策略,可以根據(jù)文檔結(jié)構(gòu)確定優(yōu)先級(jí)。
重要的準(zhǔn)備過程
在實(shí)施SmolDocling時(shí),需要考慮分層的數(shù)據(jù)準(zhǔn)備:
- 文檔攝取:以適當(dāng)?shù)姆直媛侍幚砦臋n(144 DPI是最佳分辨率)。
- 結(jié)構(gòu)化提取:讓SmolDocling創(chuàng)建DocTags表示。
- 語義分塊:解析DocTags以基于元素類型創(chuàng)建有意義的塊。
- 元數(shù)據(jù)充實(shí):使用結(jié)構(gòu)信息向每個(gè)塊添加充實(shí)的元數(shù)據(jù)。
向量生成:創(chuàng)建受益于保留結(jié)構(gòu)的嵌入。
對(duì)RAG質(zhì)量的實(shí)際影響
對(duì)RAG質(zhì)量實(shí)際影響的差別是顯著的。在傳統(tǒng)流程中,搜索“季度收入數(shù)字”可能會(huì)返回碰巧包含這些單詞的隨機(jī)文本片段。使用SmolDocling準(zhǔn)備的數(shù)據(jù),將獲得包含這些數(shù)據(jù)的實(shí)際表格,其標(biāo)題和周圍的上下文保持完整。
這不是理論上的——當(dāng)從傳統(tǒng)的OCR轉(zhuǎn)換到保留結(jié)構(gòu)的提取時(shí),檢索精度提高了30%~50%。在數(shù)據(jù)準(zhǔn)備上的適當(dāng)投入會(huì)在RAG性能上獲得指數(shù)級(jí)的回報(bào)。
6.為什么這樣可以解決OCR問題
還記得討論的級(jí)聯(lián)錯(cuò)誤嗎?以下介紹SmolDocling如何解決這些問題:
- 不會(huì)傳播OCR錯(cuò)誤:由于它不是逐字符識(shí)別,而是從整體上理解文檔,因此不會(huì)發(fā)生許多傳統(tǒng)的OCR錯(cuò)誤。
- 從一開始就了解結(jié)構(gòu):表格、列表和格式在初始提取中就得以保留,因此分塊策略有豐富的信息可供使用。
- 統(tǒng)一處理:一個(gè)模型就可以處理文本、表格、公式和代碼,無需將多個(gè)專用工具的輸出整合在一起。
- 為現(xiàn)代文檔而設(shè)施:雖然傳統(tǒng)OCR在處理復(fù)雜布局時(shí)遇到困難,但SmolDocling經(jīng)過多種文檔類型的訓(xùn)練,包括技術(shù)報(bào)告、專利和表格。
從傳統(tǒng)OCR到SmolDocling等視覺語言模型的轉(zhuǎn)變,代表了如何處理RAG文檔的根本變化。可以從一開始就使用干凈、結(jié)構(gòu)化的數(shù)據(jù),而不是在事后與OCR錯(cuò)誤作斗爭,并試圖重建文檔結(jié)構(gòu)。
實(shí)施注意事項(xiàng)
1.何時(shí)使用SmolDocling而不是傳統(tǒng)OCR
實(shí)際上,雖然SmolDocling更具優(yōu)勢(shì),但它并不總是合適的工具:
在以下情況下使用SmolDocling:
- 正在處理各種文檔類型(報(bào)告、表格、技術(shù)文檔)。
- 文檔結(jié)構(gòu)對(duì)用例很重要。
- 需要處理表格、公式或代碼塊。
- 可以使用GPU(即使是消費(fèi)級(jí)的也可以)。
- 想要一個(gè)單一的解決方案,而不是使用多個(gè)工具。
在以下情況下堅(jiān)持使用傳統(tǒng)OCR:
- 只需要來自簡單文檔的純文本。
- 處理的文檔量非常大,其中0.35秒/頁太慢了。
- 有特殊需求(如歷史手稿處理)。
- 受限于僅使用CPU的環(huán)境。
2.監(jiān)控和質(zhì)量保證
即使SmolDocling有所改進(jìn),仍然需要進(jìn)行質(zhì)量檢查:
(1)針對(duì)已知模式的驗(yàn)證:如果處理發(fā)票,需要檢查是否提取了標(biāo)準(zhǔn)字段。
(2)交叉引用:對(duì)于關(guān)鍵數(shù)據(jù),考慮同時(shí)使用SmolDocling和傳統(tǒng)OCR進(jìn)行處理,然后進(jìn)行比較。
(3)用戶反饋循環(huán):建立用戶報(bào)告問題的機(jī)制。
結(jié)論:未來是多模態(tài)的
要點(diǎn):將OCR作為單獨(dú)的預(yù)處理步驟處理的日子已經(jīng)屈指可數(shù)了。像SmolDocling這樣的視覺語言模型展示了這樣的未來:文檔理解是整體進(jìn)行的,而不是通過碎片化的流程。
對(duì)于當(dāng)今構(gòu)建RAG系統(tǒng)的組織來說,這既是機(jī)遇也是挑戰(zhàn)。其機(jī)遇是顯而易見的:更好的文檔理解可以提高RAG的性能。而面臨的挑戰(zhàn)是,現(xiàn)在正處于兩種方法都有一席之地的過渡時(shí)期。
在此給出的建議是,可以從嘗試使用SmolDocling處理最棘手的文檔(即傳統(tǒng)OCR始終失敗的文檔)開始,不僅要衡量字符準(zhǔn)確性方面的改進(jìn),還要衡量端到端RAG性能的改進(jìn)。當(dāng)系統(tǒng)真正理解文檔結(jié)構(gòu),而不僅僅是提取字符時(shí),可能會(huì)驚訝地發(fā)現(xiàn)系統(tǒng)性能得以顯著提升。
如今的研究進(jìn)展迅速。Zhang等人(2024)在其文章中展示了當(dāng)前OCR對(duì)RAG的影響有多大。Nassar等人(2025)隨后提出了 SmolDocling 作為可行的解決方案。而且,很可能未來還會(huì)有更出色的進(jìn)展。
不過,用戶不要一味地等待完美。利用SmolDocling能夠有效處理90%文檔的RAG系統(tǒng),要比在理論上能處理100%文檔但在面對(duì)現(xiàn)實(shí)復(fù)雜性時(shí)卻失敗的RAG系統(tǒng)要有價(jià)值得多。
最終,用戶并不關(guān)心開發(fā)人員面臨的技術(shù)難題。他們只希望從文檔中獲取準(zhǔn)確的答案。而借助像SmolDocling這樣的方法,將會(huì)更接近于實(shí)現(xiàn)這一承諾。
參考文獻(xiàn)
- Bazzo, G.T., Lorentz, G.A., Vargas, D.S., & Moreira, V.P. (2020). "Assessing the Impact of OCR Errors in Information Retrieval." In Advances in Information Retrieval. ECIR 2020. Lecture Notes in Computer Science, vol 12036. Springer, Cham.
- Chen, K., et al. (2023). "LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking." Proceedings of the 31st ACM International Conference on Multimedia.
- Hamdi, A., et al. (2022). "OCR with Tesseract, Amazon Textract, and Google Document AI: a benchmarking experiment." Journal of Computational Social Science, 5(1), 861-882.
- Lewis, P., et al. (2020). "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks." Advances in Neural Information Processing Systems, 33, 9459-9474.
- Nassar, A., et al. (2025). "SmolDocling: An ultra-compact vision-language model for end-to-end multi-modal document conversion." arXiv preprint arXiv:2503.11576.
- Neudecker, C., et al. (2021). "A Survey of OCR Evaluation Tools and Metrics." Proceedings of the 6th International Workshop on Historical Document Imaging and Processing, 13-20.
- Patel, D., et al. (2020). "Improving the Accuracy of Tesseract 4.0 OCR Engine Using Convolution-Based Preprocessing." Symmetry, 12(5), 715.
- Rigaud, C., et al. (2021). "What Do We Expect from Comic Panel Text Detection and Recognition?" Multimedia Tools and Applications, 80(14), 22199-22225.
- Shen, Z., et al. (2021). "LayoutParser: A Unified Toolkit for Deep Learning Based Document Image Analysis." Proceedings of the 16th International Conference on Document Analysis and Recognition (ICDAR).
- Zhang, J., et al. (2024). "OCR Hinders RAG: Evaluating the Cascading Impact of OCR on Retrieval-Augmented Generation." arXiv preprint arXiv:2412.02592.
原文標(biāo)題:??From OCR Bottlenecks to Structured Understanding??,作者:Pier-Jean MALANDRINO
