OCR 错误会如何影响多模态问答?
简化版
OCR 错误会沿“检测—识别—阅读顺序—检索—推理”链路放大:一个金额字符识错,可能让检索漏掉证据,再让模型基于错误文本自信作答。治理不能只看字符错误率,要保留文本框、置信度和原图证据,对关键字段做视觉复核、规则校验与低置信度拒答,并用端到端问答指标衡量实际影响。
详细版
OCR 的影响至少有三类:字符替换使实体或数字变错,漏检使证据消失,版面与阅读顺序错误会把正确字符拼成错误语义。并且错误代价不均匀,把“100.00”识成“1000.00”只错一个字符,却可能造成严重业务事故;普通虚词错一个则未必影响答案。
工程上应把 OCR 输出作为带不确定性的证据,而不是无条件真值。索引时同时保存文本、Bounding Box、页码、置信度和图片 crop;检索可做模糊匹配与视觉召回,生成前后执行金额、日期、校验和等规则,关键答案附页码与区域。评测要同时看 CER/WER、字段准确率、证据召回率和端到端 QA 正确率。
页面 -> 文字检测 -> 字符识别 -> 阅读顺序 -> 检索 -> VLM/LLM -> 答案校验
漏框 错字 串行 漏召回 错推理
完整版教学
一、OCR 不是一个单点模块
OCR 流程通常包含版面检测、文本行检测、方向校正、字符识别、阅读顺序恢复和结构解析。最终交给问答系统的一段文本,可能已经经历多次变换。任何一步出错都会改变下游看到的证据,因此只用识别模型的字符准确率无法描述整个系统。
例如两栏合同若阅读顺序交叉,即使每个字都识别正确,拼出的句子仍可能把“甲方义务”和“乙方义务”混在一起。表格中若单元格归属错误,数值本身正确也会绑定到错误月份。面试回答应把错字、漏字和结构错分开讨论。
二、用 CER 理解局部错误
字符错误率基于编辑距离计算替换、删除和插入:
CER = (S + D + I) / N
若真值“应付金额100.00元”共 10 个字符,OCR 把一个 . 漏掉并把 1 识成 7,则至少有 2 次编辑,CER 为 20%。但 CER 是平均指标,不理解语义代价;“100.00”变成“70000”对金额问答的伤害远大于标题中一个标点错误。
易错点:低 CER 不等于低业务风险。关键数字、单位、否定词和实体名应按字段加权,并单独做精确匹配评估。
三、错误为何会被检索放大
文档问答通常先切块再建索引。关键词 OCR 错误可能让稀疏检索完全失配,文本向量也会因实体变化而偏移;若证据没有进入 Top-k,后面的语言模型能力再强也无法引用正确事实。错误还会影响切块边界,把标题与正文拆开或把两张表拼在一起。
假设正确证据为“合同编号 AB-1058”,OCR 结果是“AB-I058”。用户按编号精确查询时,BM25 可能零召回;模糊编辑距离、字符 n-gram 或同时索引图像区域能找回候选。诊断时应分别记录 retrieval recall@k 与“在已给正确证据时的回答准确率”,区分 OCR/检索失败和生成失败。
四、数字与表格为何最危险
数字字符形状相近,0/O、1/I/l、5/S 常混淆;小数点和负号面积很小,又容易漏检。表格还依赖行列结构,一个单元格错位会让数字绑定到错误表头。因而财务、票据和医疗文档不能让 LLM 仅凭线性 OCR 文本猜测。
| 错误 | 示例 | 下游后果 | 防护 |
|---|---|---|---|
| 字符替换 | 0→8 | 金额错误 | 字段级视觉复核 |
| 符号漏检 | -12→12 | 正负含义反转 | 格式与范围规则 |
| 行列错位 | 2025 数值挂到 2024 | 时间归属错误 | 表格结构模型 |
| 单位丢失 | 20 mg→20 | 无法解释数值 | 单位词典与邻域 crop |
五、把置信度传到答案层
OCR 系统应输出 token 或行级置信度,而不只是纯文本。问答层可以把低置信字段连同原图 crop 交给 VLM 二次读取;多个候选字符可保留为 lattice,而不是过早只选一个。答案置信度要综合 OCR、检索、生成和规则校验,不能直接拿语言模型概率替代。
例如金额字符置信度为 0.62、证据检索分数正常、规则发现“税额大于含税总额”,系统应触发复核或拒答。若把低置信字符隐藏起来,LLM 可能凭语言流畅性补成一个看似合理但错误的值。保留不确定性使下游有机会采取不同路径。
六、端到端补救策略
第一层通过旋转校正、去噪和分辨率控制改善输入;第二层用领域词典、语言模型纠错,但要防止把罕见真值改成常见词。第三层用原图与 OCR 双路输入,让 VLM 在关键区域复核。最后用业务规则、数据库校验或人工审核封住高风险输出。
OCR 高置信 + 规则通过 -> 自动回答
OCR 中置信 -> VLM 查看局部原图复核
OCR 低置信或规则冲突 -> 扩大 crop / 换 OCR / 人工处理
纠错必须保留原始文本与修改记录。否则出现事故时无法判断是识别器错了、纠错器改错,还是 LLM 编造。关键字段还应把答案定位回页码和坐标,允许用户核对视觉证据。
七、怎样设计分层评测
组件层测检测 Recall、CER/WER、阅读顺序和表格结构;任务层测字段 Exact Match、检索 Recall@k、问答 F1;业务层测严重错误率、人工转交率和处理时延。评测集需包含扫描倾斜、印章遮挡、低对比度、小数点、手写和复杂表格等真实困难样本。
可对 500 份文档注入三档合成噪声:CER 1%、5%、10%,观察证据召回和 QA 准确率的退化曲线。若 CER 从 1% 到 5% 时 QA 从 88% 跌至 60%,说明系统缺少容错;若给定真值文本后 QA 仍低,则主要瓶颈不在 OCR。线上还要按 OCR 版本和文档类型监控漂移。
八、常见误区与追问
- 误区:OCR 准确率 99% 就足够。 平均准确率可能掩盖金额、否定词等少量高风险字符。
- 误区:让 LLM 自动纠错一定更好。 语言先验可能把罕见编号和姓名改成常见但错误的内容。
- 误区:端到端 VLM 可以完全忽略 OCR。 小字密集文档中,显式 OCR 仍有可搜索、可审计和成本优势。
- 追问:如何定位答案错在哪一层? 对照原图、OCR、Top-k 证据和生成结果,并做“真值 OCR/真值证据”替换实验。
- 追问:OCR 置信度怎么用? 用于路由复核、加权检索和拒答,但先要在领域数据上校准。
- 追问:为什么不能只测 CER? CER 不评价布局、检索和推理,也没有反映不同字符的业务损失。
九、加强记忆
OCR 错误传播可记成“看漏、认错、排乱、搜不到、答偏了”。治理时保留坐标与置信度,让原图证据贯穿检索和回答;对数字、单位、否定词做加权与规则复核;评测从 CER 一直连到 QA 和严重事故率。这样才不会用一个漂亮的平均识别率掩盖端到端风险。