标题层级推断
概述
标题层级推断是 MinerU 内容生成器中的子机制,通过字号相对大小和编号模式检测,将 PDF 中的标题块映射为 Markdown 的 H1~H4 层级。
关键内容
核心算法
MinerU 通过字号相对比例推断标题层级:
size_ratio = font_size / body_font_size
其中 body_font_size 是文档正文的基准字号,在页面分析阶段计算得到。
层级判定阈值
| size_ratio | 推断层级 | 典型用途 |
|---|---|---|
| ≥ 1.8 | H1 | 章标题 |
| ≥ 1.4 | H2 | 节标题 |
| ≥ 1.15 | H3 | 小节标题 |
| < 1.15 | H4 | 段落标题(与正文字号接近但有粗体) |
辅助判断:编号模式检测
纯靠字号推断并不总是可靠。部分论文使用 Section 1.2.3 这样的编号系统,MinerU 会检测编号模式(如 1.、1.1、1.1.1)辅助判断层级,提高准确度。
局限性
- 字号阈值是经验值,不同文档的排版风格可能导致误判
- 某些文档中标题与正文字号差异不明显
- 非标准排版(如装饰性标题)可能无法正确识别
在流水线中的位置
标题层级推断发生在内容生成器阶段,当 block.type == "title" 时调用 estimate_heading_level() 函数,返回 1~4 的整数,用于生成对应数量的 # 前缀。
来源
- raw/assets/MinerU/minerU_08_output.md — MinerU 深度解析系列 · 第八篇:内容生成器与输出管道