W2D2 学习手册 1.定位2.OCR原理3.坐标4.字段抽取 5.置信度6.人工复核7.坐标关联8.字符准确率 9.字段P/R/F110.修改率11.复杂场景12.资源 达标①达标②自测速记

FDE W2D2 学习手册 · 医疗 OCR Tool 与 Document AI

W2 Week2 Day2 · A+B 级(必须掌握 + 设计能力)· 5h · 学完能讲透"报销发票/病历如何从图片变成可校验的结构化字段"

本日定位:W2D1 讲了"工具怎么调",今天落地一类最典型的工具——医疗 OCR / Document AI。它是保险理赔自动化的入口:把用户拍的发票、病历、诊断证明变成结构化数据。
学完能回答:① OCR→字段抽取→置信度→人工复核 的完整链路;② 字符准确率 / 字段 P-R-F1 / 人工修改率 怎么算、为什么需要低置信度复核。
使用方法:通读原理 → 重点看「面试话术」「易错点」→ 做自测清单 → 配合《FDE-W2D2-评测题.md》。选中不熟的词可标注(左下★重要 / 右下📌待查)。

一、Document AI 与 OCR 在保险场景的定位

医疗保险理赔里,用户提交的材料绝大多数是非结构化图片/PDF:增值税发票、门诊病历、费用清单、诊断证明、特药处方。OCR / Document AI 工具的作用,就是把这些材料变成下游(规则引擎、数据库、LLM)能消费的结构化字段

典型链路:用户上传发票图片 → OCR 识别文字 + 坐标 → 字段抽取(金额/项目/医院)→ 置信度评估 → 低置信度转人工 → 高置信度自动入流程。
OCR/Document AI 是理赔自动化的"入口工具":把图片发票、病历变成结构化字段。它不直接做决策,只是把"看不懂的图片"变成"下游能用的数据"。
在 FDE 视角下,OCR 工具是一个被 Agent 调用的 Tool(见 W2D1):模型说"识别这张发票",工具返回结构化字段。它的质量直接决定后续理赔算得准不准—— garbage in, garbage out。

二、OCR 文本识别原理与流程

2.1 基本流程

图像预处理(去噪/二值化/纠偏)→ 版面分析(检测文本块/行)→ 文本识别(CNN+CTC 或 Transformer 解码为字符)→ 后处理(词典校正/格式规整)

2.2 开源方案

PaddleOCR(百度)是中文场景最常用、效果最好的开源 OCR 之一,支持中英文、表格识别、PP-Structure 版面分析。官方文档:paddlepaddle.github.io/paddleocr,代码:github.com/PaddlePaddle/PaddleOCR

OCR = 检测(在哪有字)+ 识别(字是什么)+ 版面分析(字的关系)。中文医疗票据首选 PaddleOCR,它有专门的表格和版面分析能力。
① OCR 不是"100% 准确",尤其发票章、浅色小字、折叠阴影容易错。② 别把 OCR 当"全文搜索"用——要的是字段级抽取,不是一堆散文本。③ 扫描件 dpi 太低会大幅下降准确率,预处理(纠偏/放大)很关键。

三、坐标返回与版面分析

成熟的 OCR 不只返回文字,还返回每个词/字段的包围框坐标(通常是四点或两点 bbox,相对图片宽高比 0~1 或绝对像素)。

{
  "text": "价税合计 ¥1,280.00",
  "bbox": [[120, 330], [420, 332], [420, 358], [120, 356]],  // 四点
  "score": 0.97,
  "line_id": 3
}

3.1 坐标的用途

坐标是连接"识别结果"和"原图"的桥梁。没有坐标,你无法做截图高亮,也无法在人工复核时让审核员一眼看到模型抽的是哪块。
OCR 返回文字时一并返回 bbox 坐标。坐标用于字段定位、版面还原和人工复核高亮——是"让机器结果可被人类验证"的关键。

四、字段结构化抽取

光有 OCR 文本还不够,要从中抽出业务字段:发票代码、金额、医院名称、项目明细、开票日期等。

4.1 抽取方式

方式做法优劣
规则/正则按"价税合计:xxx"模板匹配快、可控,但模板一变就崩
键值对模型(KIE)专门训练"字段-值"定位模型对固定版式发票准,泛化一般
LLM 多模态把图片+prompt 给多模态模型直接抽 JSON泛化好、省规则,成本较高
LangChain 提供多模态文档处理(python.langchain.com/docs/how_to/multimodal_prompts),可把图片直接喂给视觉模型抽取结构化字段,适合版式多变的病历/处方。

4.2 统一输出

{
  "invoice_code": "044001800211",
  "amount": 1280.00,
  "hospital": "XX市第一人民医院",
  "items": [{"name": "奥希替尼", "qty": 1, "fee": 1280.00}],
  "date": "2026-03-12",
  "confidence": {"amount": 0.98, "hospital": 0.91}
}
字段抽取是把 OCR 文本变成业务字段(金额/医院/项目),可用正则、KIE 模型或多模态 LLM。输出要统一成结构化对象,每个字段带独立置信度。
① 金额字段最关键也最易错,务必单独高置信校验(如"价税合计"和"金额大写"交叉验证)。② 多模态 LLM 抽字段方便,但可能"编造"图上没有的值,必须配坐标/原文回溯。③ 单位、币种、小数点要归一化("1,280.00"→1280.00)。

五、OCR 置信度与字段置信度

5.1 两层置信度

字段置信度 = f(字符识别分, 版面位置分, 语义校验分) ∈ [0, 1]

5.2 为什么字段级更重要

一张发票整体识别率 99%,但"金额"那个字恰好模糊,字段置信度就低——而金额恰恰是理赔最敏感的字段。所以按字段而非整图评估置信度更有业务意义。

置信度分两层:字符级(每个字的概率)和字段级(每个业务字段的可信度)。理赔里金额字段的置信度比整图平均更有意义,要按字段评估。
字段置信度是"人机协同"的开关:高置信自动过,低置信转人工。它能把有限的审核人力集中在真正不确定的地方,这是 OCR 系统能上生产的核心设计。

六、低置信度人工复核

6.1 复核策略

字段置信度处理
≥ 0.95自动通过,进入流程
0.80 ~ 0.95自动通过,但打标"需关注",留痕
< 0.80转人工复核(高亮该字段原图位置)

6.2 人工复核体验设计

置信度是自动/人工的分流阀:高置信自动过,低置信(如<0.8)转人工并高亮原图位置。这样把审核员精力留给真正不确定的字段。
低置信度复核是"准确率 vs 成本"的平衡点。完全自动准确率不够,全人工成本太高;按字段置信度分流,是生产系统的标配。
① 阈值不是固定的,要按字段敏感度调(金额阈值应比"医院名"高)。② 转人工后必须保留原图证据,否则争议时无法溯源。③ 别因为"整图置信度高"就跳过单字段低置信——局部错更危险。

七、页面原图与字段坐标关联(截图高亮)

7.1 关联的价值

把"结构化字段"和"原图 bbox"绑定,能做到:

7.2 实现方式

# 用坐标从原图裁剪出字段截图
from PIL import Image
im = Image.open("invoice.jpg")
x1,y1,x2,y2 = norm_to_px(bbox, im.size)   # 归一化坐标转像素
crop = im.crop((x1,y1,x2,y2))
crop.save(f"field_{field_name}.png")        # 用于前端高亮/复核展示
把字段和它的 bbox 绑定,就能"点字段看原图、低置信高亮"。这是 OCR 结果可解释、可复核、可溯源的基础,也是监管看重的。
坐标关联是"让 AI 结果可被信任"的工程细节。没有它,OCR 抽错你也发现不了;有了它,错误被高亮、被人类一眼抓出。

八、评测指标①:字符准确率(Character Accuracy)

8.1 定义

字符准确率 = (识别正确的字符数) / (标准答案字符总数) × 100%

也可用编辑距离(Levenshtein)衡量:准确率 = 1 - 编辑距离 / 答案长度。字符准确率是 OCR 最基础的指标,衡量"字认得对不对"。

8.2 局限

字符准确率 = 认对的字符数 / 总字符数,是最基础的 OCR 指标,但只看"字对不对",不关心"字段对不对",所以还要看字段级指标。

九、评测指标②:字段 Precision / Recall / F1

9.1 为什么需要字段级

业务关心的是"字段抽没抽对",不是单字。把每个字段当作一个"抽取目标",用信息抽取(IE)的标准指标:

Precision = 抽对的字段 / 抽出的字段总数
Recall = 抽对的字段 / 标准答案字段总数
F1 = 2·P·R / (P + R)

9.2 举例(发票字段抽取)

字段标准答案模型抽出判定
invoice_code044001800211044001800211TP(对)
amount1280.001280.00TP
hospital市一医院市第一医院FP(错抽)
date2026-03-12(漏抽)FN(漏抽)

本例 Precision = 2/3,Recall = 2/3,F1 ≈ 0.67。注意字段"值要完全匹配"才算对,金额差一分都算错。

字段级 P/R/F1 把每个字段当抽取目标:P=抽对的/抽出的,R=抽对的/该抽的,F1 是调和平均。比字符准确率更贴近业务——关心"字段对不对"。
字段 F1 是评价 OCR/Document AI 工具可用性的核心。生产上线要有"字段 F1 达标线"(如关键字段 ≥0.95),否则下游规则引擎拿到的是脏数据。
① 字段匹配是完全匹配还是模糊匹配要先约定(金额差 0.01 算错吗?)。② 别只看 F1 平均,要分字段看——金额 F1 比医院名 F1 重要得多。③ Recall 低说明漏抽(危险,金额漏了直接少赔),Precision 低说明抽错(多赔/欺诈风险)。

十、评测指标③:人工修改率(Human Correction Rate)

10.1 定义

人工修改率 = (被人工修改/补录的字段数) / (总字段数) × 100%

这是生产真实数据上最诚实的指标:OCR 自动抽的字段,有多少被人工改过或补过。它综合反映了准确率和置信度阈值的效果。

10.2 和置信度的关系

人工修改率 = 被人工改过的字段 / 总字段,是生产上最诚实的指标。它和置信度阈值博弈:阈值高改得多成本高,阈值低错得流入下游更危险。
人工修改率直接对应运营成本。FDE 要能说清:不是"修改率越低越好",而是"在可接受的错误率下,把修改率压到最低"——这是产品化思维。

十一、复杂场景设计(跨页 / 复杂表格 / 手写体)

这部分本次只做设计,不要求跑通,但要能讲清思路和难点。

场景难点设计思路
跨页字段一张发票/病历跨多页,字段被截断按文档 ID 聚合多页结果;跨页拼接逻辑(如"合计"在末页);页间坐标映射
复杂表格费用清单多行多列、合并单元格用表格识别(PaddleOCR PP-Structure / 多模态大模型);行列关系建模;支持单元格级坐标
手写体医生手写处方识别率骤降手写专用模型/采样增强;置信度普遍偏低→默认转人工;关键字段(药名/剂量)强制复核
跨页/复杂表格/手写体是 OCR 三大难题,本次只设计不跑通:跨页要聚合多页+坐标映射,复杂表格用表格识别模型,手写体置信度低应默认转人工。
复杂场景的设计原则是"识别不了的就诚实地转人工",而不是硬撑自动。FDE 评估的是你"知道边界在哪、怎么兜底",不是炫技全自动化。

十二、资源与工具

实战建议:先用 PaddleOCR 跑通"标准增值税电子发票"这类固定版式材料,字段抽取用正则+坐标结合;版式多变的病历/处方用多模态 LLM 抽,低置信转人工。
资源:PaddleOCR(中文 OCR 首选,含表格/版面)、LangChain 多模态(版式多变材料抽字段)。先攻固定版式发票,再啃复杂病历。

十三、面试达标线①:讲清 OCR→抽取→置信度→复核 完整链路

图片上传 → 预处理(纠偏/放大) → OCR 识别文字+坐标 → 字段结构化抽取(正则/KIE/多模态) → 计算字段置信度 → 高置信自动过 / 低置信转人工(高亮原图bbox) → 人工确认或修改 → 结构化字段入下游流程
  1. OCR:检测+识别+版面分析,输出文字与 bbox 坐标。
  2. 字段抽取:从文本/图片抽业务字段(金额/医院/项目),统一结构化输出。
  3. 置信度:对每个字段算字段级置信度(综合字符分+版面+语义)。
  4. 分流:高置信自动过;低置信(按字段敏感度设阈值)转人工复核,并高亮原图位置。
  5. 闭环:人工修改记录反哺评测(人工修改率),与原图坐标绑定保证可追溯。
一句话:图片→OCR出字和坐标→抽字段→算字段置信度→高置信自动过、低置信转人工并高亮原图→人工改完入流程。关键是字段级置信度做自动/人工分流阀。

十四、面试达标线②:OCR 评测指标怎么算、为何要低置信复核

指标公式衡量什么
字符准确率认对字符数 / 总字符数字认得对不对(基础)
字段 Precision抽对字段 / 抽出字段抽出的准不准(少抽错)
字段 Recall抽对字段 / 应抽字段漏没漏(金额漏抽最危险)
字段 F12PR/(P+R)综合可用性(分字段看)
人工修改率被改字段 / 总字段真实运营成本
字符准确率看字对不对,字段P/R/F1看业务抽得准不准(要分字段、金额最重),人工修改率看真实成本。低置信复核是因为OCR会错、且错在金额上代价巨大,按字段置信度分流能省成本又控风险。

十五、W2D2 自测清单

十六、高频面试题速记卡

Q:OCR 能 100% 准确吗?为什么还要人工复核?
不能,发票章/浅字/阴影易错。金额错一个字就赔错钱,所以用字段置信度把不确定的转人工,平衡准确率与成本。
Q:字符准确率和字段 F1 有什么区别?
字符准确率看"字认对没",字段 F1 看"业务字段抽对没"。理赔关心后者,且要分字段评估(金额最重)。
Q:什么是字段级置信度?
对每个抽出的业务字段(如金额)单独算可信度,综合字符分+版面+语义。比整图平均分更有业务意义。
Q:人工修改率越低越好吗?
不是。阈值太低错误会流入下游更危险;要在可接受错误率下把修改率压最低,是成本与风险的平衡。
Q:bbox 坐标有什么用?
定位字段在原图位置,支撑版面还原、人工复核高亮、可追溯可解释。是连接识别结果和原图的桥梁。
Q:字段 F1 的 Precision 和 Recall 哪个低更危险?
Recall 低更危险——代表漏抽(金额没抽到直接少赔);Precision 低是抽错(多赔/欺诈风险)。
Q:手写体处方怎么处理?
本次只设计:手写识别率骤降,默认转人工,药名/剂量等关键字段强制复核,不硬撑自动。
Q:多模态 LLM 抽字段有什么坑?
可能编造图上没有的值,必须配坐标/原文回溯校验,且成本比规则高。适合版式多变材料。
Q:复杂表格/跨页怎么设计?
表格用表格识别模型+单元格坐标;跨页按文档ID聚合多页、做页间坐标映射和合计拼接。
Q:PaddleOCR 在链路里干什么?
做中文 OCR 检测+识别+版面/表格分析,输出文字与坐标,是固定版式发票的首选开源方案。
FDE W2D2 学习手册 · 医疗 OCR Tool 与 Document AI(面试级)· 配合《FDE-W2D2-评测题.md》自测
📌 待查★ 重要