结构化切分是什么
结构化切分利用文档自身的结构确定块边界:Markdown 标题、HTML 标签、Word 样式、公文层级都是现成的分界信号。切分时把标题路径(一级、二级、三级)写进块的元数据,检索命中后既能按章节回溯上下文,也能按章节做过滤。需要注意两类例外:表格与代码块不能被从中间切断,跨页与跨章节的长表要单独处理,否则会产生半截内容进入索引。
基本信息
| 切分依据 | Markdown 标题、HTML 标签、公文层级样式 |
|---|---|
| 元数据 | 标题路径写入块元数据,支持回溯与过滤 |
| 优势 | 块边界天然合理,语义完整 |
| 例外处理 | 表格与代码块保持完整,不跨块切断 |
| 配合手段 | 检索时把层级路径拼进检索文本 |
| 校验方式 | 抽查块首尾是否为完整句子或完整表格 |
典型使用场景
- 技术文档与手册:按章节切分,保留目录层级
- 制度与规范:按条款切分,便于定位具体条目
- 网页内容入库:按标题标签提取正文与层级
- 多级目录材料:把层级路径带进元数据,支持按章节过滤
- 代码仓库文档:代码块与说明保持完整不被切断
- 混合来源统一:不同类型文档收敛到同一套切分规范
按标题切分并保留层级
按标题切分并保留层级
原始结构:
# 政策
## 报销
### 差旅费标准
切出的块:
内容:市内交通费按实报实销,单次不超过 200 元。
元数据:section = 政策 > 报销 > 差旅费标准
# 短章节可与其父章节合并,避免切出过小的块
# 表格与代码块整体保留,宁可让块变长也不切断
# 入库前抽查 20 个块,确认首尾完整、层级路径正确切分策略对比
| 策略 | 适用文档 | 代价 |
|---|---|---|
| 固定长度切分 | 结构松散的纯文本 | 容易从句子或表格中间切断 |
| 按标题层级切分 | 手册、制度、技术文档 | 短章节会切出很小的块,需要合并 |
| 按语义段落切分 | 散文与说明类文本 | 需模型辅助判断,成本较高 |
| 父子块组合 | 既需精确命中又需完整上下文 | 实现与维护复杂度上升 |
检索时把标题路径拼进检索文本,能显著改善章节语义的表达,尤其适合条款类文档;代价是可检索文本变长,需要控制拼入层级数。
过小的块是隐性成本:块太小会失去可判断的语义,重排与生成都拿不到足够信息,切分后按最小长度做合并是常规做法。