结构化抽取(表单 → JSON)
本章目标:把“看图回答”改造成更可落地的形态——结构化抽取。输入一张票据/体检报告/检验单/表格截图,输出结构化 JSON,并附带字段置信度与(可选)位置坐标。
1. 任务定义
输入:表单图片 (I)
输出:结构化结果 (y)(JSON),例如:
基本字段:姓名、日期、项目、数值、单位、参考范围
结构字段:表格行列、键值对
约束:格式必须可校验(schema),数值/单位必须一致
本任务的优势是:比开放问答更容易评测、更容易上线(输出可直接进入业务系统)。
2. 系统设计(推荐流水线)
版面解析(Layout):检测文本块/表格/标题/页眉页脚
OCR:识别文字(保留 bbox)
结构恢复(Structure):
关键值对(KIE)
表格行列恢复(table structure)
字段归一化与校验:
单位标准化、数值范围校验、日期格式校验
规则校验失败 → 触发重试/人工审核
3. 模型与方法选择
可选路线(按工程复杂度从低到高):
规则 + OCR:适合格式稳定的表单(模板固定)
布局模型 + OCR + 规则:适合模板多但版面规律明显的场景
端到端多模态抽取(MLLM):适合长尾模板,但必须加 schema 约束与校验器,否则容易“格式对但值错”
工程建议:无论用哪条路线,都应把“最终正确性”放到校验层闭环里。
4. 评测与验收
字段准确率(exact match / 归一化后 match)
格式通过率(schema validation pass rate)
数值一致性(单位换算、范围约束)
定位质量(可选:bbox IoU/字段对齐率)
5. 常见坑位
OCR 错误传播到结构恢复(需要置信度与纠错机制)
单位与小数点(医疗/财务表单里是高频错误源)
模板多样性导致规则爆炸(需要分桶与自动回归集)
6. 最小可复现 Demo(建议)
选 3 类表单:票据 / 检验单 / 体检报告(各 200 张)
定义 schema:字段、类型、单位、范围
输出 JSON + 校验报告(通过/失败原因)