结构化抽取(表单 → JSON)

本章目标:把“看图回答”改造成更可落地的形态——结构化抽取。输入一张票据/体检报告/检验单/表格截图,输出结构化 JSON,并附带字段置信度与(可选)位置坐标。


1. 任务定义

  • 输入:表单图片 (I)

  • 输出:结构化结果 (y)(JSON),例如:

    • 基本字段:姓名、日期、项目、数值、单位、参考范围

    • 结构字段:表格行列、键值对

  • 约束:格式必须可校验(schema),数值/单位必须一致

本任务的优势是:比开放问答更容易评测、更容易上线(输出可直接进入业务系统)。


2. 系统设计(推荐流水线)

  1. 版面解析(Layout):检测文本块/表格/标题/页眉页脚

  2. OCR:识别文字(保留 bbox)

  3. 结构恢复(Structure)

    • 关键值对(KIE)

    • 表格行列恢复(table structure)

  4. 字段归一化与校验

    • 单位标准化、数值范围校验、日期格式校验

    • 规则校验失败 → 触发重试/人工审核


3. 模型与方法选择

可选路线(按工程复杂度从低到高):

  • 规则 + OCR:适合格式稳定的表单(模板固定)

  • 布局模型 + OCR + 规则:适合模板多但版面规律明显的场景

  • 端到端多模态抽取(MLLM):适合长尾模板,但必须加 schema 约束与校验器,否则容易“格式对但值错”

工程建议:无论用哪条路线,都应把“最终正确性”放到校验层闭环里。


4. 评测与验收

  • 字段准确率(exact match / 归一化后 match)

  • 格式通过率(schema validation pass rate)

  • 数值一致性(单位换算、范围约束)

  • 定位质量(可选:bbox IoU/字段对齐率)


5. 常见坑位

  • OCR 错误传播到结构恢复(需要置信度与纠错机制)

  • 单位与小数点(医疗/财务表单里是高频错误源)

  • 模板多样性导致规则爆炸(需要分桶与自动回归集)


6. 最小可复现 Demo(建议)

  • 选 3 类表单:票据 / 检验单 / 体检报告(各 200 张)

  • 定义 schema:字段、类型、单位、范围

  • 输出 JSON + 校验报告(通过/失败原因)