什么是 分块重叠(Chunk Overlap)?

分块重叠(Chunk Overlap)是在相邻文档分块之间保留的重复文本,使切分边界附近的信息仍然可以被检索到。

工作原理

分块重叠是可选的边界恢复机制,而不是 Chunk Size 的必设百分比。重复源文本可能找回被人工窗口切断的证据,也会扩大索引、产生近重复候选,并在固定上下文预算下减少唯一证据。应从零重叠基线开始,在边界敏感查询上测试多个绝对 Token 数,同时固定唯一检索 Token 预算。还要保留权威 Offset,让重复文本映射到同一来源 Span,并把证据增益与重复上下文比率分开报告。

主要特点

  • 保留分块边界附近的局部上下文
  • 可选而非必需:零重叠是对照条件
  • 使用绝对重复 Token 数,以便消融实验可比较、可审计
  • 按唯一证据增益、重复上下文比率、索引增长与延迟评估
  • 保留权威 Offset:多个重复副本都解析到同一原始证据 Span
  • 依赖策略:结构边界、句子窗口或 Parent 扩展可能消除重叠需求

常见用途

  1. 把定义和紧随其后的解释保留在跨边界上下文中
  2. 在段落长于目标分块大小时减少回答失败
  3. 保留分块边界附近的代码注释和代码行
  4. 在边界敏感查询上测试零重叠与多个绝对 Token 候选值
  5. 当重叠只增加重复上下文而没有找回唯一证据时拒绝该策略

示例

loading...
Loading code...

常见问题

RAG 系统应该设置多少分块重叠?

不要继承百分比。先建立零重叠基线,检查已标注的边界失败,再测试少量绝对 Token 候选值。固定唯一检索 Token 预算,只有唯一证据恢复收益超过重复上下文、索引增长与延迟成本时才采用重叠。

分块重叠会伤害检索效果吗?

会。即使不大的重叠也可能生成重复向量和结果。应衡量重复上下文比率与唯一证据密度,不能假设 Reranker 会移除全部重复项。

结构化数据需要分块重叠吗?

通常不需要。记录、行和边界清晰的字段更需要保留 Schema、血缘与鉴权,而不是滑动重叠。只有证据确实跨越结构边界的查询才值得测试例外。

分块重叠会影响引用吗?

重复副本必须保留权威来源 Offset,并在引用前去重。即使多个召回 Chunk 都包含同一文本,引用评分也只能把原始证据 Span 计算一次。

相关工具

相关术语

相关文章