RAG:数据切分框架概述

背景与边界

数据切分(Chunking)是 RAG 流程入口。该节点将原始文档转成可检索语义单元,直接决定召回(Retrieval)上限。

要完成的工作

  • 输入:Markdown、PDF、网页、表格、OCR 文本。
  • 处理:清洗、解析、切分、重叠、元数据补充、版本管理。
  • 输出:标准 Chunk(chunk_iddoc_idtextmetadata)。

实现目标

  • 提升召回可达性与语义完整性。
  • 控制 chunk 总量与平均长度。
  • 支持增量更新与可追踪回溯。

阶段指标

评测本阶段时冻结下游检索器与 $k$,避免把召回/生成的变化算进切分。

段末注释:召回率@k(Recall at k,Recall@k) = 金标准相关块落入检索前 $k$ 条的比例;本阶段用它当切分质量的下游代理,不是生成对错。

召回率@k(冻结检索)

  • 含义:切分策略变了之后,同一批问句、同一嵌入与同一 $k$,金标准证据还能不能进候选。量的是可达性上限
  • 计算:查询 $q$ 的金标准相关块集合为 $R_q$,检索前 $k$ 条为 $T_k(q)$,
    $$
    \mathrm{Recall}@k=\frac{1}{|Q|}\sum_{q\in Q}\frac{|R_q\cap T_k(q)|}{|R_q|}
    $$
  • 适配:对比 chunk_size / overlap / 语义边界;多约束问句(剂量 + 时限)是否被拆散。
  • 不适配:检索器、重排、提示同时在改——数字无法归因到切分。

语义完整率(Semantic Completeness,SC)

  • 含义:一条原子事实(数值、条件、否定)是否落在同一个 chunk 内。
  • 计算:标注原子事实集 $F$,
    $$
    \mathrm{SC}=\frac{1}{|F|}\sum_{f\in F}\mathbf{1}\bigl[\exists,c:;f\subseteq c\bigr]
    $$
  • 适配:条款、方法步骤、统计表述;解释「为什么短窗口 Recall 低」。
  • 不适配:事实天然跨段(需层级切分或多跳),SC 低不等于切分失败。

Chunk 膨胀比

  • 含义:重叠与多粒度带来的索引体积代价。
  • 计算:原文 token 数 $|D|$,切分后 $\sum_c |c|$,
    $$
    \mathrm{Inflation}=\frac{\sum_c |c|}{|D|}
    $$
  • 适配:overlap 网格、父子双层索引是否划算。
  • 不适配:单独当质量指标;膨胀低但 SC 低是假节省。

阅读顺序正确率

  • 含义:版面块顺序是否与人类阅读一致(双栏、图表穿插)。
  • 计算:以金标准相邻块有序对为分母,预测顺序中仍保持先后的比例。
  • 适配:Document Parsing、扫描件/双栏 PDF。
  • 不适配:已是 Markdown/纯文本,本指标接近饱和,应看 SC 与 Recall@k。

主要难点

  • 固定窗口易截断语义,过大又会引入噪声。
  • 多格式文档结构不一致。
  • 版本变更导致 chunk 漂移。

成熟解决方案

  • 结构优先切分(标题、段落、表格边界)。
  • 语义切分(相似度判边界)。
  • 层级切分(父子 Chunk 联合)。
  • 离线评测门禁后上线。

二级方法对比(含 100 篇生物学文献量级)

假设(全文同):约 100 篇生物学 PDF(期刊/预印本,约 10–15 页/篇,含摘要、正文、图表与参考文献);离线批处理;硬件参考 单卡 NVIDIA A10 24GB + 32GB 系统内存。下表为工程量级估算,非固定基准;生物领域常见 双栏、插图、化学式与密集引用,解析与切分偏「偏重」。

二级方法 适用范围 特点 主流实现框架 100 篇文献·资源消耗(估算) 100 篇文献·时间消耗(估算)
Chunking-centric 版式已规整、需统一 chunk 策略 以切分/重叠策略拉齐召回上限,常配合离线 recall 评测 langchain-text-splitters;LlamaIndex SentenceSplitter / SemanticSplitter 内存 8–16 GB;磁盘增量约 0.5–1.5 GB可不使用 GPU 多策略网格 + 同一批评测问句:约 0.5–2 CPU·h
Document Parsing 扫描件、双栏、表格/公式/插图多 版面、阅读顺序、表格结构先于切分,决定下游上限 数字 PDF:Docling;生信双栏+公式:MinerU;多格式兜底:Unstructured 内存 16–32 GB;临时磁盘 10–25 GB;可选 GPU 8 GB(布局/检测加速) 解析 + OCR + 表格:约 3–10 CPU·h,或 1–4 GPU·h(视工具与是否批处理)
Hierarchical Chunking 长篇综述、章节层级明显 父子 chunk 联合检索,粗到细两级 LlamaIndex ParentDocumentRetriever / HierarchicalNodeParser;LangChain Parent Retriever 索引体积约为扁平策略 1.2–1.8×;内存 +15–30% 建库较同语料扁平切分:约 +30%–70% 离线时间

与二级文档映射

-------------本文结束感谢您的阅读-------------