发票、检验报告、物料清单,工业场景里一半以上的信息藏在表格里。普通 OCR 只能吐出一堆无序文字,真正有价值的是把表格的"结构"还原出来:哪格是表头、哪行对哪列、合并单元格怎么拆。

## 表格检测与结构还原

标准流程分两步。先检测:定位页面中的表格区域,区分有线表和无线表,无线表没有框线、只能靠文字对齐关系推断,难度更高。再做结构还原:把表格切分出行列网格,得到每个单元格的坐标与行列归属。

## 复杂表头与合并单元格

这是工业文档最难啃的骨头。多层表头(比如"尺寸"下面再分"长、宽、高")、跨行跨列的合并单元格,要求模型理解层级关系。实践中常用"先还原物理网格,再自底向上合并语义"的策略:表头层级用树结构表示,下游按路径取值,例如"尺寸.长",这样即使表头换一种排版,取值逻辑依然稳定。

## 版式还原

多栏排版、跨页表格要保持正确的阅读顺序。做法是先做版式分析分栏分块,再在块内按从上到下、从左到右排序;跨页的同一张表格需要做拼接检测,避免被断成两张表。

## 准确率评估与人工复核

建议用三层指标:字符准确率(字认得对不对)、表格结构相似度(行列切得对不对,学术界常用 TEDS 这类基于树编辑距离的指标)、字段级准确率(最终要抽取的字段对不对,这是业务最关心的)。再高的模型也要配人工复核:按置信度分流,低置信单元格标红转人工;高置信做随机抽检,抽检比例随模型稳定度动态调整;复核结果回流做难例挖掘,持续迭代模型。

## 落地建议

预处理别省:扫描件先做去噪、纠偏、去阴影,图像质量提升一小步,识别效果可能提升一大步。先从格式最规范的单据类型切入,跑通"识别—复核—回流"闭环,再逐步扩展到更杂的版式。

你在表格识别里踩过最深的坑是什么?欢迎分享。