把扫描资料交给 AI,总结结果很顺,但原图里的“未批准”却被识别成“已批准”,后面的分类、统计和建议就可能一起出错。理解 OCR 的意义,是先知道输入在哪一步变成了文字,再决定应该怎样检查。

本文面向需要整理扫描通知、纸质清单和图片表格的普通用户。你会完成一套原图检查、文字转写、字段核对和交付留痕的小练习,不需要部署服务器。文中的识别结果是人为设计的教学样本,没有调用 OCR 引擎或大模型,也不代表某款产品的准确率。

一、OCR、文字提取和 AI 理解有什么区别

OCR 是光学字符识别,把图像里的字符转换为机器能够处理的文字。照片、扫描页和截图都是可能的输入。它主要回答“画面里写了什么”,并不自动保证内容真实、数字合理或表格关系正确。

PDF 文字提取读取文件里已经存在的文字信息。由办公软件直接导出的 PDF,往往保留字符;纯扫描 PDF 可能只有图片;经过 OCR 的扫描 PDF 还可能叠加一层不可见文字。因此,同样能看见一页通知,背后的结构可能完全不同。

AI 理解是在文字或图像基础上做分类、归纳、问答和解释。有些产品把识别与理解封装在同一个入口,用户感觉只做了一步,但验收时仍要分清:原字识别错了,还是原字正确、总结却写错了。

能复制文字,不代表复制出来的文字可靠。 隐藏文本层可能来自早先的错误识别。pypdf 官方文档也明确说明,它不是 OCR 工具,无法从图片里识别文字,更不能替你发现已有 OCR 层中的识别错误。

二、先用三步判断文件类型

第一步,在阅读器里尝试选中一行文字,并粘贴到纯文本编辑器。检查顺序、标点和关键数字,不只看“能不能粘贴”。双栏页面可能出现左右列交叉,这是阅读顺序问题,不一定是字符识别问题。

第二步,把页面放大,观察文字边缘和图片背景。整体像一张照片、带阴影或纸张纹理,是扫描的线索;但只凭外观不能断定是否存在文字层,应结合复制结果判断。

第三步,从不同位置抽查:第一页、中间页、末页,以及包含表格或横向文字的页面。一个文件可能混合数字原生页和扫描页,不能因为第一页能提取,就让后面全部跳过识别。

如果文字提取已经完整正确,就没有必要为了“使用 AI”把所有页面再次截图识别。重复转成图片可能丢失原有字符、字体或定位信息,还会增加一次错误来源。

OCR任务中数字PDF、纯扫描PDF和带文字层扫描PDF的分流示意

三、识别前先处理图片质量

准备一张自己有权使用的清晰样本,保留原始文件,另存处理副本。照片应尽量正对纸面,避免手指遮挡、反光和折痕压字。页边阴影不能遮住正文,裁剪也不要切掉表头、单位或页码。

Tesseract 的质量改进文档讨论了分辨率、二值化、噪声和倾斜等因素,并指出它对足够分辨率、文字行较正的图像更友好。这是具体引擎的实践指导,不能推导出所有产品在某个 DPI 下都保证正确。把低清图片简单放大,也不会凭空恢复已经丢失的笔画。

预处理一次只改一个主要因素,例如先校正倾斜,再比较识别结果。过强的去噪可能抹掉小数点,过度增白可能让浅色印章消失。保留调整前后版本,才能判断变化究竟帮了忙还是造成了新的遗漏。

对中文资料,还要核对工具是否支持对应语言和版式。不要在不确认语言配置的情况下,把识别不出的字直接交给模型“猜一个合理的”。需要开通在线工具时,从官方入口进入,按实际账号可用功能操作;本练习不指定付费套餐,也不虚构统一按钮名称。

四、先转写,再整理成字段

本例用一份虚构的社区器材清单作为材料。为了方便手工复核,原始信息只有三条:

  1. A01,阅读灯,数量 10,状态“待检查”。
  2. A02,折叠椅,数量 08,状态“可借用”。
  3. A03,收纳盒,数量 12,状态“未归还”。

把清单拍成图片,或用自己生成的排版样本练习。先要求工具逐行转写,保留编号、原始数字和状态,不立即写结论。“08”在数量字段可解释为八,但编号中的前导零通常不能随意删除,所以原始转写与规范化字段最好分开保存。

请逐行转写这张器材清单,不总结、不补全。
保留编号、物品、数量原文和状态原文。
看不清的字符写为[不清楚],不要猜测。
每一行保留原图位置说明,例如上方第二行。
转写完成后另列待人工确认项,暂不计算合计。

检查转写稿后,再提出第二个任务:按编号、物品、数量、状态、待确认项整理。这样能保留“识别错误”和“结构化错误”的边界。直接让模型输出一段流畅总结,会把两类问题混在一起,难以追查。

如果用在线服务,不要为这次练习上传真实身份证件、客户联系方式或未经允许的内部资料。使用虚构样本也能验证流程,等组织明确允许的数据范围和保存方式后,再处理实际工作材料。

五、用三种错误练习定位问题

人为构造一份有问题的转写稿:A01 的数量被写成“1O”,A02 的数量正确,但状态被放到了 A03 行,A03 的“未归还”被写成“已归还”。这不是实际引擎输出,而是一组故意设置的检查题。

“1O”属于字符层错误:大写字母 O 和数字 0 混淆。不能只因为数量字段应该是数字,就静默替换所有 O。应回看原图,确认该位置确实是 0,记录修改依据。

状态跑到下一行属于结构层错误:每个字可能都对,但字段和记录的对应关系错了。只做拼写检查发现不了,必须逐行对照编号与位置。遇到跨页表格,还要留意续页表头、合并单元格与空白继承规则。

“未”变成“已”会改变业务含义。它在长文里只占一个字,影响却可能超过十个普通标点错误。重点字段要单独验收,不能被总体识别率掩盖。 数量、金额、日期、否定词、版本和状态通常应列为必查项。

器材清单中的字符混淆、跨行错位和否定词变化三类检查示意

六、怎样记录准确性才有用

最直接的练习是做一张人工核验记录,每条包含原图位置、识别文本、确认文本、错误类型、修改人和待确认原因。对三条教学数据,全部逐项检查即可,不需要先设计复杂指标。

若以后要比较两个识别方案,可以固定相同的一组样本,再记录关键字段完全正确的条数。假设十个编号里九个完全一致,编号字段完全匹配率就是 9 除以 10,即 90%。这只描述这十个编号,不能宣传成整个产品识别准确率 90%。

字符错误率常涉及替换、删除和插入的编辑次数。计算前需要约定空格、换行、标点和大小写怎样处理,不能一边保留全部字符、一边删除所有标点后直接比较。中文、数字和多语言混排也应使用一致口径。

即使工具提供置信分数,也不要把它直接当作“这条业务信息正确的概率”。不同工具可能给出不同定义和粒度;高分文本仍可能来自错误表格行,低分文本也可能人工确认无误。应结合本任务的复核记录设置处理方式,而不是照搬一个通用阈值。

七、把结果接到 AI 总结之前

把已经核验的三条记录交给 AI,只要求生成“可借用器材、待检查器材、未归还器材”三组。要求保留编号,并把待确认项单独列出。生成后检查每条是否只出现一次,状态有没有被改写,数量是否仍与核验稿一致。

对没有确认的内容,可以保留空值与原始疑点,不要为了表格看起来整齐而填入猜测。总结文案也应保留“待确认”属性,不能把“疑似十件”变成“共有十件”。

最终保存三份材料:原始图片、核验后的结构化记录、供阅读的总结。它们各有用途:原图用于追溯,记录用于计算和检查,总结用于快速阅读。以后发现错误,能回到对应行修改,而不是重新猜一遍全文。

八、常见问题与交付边界

复制结果为空,先确认页面是否只有图片;乱码可能与字体编码有关,不能直接认定原文没有内容。识别顺序混乱时,先按栏或区域处理,再检查拼接顺序。表格数据少一行时,检查是否把浅色行、页脚或合并单元格跳过了。

当图片已经糊到人眼也难确认,应优先重拍或索取原文件。反复改提示词不能恢复不存在的信息。处理多页材料时,先用包含难页的小样本验证,再扩大范围,并保留失败页清单。

完成这套练习的标准,是能够说明每条信息来自哪里、哪些被修正、哪些仍不能确认。OCR 解决的是文字进入系统的问题,后面的字段对应、事实理解与业务决定仍需要分别检查。

官方参考资料