合成数据能将泰语OCR带向何方?揭秘达到1.24%中位字符错误率的秘诀
参考论文: How Far Can Synthetic Data Take Thai OCR? — Kunat Pipatanakul
合成数据能将泰语OCR推向何方?
这里有一个谜题,足以让任何训练文档视觉模型的人感到困扰:取一些公开的英文文档,擦除其文本,将大部分标签翻译成泰语,再将它们渲染回原始区域,然后训练一个OCR识别器。接着,取真实的泰语文档,擦除其文本,将其泰语OCR标签渲染回这些原生布局中,并训练相同的模型架构。
哪种模型在真实的泰语文档上表现更好?
如果你猜是原生泰语文档,那么如果你的模型是一次性读取整个页面,你就对了。如果你的模型处理的是裁剪区域,那么在这个实验中你就错了。在裁剪级训练下,使用重建的英文源数据训练的模型击败了使用重建的泰语源数据训练的模型,在预留的印刷页面上,其中位数字符错误率(CER)为5.52%,而后者为15.59%。
这种反转是Wayu Research和Paxa Labs的Kunat Pipatanakul撰写的技术报告《合成数据能将泰语OCR推向何方?》(How Far Can Synthetic Data Take Thai OCR?)中令人惊讶的发现之一。该论文没有将合成的“真实感”视为单一要素,而是将排版、空间布局、非文本上下文和字形变化分开,然后测试它们的贡献如何随训练设置而变化。
实际成果是Wayu-Paxa-OCR-Zero,这是一个基于PaddleOCR-VL-1.6改编的9亿参数模型,使用了45,723个合成页面。在报告的评估中,该改编将印刷页面上的中位数字符错误率从6.64%降至1.24%,将手写错误率从74.87%大幅降至20.55%,并在所有五个评估集上击败了Typhoon OCR v1 7B。
“纯合成”的描述需要明确的边界:该改编不使用任何真实的泰语文档页面作为源图像,也不使用来自这些文档的页面级OCR监督。它确实使用了真实的手写字形和iApp手写裁剪图。它还基于现有的预训练检查点构建。
让我们深入探讨是什么让这种合成配方奏效,其收益在哪里停止,以及这些发现对文档处理流程意味着什么。

挑战文档模型的脚本
该论文从语言覆盖的不均衡性出发。开放的文档模型、数据集和基准测试主要集中于英语和中文,而泰语缺乏可靠且公开可用的文档标注数据。
以下三个细节使得监督问题在此处尤为关键:
- 多级文本布局:泰语的元音和声调符号可能占据多个垂直层级。渲染过程必须考虑完整的字形文本,包括这些符号。
- 不完善的提取标签:PDF 文本提取和 OCR 伪标签可能会遗漏字符、重新排列组合标记或破坏阅读顺序。人工校正成本高昂。
- 外观差异:印刷字体和真实手写体会让识别器接触到不同的字符形状。实验测试了字体多样性和采样的手写字形是否有助于弥合这一差距。
合成重建提供了一个有用的优势:渲染器知道它所放置的文本以及所使用的区域。这为训练流程提供了与生成内容直接绑定的标签,而无需人工转录每一页成品页面。
但精确的生成标签并不能保证成功迁移。模型可以从合成页面中学习,但在处理真实文档时仍可能遇到困难。因此,论文的核心问题非常明确:生成页面的哪些属性真正有帮助?
它还区分了合成监督的两种含义。一些受控实验使用 OCR 标签重建真实的泰语页面。最终的 Wayu-Paxa-OCR-Zero 配方则使用公共英语源文档,并在生成过程中引入泰语文本和手写材料。
这些是不同的数据条件,将它们分开对于理解结果至关重要。
受控重建:剖析合成页面
Pipatanakul 提出了一种原地重建流水线,在论文中链接为 docaug。该流程以源页面和标注的文本区域为起点,擦除或修复原始文本像素,并将替换标签重新渲染到其对应的区域中。
这种方法使实验能够控制以下五个属性:
- 源域:重建来自 DocLayNet、Crello 和 PubTabNet 的公共英文页面,与真实的泰语印刷页面进行对比。
- 非文本上下文:保留源背景和非文本元素,与将它们替换为白色但保留文本区域进行对比。
- 排版多样性:从测量的泰语字体配置中采样,与使用单一字体进行对比。
- 二维布局:保留原始排列,与按阅读顺序垂直堆叠区域进行对比。
- 手写笔画:渲染手写字体,与从字形库中采样真实字符实例进行对比。
域外数据集将大多数源文本翻译为泰语。剩余的 7.61% 的页面保留其英文标签,以近似真实泰语印刷集合中的英语语言比例。
文本适配是该过程中的关键部分。流水线使用 HarfBuzz 对每个完整的区域级标签进行排版,采样字体和字号,并缩小字号直到文本适合其原始区域。如果标签在最小可接受尺寸下仍然溢出,则整个页面被拒绝。
结果是提供了一种受控的方式来改变训练页面的外观,同时保留已知标签和区域几何结构。
意外发现:什么重要,什么只是噪声
作者以 Qwen3-VL-2B-Instruct 作为实验测试平台,对比了页面级(page-level)与裁剪级(crop-level)训练。源属性消融实验逐步移除了非文本上下文、字体多样性,以及二维布局。
这一顺序至关重要:最后一行结合了上述三种移除操作。其与完整重建之间的差异不能仅归因于布局。
1. 非文本上下文在此处影响甚微
当重建过程将背景、图表、线条和扫描伪影替换为白色画布(White-layout)时,中位性能变化相对较小。在三个评估集和两种训练设置下,中位字符错误率(CER)的变化幅度不超过 1.62 个百分点。
在印刷体 Heldout 页面上,移除非文本上下文使页面级中位 CER 从 5.07% 变为 4.78%,裁剪级中位 CER 从 5.52% 变为 4.86%。
字符加权均值的分布则不太均匀。对于页面级印刷体识别,该值从 16.90% 上升至 21.05%,尽管中位数有所改善。而在裁剪级训练下,该值从 19.09% 下降至 16.69%。
由此得出的结论比“背景无关紧要”更为狭窄:在这些重建实验中,保留的非文本上下文并未带来一致的 CER 收益。该研究并未单独测试每一种模拟的纸张损坏、光照效果或文本本身的退化情况。
2. 字体多样性有助于手写体迁移
作者对 8,000 个公开泰语 PDF 页面进行了分析,发现字体分布高度集中。在观察到的 693 个字体族名称中,前十大字体占据了泰语字符的 80.9%:
- Cordia New: 18.6%
- Angsana New: 15.3%
- TH Sarabun PSK: 14.7%
- TH Sarabun New: 14.2%
- Browallia New: 6.9%
- TH Sarabun IT๙: 4.7%
- DB ThaiText X: 2.4%
- Cordia UPC: 1.9%
- Tahoma: 1.1%
- DB FongNam X: 1.1%
- 其余 683 个字体族合计: 19.1%
相对于白色背景变体,用单一字体 TH Sarabun New 替换这种多样化的字体分布,在页面级训练下使印刷体中位 CER 增加了 0.56 个百分点,在裁剪级训练下增加了 2.15 个百分点。
手写体的损失更大。在更广泛的手写体数据集上,页面级训练下的中位 CER 从 43.16% 上升至 49.86%,增加了 6.70 个百分点。在裁剪级训练下,中位 CER 从 50.77% 上升至 62.13%,增加了 11.36 个百分点。
简单手写体(Easy Handwriting)也显示出相同趋势,分别增加了 9.48 和 13.37 个百分点。
该实验支持一个实用发现:字体多样性有助于迁移到手写体。但它并未确切建立模型学习了哪些内部字符特征,也未证明仅选择少量最常见字体就能复现完整字体分布的效果。
3. 扁平化布局进一步损害手写体表现
如果将剩余的文本区域按阅读顺序垂直堆叠,会发生什么?研究人员通过 Linear-white-single-font 对此进行了测试,该设置基于白色背景和单一字体的条件构建。
在手写体数据集上,裁剪级中位 CER 从 62.13% 上升至 70.17%。在页面级训练下,中位 CER 从 49.86% 上升至 58.40%。简单手写体的中位数也均有所恶化。
印刷体识别的表现则不同。裁剪级中位 CER 从 7.01% 上升至 9.60%,而页面级中位 CER 从 5.34% 变为 5.07%。
因此,空间排列在两种设置下的手写体迁移中都很重要,在裁剪级对比中的印刷体识别也是如此。结果并未显示所有指标普遍退化,也未阐明裁剪级效应背后的机制。
Successive Ablations: Crop-Level Out-of-Domain Training
-------------------------------------------------------------
Training Variant Heldout Med CER Handwriting Med CER
Full Out-of-Domain Synthetic 5.52% 49.15%
Remove non-text context 4.86% 50.77%
Also remove font diversity 7.01% 62.13%
Also remove two-dimensional layout 9.60% 70.17%
## 粒度反转:页面级与裁剪级
最引人注目的结果是,训练粒度如何改变首选源数据。该论文比较了两种设置:
- **页面级**:模型接收完整的文档图像,并生成一个包含区域、边界框、类别以及按阅读顺序排列的文本的 JSON 对象。
- **裁剪级**:识别器在单独的标注区域上进行训练。在推理阶段,布局检测器提供用于识别的裁剪图像,因此报告的流水线分数包含了检测和阅读顺序错误。
当作者比较重建的泰语文档与重建的英文源文档时,优劣结果发生了翻转。
训练粒度反转:保留集印刷体上的中位数 CER
页面级模型 (Qwen3-VL-2B-Instruct): • 域内泰语重建: 1.82% <-- 更低的 CER • 域外重建: 5.07%
裁剪级模型 (Qwen3-VL-2B-Instruct): • 域内泰语重建: 15.59% • 域外重建: 5.52% <-- 更低的 CER
这种反转也出现在两个手写数据集上。域内重建将页面级手写体的中位数从 43.99% 改善至 36.27%,但却使裁剪级中位数从 49.15% 恶化至 52.77%。
为什么会发生这种情况?论文明确指出原因尚未解决。
这两个系统接收到的文档上下文量不同,但仅凭这一区别并不能确立为何某一源数据更优。该研究并未证明英文源裁剪图像更多样化,泰文行政文本块更统一,或者任一属性导致了这种反转。
但它所确立的内容足以改变实验计划:不能假设源域匹配对每种识别架构都有帮助。在此次比较中,某种源数据大幅提升了页面级识别效果,却大幅恶化了裁剪级印刷体识别效果。
## 手写体问题:字体轮廓与真实字形
手写体字体在每次出现相同字符时,通常会重复使用相同的底层轮廓。而一组真实的手写样本库则允许渲染器在这些出现位置之间引入变化。
该论文测试了这种差异是否能提升迁移效果。其手写体字体变体从包含 693 个字体家族的完整样本库中进行采样,而非使用测量得到的轮廓;24.0% 的页面使用手写体字体,其中一半的页面会接收逐实例的笔画扭曲处理。
真实字形变体使用采样的字符图像重新绘制相同的手写体子集。标签、区域标注、墨水高度和墨水颜色保持不变。
字形样本库来自一个多阶段流水线:
1. **检测**:基于 YOLOv8 的检测器从 iApp 手写行图像和 Real Thai Handwriting 训练集中生成约 570 万个候选字形框。
2. **对齐与过滤**:候选框与字形行标签对齐,通过字形分类器或商业 OCR 进行检查,并按大小和形状进行过滤,最终保留 534,404 个候选项。
3. **VLM 验证**:Gemini 3.5 Flash 对采样的候选项进行验证,确认了 12,090 个实例。
4. **组装**:论文报告最终的字形样本库包含 76 个字符类别下的 5,953 个字形实例,这些实例是通过跨书写者采样组装而成的。
手写体字形流水线: [570 万候选项] -> [53.4 万过滤后] -> [12,090 已验证] -> [5,953 样本库实例]
在渲染过程中,支持的字符出现位置会独立采样。因此,重复的字符可能会获得不同的笔画,尽管独立采样并不能保证每次都是不同的实例。该过程不强制要求页面内的书写者保持一致。
在重新绘制的页面上,样本库覆盖了 96.3% 的泰语字符实例。不支持的字符则回退到页面字体。
表 5 中的结果显示出手写体带来的一致收益:
- 基础域外合成数据在页面级训练下,在手写体任务上达到 **43.99%** 的中位 CER。
- 添加手写体字体后,该值降至 **38.65%**。
- 使用真实字形实例后,该值进一步降至 **37.91%**,并在 Easy Handwriting 上达到 **30.66%**。
当用真实字形替换手写体字体时,裁剪级手写体的中位指标也有所改善。
与真实手写体监督之间的差距仍然存在。在 Real Thai Print 加上手写体上进行训练,在手写体任务上达到 **26.05%** 的中位 CER,在 Easy Handwriting 上达到 **20.79%**。这些真实数据标签是通过 OCR 和 VLM 伪标签流水线构建的,而非描述为人工转录。
论文将更大规模字形样本库的影响留待未来研究。它并未孤立出哪些剩余的手写特征导致了这一差距。

## Wayu-Paxa-OCR-Zero:最终模型
基于消融实验的教训,作者将 **PaddleOCR-VL-1.6** 调整为 **Wayu-Paxa-OCR-Zero**,保留了其 0.9B 参数的架构。
在推理阶段,PP-DocLayoutV3 为识别器提供区域。对于 PaddleOCR-VL 的训练,表格目标使用优化表格结构语言(OTSL);无法忠实表示其跨度的表格会被移除。
训练集包含 **45,723 个合成页面**:
- **39,534 个基础合成页面**,来自 DocLayNet、Crello 和 PubTabNet,包括手写体渲染和 7,131 个页面的真实字形副本。
- **3,999 个专注于手写的页面**:3,000 个使用手写字形渲染的不重叠 DocLayNet-v1.2 页面,以及 999 个粘贴了 iApp 手写裁剪的合成页面。
- **2,190 个合成表单**,从 CommonForms 模板重建,字段值中拼接了字形。
公共英语来源提供源文档和模板。受控研究中的任何真实泰语文档页面均未用作此最终配方的源页面。
这并不意味着该流水线没有真实泰语手写输入。其字形库包括从真实泰语手写训练集中提取的材料,其附加页面包括 iApp 裁剪。“仅合成”描述的是生成的训练页面及其监督,而不是数据构建中完全不存在真实手写材料。
所有 0.9B 参数训练一个 epoch,学习率为 3 × 10⁻⁵,使用余弦调度,0.03 的预热比例,有效批量大小为 16。
### 基准一对一比较
论文评估了五个集合:保留的印刷泰语页面(301 页)、手写(200 页)、简单手写(200 页)、ThaiOCRBench 以及 SEA-DocBench 的 1,148 页干净泰语子集。
ThaiOCRBench 结果对五个经过审计的阅读任务的每个聚合进行平均。简单手写选择两个专有手写识别系统之间分歧较低的页面。
Comparative Performance: CER in Percent; Lower Is Better
Benchmark PaddleOCR-VL-1.6 Wayu-Paxa-OCR-Zero Typhoon OCR 7B Typhoon OCR 1.5 2B Gemini 3.7 Flash (0.9B Base) (0.9B Adapted)
Heldout (Print) - Med 6.64% 1.24% 2.54% 0.21% 0.00% Heldout (Print) - Mean 27.60% 14.75% 18.27% 5.47% 3.56%
Handwriting - Med 74.87% 20.55% 43.60% 19.36% 11.29% Handwriting - Mean 67.90% 22.28% 49.36% 21.86% 15.04%
Easy Handwriting - Med 73.74% 14.18% 34.99% 9.02% 3.89% Easy Handwriting - Mean 69.41% 17.08% 45.06% 15.74% 7.64%
ThaiOCRBench - Med 38.0% 15.3% 30.6% 6.2% 0.9% ThaiOCRBench - Mean 43.3% 25.6% 44.7% 16.8% 3.8%
SEA-DocBench - Med 8.87% 4.86% 9.22% 5.81% 5.51% SEA-DocBench - Mean 18.54% 9.99% 17.57% 12.80% 10.62%
这些数字揭示了几个突出的成就:
1. **相比基础模型有实质性改进**:合成配方降低了每个评估集的中位数和平均 CER。印刷中位数 CER 从 6.64% 降至 1.24%,手写中位数 CER 从 74.87% 降至 20.55%。
2. **优于规模近八倍的模型**:Wayu-Paxa-OCR-Zero 在所有五个集合上击败了 Typhoon OCR 7B。其手写中位数 CER 不到 7B 模型 43.60% 的一半。
3. **在干净的泰语 SEA-DocBench 页面上表现强劲**:其中位数 CER 为 4.86%,平均 CER 为 9.99%,低于该子集上所有四个比较系统,包括 Gemini 3.7 Flash。
较新的 Typhoon OCR 1.5 2B 仍然在其他四个评估集上领先 Wayu-Paxa-OCR-Zero。Gemini 3.7 Flash 在三个内部集合和 ThaiOCRBench 上具有最低的 CER。
这些比较确立了在报告评估下的竞争力。它们并未确立合成监督本质上优于其他系统使用的训练数据,后者在架构、规模、预训练和监督方面存在差异。
## 指标陷阱:中位数与平均值讲述的不同故事
仔细观察 Wayu-Paxa-OCR-Zero 的打印结果:中位数 CER 为 **1.24%**,但平均 CER 为 **14.75%**。
为什么会有如此大的差距?
这两个聚合指标回答的是不同的问题:
- **中位数 CER** 是中位数页面错误率。它描述了被评估页面分布的中间值,并未针对任何特定的文档类别建立准确性标准。
- **平均 CER** 是基于字符权重的。较长的页面贡献更大,且错误率较高的页面可能对聚合结果产生不成比例的影响。
每个报告数字背后还有一个评分细节。该论文使用的是**投影 CER(projected CER)**:在评分之前,预测结果会被归一化,并与被评估的文本区域进行模糊对齐。声明范围之外的文本会被丢弃,而声明范围内的错误以及缺失的被评估区域仍会被计入错误。
该算法在归一化过程中会移除空白字符和指定的标记或内容,并将每页的 CER 上限设为 100%。报告的平均值是这些封顶页面分数的字符加权平均值。因此,这些并不是未经过滤的整篇文档转录分数。
一个简单的假设例子说明了为什么聚合指标会出现分歧:
十个等长页面: 九个页面的 CER 为 1% 一个页面的 CER 为 85%
中位数 CER:1% 平均 CER: 9.4%
实际的中位数与平均值之间的差距与较难页面在聚合错误中贡献不成比例的现象一致。仅凭表格无法识别特定的失败模式,也无法告诉我们有多少页面受到了影响。
真实监督的对比使这一局限性变得具体。在匹配的页面级训练下,领域内合成数据(In-Domain Synthetic)的中位数 CER 达到 **1.82%**,而真实泰语印刷数据(Real Thai Print)为 **1.31%**。但其平均 CER 为 **16.20%**,相比之下,真实印刷监督的平均 CER 为 **9.79%**。
这些真实数据标签来自 Azure OCR,随后经过 VLM 归一化处理。内部评估参考也是伪标签,由 Azure OCR 和 Gemini 2.5 Flash 生成。
重建方法在本实验的典型印刷页面上接近真实监督水平,但在字符加权聚合指标上留下了更大的差距。
## 为什么这很重要:文档 AI 团队的务实蓝图
对于处理泰语或其他标注数据有限的语言文档的团队来说,这篇论文提供了一套有用的实验指南。其最有价值的教训在于应该测量和比较什么,而不是提供适用于生产环境的通用规则。鉴于汉字/中文属于表意文字系统,拥有数千个字符且版面布局密集,若该论文仅涵盖英文/拉丁文本,其结论在直接迁移至中文字符识别任务时需谨慎考量其适用范围。
### 1. 测试非文本上下文的价值
在此研究中,保留背景和保留非文本元素并未带来一致的字符错误率(CER)收益。因此,在进行大量源页面上下文投资之前,采用白底重建作为一个对比基准是有益的。结果并不支持在未测试的情况下直接丢弃所有形式的退化建模。
### 2. 保留并评估字体多样性
所测量的配置文件为泰语文档的渲染提供了一个扎实的起点。将其替换为单一字体类型会损害手写体迁移效果。该研究支持多样性优于单一字体基线;但它并未表明仅保留前 10 或 20 种字体就足够了。
### 3. 使数据实验与模型架构相匹配
使用你打算采用的训练粒度来评估候选源数据集。在此研究中,域内重建在页面级印刷体识别中表现最佳,而域外重建在裁剪级识别中表现最佳。这两个结果均未确立必须使用单一源域的通用要求。
### 4. 为手写体测试真实字形库
在这些实验中,手写体字体已经提高了手写体识别效果。真实字形实例带来了进一步的增益。因此,经过验证的字形库是一个很有前景的补充,其评估源应与用于构建该库的材料分开。该研究并未确定最优的字形库规模,也未消除与真实手写体监督之间的差距。
### 5. 超越典型页面进行评估
低中位数只是结果的一部分。较大的字符加权误差使得困难页面成为后续评估的重要组成部分。该论文未报告生产接受率、置信度校准或经过验证的路由系统,因此其基准分数无法确立这些部署属性。
## 合成文档解析的前景
Wayu-Paxa-OCR-Zero 表明,合成文档重建可以支持具有竞争力的泰语 OCR 适配。一个参数量低于十亿的模型显著提升了其基础检查点,并在五个评估集上超越了 Typhoon OCR 7B,且在该适配过程中未使用真实的泰语页面作为源文档。
当边界保持可见时,结果最为显著:真实的手写材料有助于合成页面的构建,较新的对比系统在多个数据集上仍保持显著优势,且严重错误依然至关重要。
未解的问题指向了具体的下一步实验:
- **更广泛的手写变化**:真实字形有帮助,但受控模型仍落后于使用真实手写页面进行的训练。更大字形库的效果尚未经过测试。
- **解释裁剪与页面反转现象**:源域反转现象显著,但其原因尚未解决。理解这一现象有助于解释哪些重建特性在不同训练粒度下能够迁移。
- **缩小总体误差差距**:合成重建方法在中位 CER 上接近真实印刷监督,但在字符加权平均 CER 上明显落后。更广泛的布局、排版和手写覆盖范围仍是提高泛化能力的方向。
对于文档 AI 而言,这篇论文为“数据质量”赋予了更具可测试性的含义。字体多样性、二维结构、字形变化和训练粒度可以分别进行变化和评估。这是该方法最有用的贡献:一种调查哪些合成成分值得保留的方法。