Skip to content

L02-03 文档解析:PDF 是最难啃的骨头 ​

全局中心内容:解析输出是后面所有步骤的唯一输入。 全局讲解主线:一个量化证据开场 → 格式难度分级 → PDF 的三条启发式 → 扫描件必须报错。


P1 · 产出页 ​

中心内容:四种格式都能解析,且失败时不静默。

  • 讲解技巧
    • 用一个数字开场:「只换解析器,评测集召回率从 61% 到 84%。没动模型、没动向量库、没调参数」。
    • 这句话能立刻让学员重视这个「不酷」的环节。
  • 时长:20s

P2 · 量化证据页 ​

中心内容:解析质量决定 RAG 上限。

  • 页面内容:五个解析问题 → 各自的下游表现

  • 讲解技巧

    • 逐条对照讲:表格乱 → 模型读不懂;标题丢 → 切分切不好;页眉污染 → 向量偏移;双栏交错 → 句子打散;扫描件 → 静默丢文档。
    • 强调最后一条最危险:不报错、不告警,文档「灌进去了」但是空的。
  • 时长:3min


P3 · 难度分级表 ​

中心内容:PDF 难在它只有坐标,没有结构。

  • 页面内容:MD ★ / HTML ★★ / Word ★★★ / PDF ★★★★★

  • 讲解技巧

    • 讲清 PDF 的本质:它记录「在 (100,720) 画一个 A」,不是「这是二级标题」。所有结构都要靠启发式反推——这就是解析器的价值。
    • 给各格式的推荐方案(Jsoup / POI / PDFBox)。
  • 时长:3min


P4 · PDF 三条启发式 ​

中心内容:页眉页脚过滤是性价比最高的一条。

  • 页面内容:字号+加粗判标题 / x 坐标聚判分栏 / 跨页高频行判页眉页脚

  • 讲解技巧

    • 强调第三条收益极高且实现简单:跨页出现 ≥80% 的行判定为噪声。它对召回率的提升常超过调参。
    • 第一条给具体阈值(字号 > 正文 × 1.15),学员需要能直接抄的数。
  • 时长:4min


P5 · 扫描件:唯一的硬门槛 ​

中心内容:抽不到文本必须报错,不能返回空。

  • 页面内容:每页字符数 < 50 → 判定扫描件 → 抛异常

  • 讲解技巧

    • 明确建议不要承诺「所有 PDF 都能灌」:遇到大量扫描件的项目,先做样本评估再报价。这是商业建议,学员会很受用。
    • 给判断方法(抽样统计字符数),而不是靠肉眼看。
  • 时长:3min


P6 · 编码:统一接口 ​

中心内容:返回 Section 列表,切分章节要用。

  • 页面内容:DocumentParser 接口、ParsedDocument(text, sections, attrs)

  • 讲解技巧

    • 讲清为什么要返回 sections:02-04 的结构感知切分依赖标题层级,解析阶段丢了就只能靠正则猜。
    • 这是一个「为下游设计接口」的实例,值得展开 30 秒。
  • 时长:4min


P7 · 编码:PDF 解析器 ​

中心内容:三步:扫描件检测 → 去页眉页脚 → 还原层级。

  • 页面内容:isScanned / removeHeaderFooter / detectSections

  • 讲解技巧

    • 现场跑一份带页眉页脚的 PDF,对比过滤前后的文本。视觉差异比讲解有力。
    • 强调 removeHeaderFooter 的实现逻辑(跨页高频行),让人知道它不是黑魔法。
  • 时长:5min


P8 · 编码:编排与失败处理 ​

中心内容:空文本必须抛异常,不能静默通过。

  • 页面内容:ParserRegistry 按扩展名分发 + 空文本校验

  • 讲解技巧

    • 这一页是本节的职业素养体现:静默返回空 = 文档看起来灌进去了 = 用户问不到 = 你无从排查。
    • 给出做法:解析后强制校验长度,为空直接失败并把文件挪到失败目录。
  • 时长:4min


P9 · 验证与小结 ​

中心内容:扫描件必须抛异常,这是本节最重要的验收点。

  • 页面内容:五类测试文档各自的通过标准

  • 讲解技巧

    • 现场放一个扫描件进去,看到异常抛出。这个「报错」是本节成功标志,要庆祝一下。
    • 结尾引出:表格被解析成乱码怎么办?——02-04 结构感知切分。
  • 时长:2min


讲师备忘 ​

项内容
课前必做准备四类测试 PDF(普通/带表格/带页眉页脚/扫描件)
最容易超时处P4 的三条启发式,容易展开讲版面分析算法——给阈值就收
学员最常问「有没有现成的 PDF 解析库?」答:PDFBox 是基础,结构还原要自己做
现场备用找不到扫描件样本 → 用图片转 PDF 现造一个