1. 引言:OCR——RAG系统中的关键问题
当我们将一个包含扫描页面的PDF或一张报告截图扔给RAG系统时,我们期望它能“读懂”里面的内容。这个“读懂”的第一步,就是OCR。然而,OCR过程并非100%准确,它受到图像质量、文字布局、字体、语言等多种因素的影响。
一个看似微不足道的OCR错误,比如把revenue
识别成reuenue
,或者把$5,200,000
识别成S,ZOO,OOO
,就会在RAG系统中引发灾难性的连锁反应:
- 索引污染:错误或乱码的文本被向量化,形成错误的“语义坐标”。
- 检索失败:当用户查询“revenue”时,由于索引中是“reuenue”,基于关键词或向量的检索都可能失败。
- 上下文误导:即使侥幸被召回,错误的上下文也会严重误导LLM,导致其进行错误的计算或得出荒谬的结论。
因此,优化OCR流程,是提升处理扫描文档和图片类知识源的RAG应用性能的最高杠杆点之一。
2. 问题剖析:一个OCR错误如何影响整个RAG链条
场景:解析扫描版财务报表
假设我们有一张扫描质量一般的财务报表截图,内容如下: