OCR 是光学字符识别(optical character recognition)的缩写,指读取图片中文字的软件。收据的照片、扫描的合同、用扫描仪生成的 PDF,都是文字的图片。计算机无法在图片里搜索,也无法从中复制文字。OCR 会查看这张图片,再把上面的字写成文本。
这个想法已有几十年历史,很长一段时间里只能处理干净的英文印刷体。变化在于读取者。现代 OCR 模型像人一样读整页,连同分栏、表格、印章和多种语言。正因如此,OCR 如今嵌在会计、客户开户和搜索工具里。
OCR 如何工作#
- 清理图像页面会被拉正,阴影、噪点和不均匀的光照也会减弱。一张拍歪的手机照片,由此变得更接近平整的扫描件。
- 识别版面读取器先判断页面上有什么,例如标题、两栏正文、表格,以及盖在签名上的印章。它还会确定人阅读这些内容的顺序。
- 读取字符每一行被转换成字母、数字和符号。对泰语来说,这还包括叠在辅音上方和下方的元音与声调符号。
- 返回文本结果可以是纯文本,可以是保留标题和表格的 Markdown,也可以是程序能够处理的结构化块。
传统 OCR 在第三步靠形状匹配逐个识别字符,所以遇到少见的字体和质量差的扫描件就会出错。现代模型把整行和整页放在一起读。它会借助上下文,就像人根据前后的词认出一个模糊的词。
OCR、AI OCR 与文档字段提取#
这三个术语描述的是同一项工作的三个深度。
| 术语 | 得到什么 | 示例 |
|---|---|---|
| OCR | 页面上的文字 | 一封扫描的信件变成可以搜索和复制的文本 |
| AI OCR,也叫文档 OCR | 文字及其结构,即标题、段落、表格和阅读顺序 | 一份财务报告变成表格完整的 Markdown |
| 文档字段提取 | 您指定的命名字段,以数据形式返回 | 一张税务发票变成发票号码、日期、销售方税号和总金额 |
提取这一步省去了手工录入。您列出需要的字段,每个字段要么返回从页面读出的值,要么为空并附上无法读取的原因。Paxa Document Extraction 为泰语文档完成这项工作。
企业用 OCR 做什么#
每一行的模式都一样。有人在重新录入已经印在纸上的内容,这种录入既慢,又会带来错误。OCR 让页面本身直接成为数据的来源。
为什么泰语比英语难读#
英语 OCR 先成熟起来,是因为英语容错度高。它把字母一个接一个排在同一行上,词与词之间有空格。泰语打破了其中的每一条假设。
- 符号层层叠放。一个泰语音节可以在辅音上方或下方带一个元音,再在上面加一个声调符号。丢掉一个小符号,词就变了。
- 词与词之间没有空格。一行泰语是一串不间断的字符,猜错词边界的读取器会返回根本不存在的词。
- 数字有两套。官方文件会把泰文数字和阿拉伯数字并列印出,有时就在同一行。
- 年份使用佛历。落款 2569 年的文件出自公历 2026 年,按原样存储年份的系统会差出 543 年。
- 现代字体省去了字母上的小圈。在这类无圈字体里,好几个泰文字母长得像拉丁字母,例如 ร 和 S、พ 和 W,能力弱的读取器会把它们弄混。
- 泰语和英语同处一行。公司名称、单位和产品编码以拉丁字母夹在泰语文本中。
能顺利读完英文页面的工具,在上面任何一点上都可能出错。如何从泰语 PDF 和扫描件中提取文字展示了这些错误的样子。
如何拍摄供 OCR 读取的页面#
- 把纸张放平,手机举在正上方。
- 使用均匀的光线,别让手和手机的影子落在纸上。
- 让纸张占满画面,四个角都要拍进去。
- 一张照片只拍一页。
- 有原始 PDF 就直接发送原文件。把 PDF 打印出来再扫描,比原文件差了两道工序。
选择 OCR 工具前要检查什么#
用您自己状况最差的那一页来试。干净的样例页说明不了多少问题,一张皱巴巴的热敏收据却能说明很多。
- 符号和数字。拿一行带叠放声调符号的文字和一行泰文数字,与原页面逐一对照。
- 表格。表格应当以表格形式返回,每个数字仍在原来的列中。
- 阅读顺序。在双栏页面上,文本应当先读完一栏,再读另一栏。
- 文件。确认单次上传接受哪些格式,以及多少页。
- 输出。Markdown 适合人和语言模型阅读,结构化块适合程序处理。
- 计价单位。多数服务按页收费,付费之前就应当知道页数。
OCR 的费用#
OCR 按页计价。Paxa OCR Lite 是我们自研的模型,每页 6.5 积分,无论页面上印了什么。一张照片算作一页。
| 工作 | 积分 | 费用 |
|---|---|---|
| 一页 | 6.5 | $0.0065 |
| 50 页的报告 | 325 | $0.33 |
| 1,000 页 | 6,500 | $6.50 |
新账户的 100 免费积分可以读取 15 页。单次上传接受最多 50 页、10 MB 的文件,支持的格式为 PDF, PNG, JPEG, WEBP。
Paxa Document Extraction 在字段列表不超过 50 个末级字段时每页 13 积分,更长的列表每页 19.5 积分。页面读取已包含在内。
常见问题#
OCR 和扫描是一回事吗?#
扫描仪或手机摄像头为页面生成一张图片,OCR 负责读取这张图片。没有经过 OCR 的扫描 PDF 只是一叠图片,所以里面的文字无法选中。
OCR 能识别手写吗?#
在任何 OCR 工具里,印刷体都比手写体可靠得多,工整的正楷也比匆忙写下的便条好读。在工作流程依赖手写识别之前,先拿几页您自己的手写文件试一试。
为什么从 PDF 复制出来的泰语是乱的?#
有些 PDF 是扫描件,里面没有文字。另一些带有文字层,但复制出来时泰语的符号会错乱。对页面图像运行 OCR 可以同时解决这两种情况,PDF 指南解释了其中的原因。
用您自己的页面试一试#
下一步#
- 在 OCR 页面查看一张泰语税务发票被逐个字段读取的结果。
- 如果文本要交给语言模型,请阅读如何把泰语文档交给 LLM。
- 如果文本要用于搜索,请阅读如何把泰语 PDF 做成搜索索引。