文档与图表理解


文档摘要

文档与图表理解 本节摘要:文档不是照片。PDF、科学论文、发票或手写表单有版面、表格、图表、脚注、页眉与语义结构,是纯图像理解抓不到的。VLM 之前的栈是流水线:Tesseract OCR + LayoutLMv3 + 表格抽取启发式。VLM 浪潮用「无 OCR」模型——Donut(2022)、Nougat(2023)、DocLLM(2023)——直接吐结构化标记取代了它。到 2026 年,前沿就是「把页面图像喂给原生 2576px 的 Claude Opus 4.7」,结构化标记输出免费来。本节读文档 AI 的三个时代弧线。 学习目标 阅读完本节,你应当能够: 解释文档 AI 的三个时代:OCR 流水线、无 OCR、VLM 原生。

文档与图表理解

本节摘要:文档不是照片。PDF、科学论文、发票或手写表单有版面、表格、图表、脚注、页眉与语义结构,是纯图像理解抓不到的。VLM 之前的栈是流水线:Tesseract OCR + LayoutLMv3 + 表格抽取启发式。VLM 浪潮用「无 OCR」模型——Donut(2022)、Nougat(2023)、DocLLM(2023)——直接吐结构化标记取代了它。到 2026 年,前沿就是「把页面图像喂给原生 2576px 的 Claude Opus 4.7」,结构化标记输出免费来。本节读文档 AI 的三个时代弧线。

学习目标

阅读完本节,你应当能够:

  1. 解释文档 AI 的三个时代:OCR 流水线、无 OCR、VLM 原生。
  2. 描述 LayoutLMv3 的三路输入:文本、版面(bbox)、图像 patch,配统一掩码。
  3. 对比 Donut(无 OCR,图像 → 标记)、Nougat(科学论文 → LaTeX)、DocLLM(版面感知生成)、PaliGemma 2(VLM 原生)。
  4. 为新任务(发票、科学论文、手写表单、中文小票)挑文档模型。

一、问题与直觉

「理解这个 PDF」难得具有欺骗性。信息藏在:

  • 文本内容(90% 的信号)。
  • 版面(页眉、脚注、侧栏、双栏)。
  • 表格(行、列、合并单元格)。
  • 图与图表
  • 手写批注
  • 字体与排版(标题 vs 正文)。

原始 OCR 把文本倒出来,丢了其余。一个关心发票的系统得知道「合计:1245 美元」来自右下角,而非脚注。

时代 1——OCR 流水线(2021 前)

经典栈:

  1. PDF → 每页一张图。
  2. Tesseract(或商用 OCR)抽取文本,带逐词边界框。
  3. 版面分析器识别块(页眉、表格、段落)。
  4. 表格结构识别器解析表格。
  5. 领域规则 + 正则抽取字段。

对干净印刷文本好用,在手写、倾斜扫描、复杂表格、非英文上失效。每个失败模式都要一条自定义异常路径。

TrOCR(2021)

TrOCR(Li 等人,arXiv:2109.10282)用合成 + 真实文本图像训练的 Transformer 编码器-解码器,取代了 Tesseract 的经典 CNN-CTC。在手写与多语言文本上干净胜出。仍是流水线(检测 → TrOCR → 版面),但 OCR 步骤大幅改进。

时代 2——无 OCR(2022~2023)

第一批无 OCR 模型说:完全跳过检测,直接把图像像素映射到结构化输出。

Donut(Kim 等人,arXiv:2111.15664):

  • 编码器-解码器 Transformer,编码器是 Swin-B。
  • 输出是表单理解的 JSON、摘要的 markdown,或任意任务专属 schema。
  • 无 OCR、无版面、无检测。

Nougat(Blecher 等人,arXiv:2308.13418):

  • 专门在科学论文上训练。
  • 输出是 LaTeX / markdown。
  • 处理公式、多栏版面、图。
  • 每个 arXiv 解析器都调它。

这些都是专家,不是通才。Donut 在科学论文上失败;Nougat 在发票上失败。

LayoutLMv3(2022)

另一条路。LayoutLMv3(Huang 等人,arXiv:2204.08387)保留 OCR 但加版面理解:

  • 三路输入:OCR 文本 token、每 token 的二维边界框、图像 patch。
  • 跨三模态的掩码训练目标(掩码文本、掩码 patch、掩码版面)。
  • 下游:分类、实体抽取、表格 QA。

LayoutLMv3 是基于 OCR 的文档理解的巅峰,在表单与发票上强,需要上游 OCR,是 VLM 前在标准化文档基准上的最佳精度。

DocLLM(2023)

DocLLM(Wang 等人,arXiv:2401.00908)是 LayoutLM 的生成兄弟,在版面 token 条件下生成自由形式答案,更适合文档 QA,但仍依赖 OCR 输入。

时代 3——VLM 原生(2024+)

2024 年的 VLM 强到足以完全取代流水线。把整页高分辨率图像喂给 VLM,提问,得答案。

  • LLaVA-NeXT 336 子图 AnyRes 处理小文档。
  • Qwen2.5-VL 动态分辨率原生处理 2048+ 像素。
  • Claude Opus 4.7 支持 2576px 文档。
  • PaliGemma 2(2025 年 4 月)专门为文档 + 手写训练。

VLM 原生与 OCR 流水线的差距快速闭合。到 2026 年,VLM 原生在以下胜出:

  • 场景文本(手写 + 印刷,混合脚本)。
  • 带合并单元格的复杂表格。
  • 嵌在文本里的数学公式。
  • 带文本标注的图。

OCR 流水线仍在以下胜出:

  • 大规模纯扫描工作负载,每页延迟重要。
  • 流水线可靠性(确定性失败 vs VLM 幻觉)。
  • 要求可审计 OCR 输出的受监管环境。

Claude 4.7 / GPT-5 前沿

2576 像素原生输入下,前沿 VLM 以接近人类精度做文档理解。2026 年初的基准数字:

  • DocVQA:Claude 4.7 约 95.1,PaliGemma 2 约 88.4,Nougat 约 77.3,流水线 LayoutLMv3 约 83。
  • ChartQA:Claude 4.7 约 92.2,GPT-4V 约 78。
  • VisualMRC:Claude 4.7 约 94。

闭源差距主要在分辨率与基座 LLM 规模。7B 开源落后几分但在追。

数学公式与 LaTeX 输出

科学论文需要精确的公式 LaTeX。Nougat 在此上训练过;带 LaTeX 目标训练的 VLM(Qwen2.5-VL-Math、Nougat 衍生)产出可用 LaTeX;无显式 LaTeX 训练的 VLM 产出可读但不精确的转写。

2026 年科学论文流水线:PDF 上链 Nougat,棘手页面上 VLM。

手写

仍是最难的子任务。印刷 + 手写混合(医生处方、填好的表单)是 OCR 流水线在成本上仍胜 VLM 的地方。纯手写 VLM 在改进(Claude 4.7、PaliGemma 2)。

2026 配方

对新的文档 AI 项目:

  • 大规模纯印刷发票:LayoutLMv3 + 规则,成本高效。
  • 混合文档(科学 + 手写 + 表单):VLM 原生(PaliGemma 2 或 Qwen2.5-VL)。
  • 全 arXiv 摄取:Nougat 处理公式,VLM 处理图。
  • 监管:OCR 流水线 + VLM 验证器交叉核对。

二、从零实现

code/main.py:

  • 一个玩具版面感知分词器:给定 (文本, bbox) 对,产出 LayoutLMv3 风格输入。
  • 一个 Donut 风格任务 schema 生成器:表单的 JSON 模板。
  • 对比 OCR 流水线、Donut、Nougat、VLM 原生每页的 token 预算。

LayoutLMv3 风格输入

def layoutlm_input(ocr_words, bboxes, image_patches): # 三路输入: 文本 token + 2D bbox + 图像 patch text_ids = tokenize(ocr_words) # (N,) bbox_ids = quantize_bbox(bboxes) # (N, 4) 归一化到 [0, 1000] patch_ids = vit_tokenize(image_patches) # (M,) # 统一掩码训练: 随机掩码文本/patch/bbox 的子集, 让模型恢复 return concat(text_ids, bbox_ids, patch_ids)

Donut 风格 schema 输出

def donut_output_schema(form_image): # 图像 → JSON, 无 OCR 无检测 output = transformer_decoder(form_image) return json.loads(output) # {"vendor": "...", "total": 1245.00, "date": "...", "line_items": [...]}

每页 token 预算对比

每页 token 延迟 失败模式
OCR 流水线 文本约 500 + bbox 手写/倾斜失效
Donut 约 1000(图像) 任务专属, 不泛化
Nougat 约 2000(LaTeX) 仅科学论文
VLM 原生(Claude 4.7) 2576px 约 4000+ 慢但准 幻觉

💡 为何版面重要:「合计:1245 美元」在右下角与在脚注里,语义天差地别。LayoutLMv3 的 bbox 流让模型知道 token 在页面的哪里,这是纯文本 VLM 抓不到的——版面本身就是信号。

三、框架对比

  • OCR 流水线(Tesseract+LayoutLMv3):确定性、可审计、便宜,但手写/倾斜/复杂表格失效。
  • TrOCR:Transformer 取代 CNN-CTC,手写与多语言大幅改进。
  • Donut/Nougat:无 OCR 专家,图像直接到 JSON/LaTeX,任务专属不泛化。
  • LayoutLMv3/DocLLM:三路输入(文本+bbox+patch),版面感知,VLM 前峰值。
  • VLM 原生(Qwen2.5-VL/Claude 4.7/PaliGemma 2):高分辨率页面直接进 VLM,场景文本/复杂表格/公式胜出。

工程取舍:大规模纯印刷用 LayoutLMv3 + 规则;混合文档用 VLM 原生;科学论文用 Nougat + VLM;监管环境用 OCR + VLM 交叉核对。

四、可复用产物

本节产出 outputs/skill-document-ai-stack-picker.md。给定文档 AI 项目(领域、规模、质量、监管),它在 OCR 流水线、无 OCR 专家、VLM 原生间选择。

五、练习

  1. 大规模发票:每天 1000 万张发票。哪套栈在最小每页成本的同时不丢精度?

  2. LayoutLMv3 强弱:为什么 LayoutLMv3 在表单 QA 上胜纯 CLIP-VLM,却在场景文本上不如?bbox 流放弃了什么?

  3. LaTeX 保真:Nougat 生成 LaTeX。提出一个 VLM 原生输出在 LaTeX 保真上胜 Nougat 的用例,以及一个 Nougat 胜的用例。

  4. 读 PaliGemma 2:读 PaliGemma 2 论文(Google,2024),什么关键训练数据加成让文档精度超过 PaliGemma 1?

  5. 监管混合:设计一个监管安全的混合:OCR 流水线为主、VLM 为辅交叉核对。分歧如何解决?

本节要点回顾

  1. 文档非照片:有版面/表格/图表/脚注/手写,纯 OCR 丢 90% 外的信号。
  2. 三时代:OCR 流水线(2021 前)→ 无 OCR(2022~23)→ VLM 原生(2024+)。
  3. 时代 1 OCR 流水线:检测→OCR→版面→规则,确定性但手写/倾斜失效。
  4. TrOCR:Transformer 取代 CNN-CTC,手写与多语言大幅改进。
  5. Donut/Nougat:无 OCR 专家,图像直出 JSON/LaTeX,任务专属不泛化。
  6. LayoutLMv3:三路输入(文本+bbox+patch)+ 统一掩码,VLM 前峰值,bbox 即信号。
  7. VLM 原生:高分辨率页面直进 VLM,场景文本/复杂表格/公式胜出。
  8. Claude 4.7:2576px 原生,DocVQA 95.1、ChartQA 92.2 接近人类。
  9. Nougat 处理公式:科学论文链 Nougat + 棘手页 VLM。
  10. 2026 选型:纯印刷大规模 LayoutLMv3;混合 VLM 原生;监管 OCR+VLM 交叉核对。

下一节,我们将进入 ColPali——把文档检索变成「视觉原生 RAG」,不先 OCR,直接用视觉嵌入在页面图像上做检索,是多模态 RAG 的范式转移。


发布者: 作者: Rohit Gupta 转发
评论区 (0)
U