结论先行:切片只是把文档切碎,四级增强才让每块“可被检索理解”。增强项是面包屑(章节路径)、关键词、摘要、HyDE 假设问题,它们从不同角度补足块的语义信号。
一、为什么切完还要增强
裸块只有一段原文,检索时能依赖的只有原文和 query 的相似度。但原文常常不写“自己属于哪一章、讲什么、能回答什么问题”:一块讲参数配置的正文,本身未必出现“配置”两个字;一块埋在附录里的罚则条款,不读上下文很难判断它适用于谁。这些信息其实都存在——章节树里有、标题里有、前后文里有——只是没有被写进块本身。
结果就是相关块排不到前面。用户的问题和块的原文像两种语言,向量空间里距离被拉远,Top-K 名额被那些“长得像问题”却更不相关的块占据。增强就是给每块补上这些缺失的语义信号,把原文之外的信息显式写进块里。一个直观的检验办法:拿 query 和最相关的块去算相似度,分数却低于一些只是用词相近的块,就说明信号缺失已经伤到排序了。
二、四级增强分别补什么
四级增强各有分工,分别从定位、术语、概括、提问四个角度补信号:
| 增强项 | 补的信号 |
|---|---|
| 面包屑 | 章节路径,定位“这块在哪” |
| 关键词 | 核心术语,强化术语召回 |
| 摘要 | 一句话概括,辅助粗排 |
| HyDE 假设问题 | 预设可能被问的问题,拉近 query 距离 |
面包屑来自章节树,回答“这块在哪”;关键词负责强化术语召回,型号、编号、指标词这类精确匹配主要靠它;摘要把块的内容压成一句话,粗排阶段先看摘要再决定要不要细看;HyDE 假设问题则预先站到用户一边,替块回答“可能被怎么问”。四项里前三项是确定性的,规则加模板就能算;只有 HyDE 需要模型生成,成本和收益要单独核算。
三、HyDE 怎么工作
HyDE(Hypothetical Document Embeddings,Gao et al., 2022)的做法是:先用模型为这块内容生成“如果用户来问,可能会怎么问”的假设问题,再把假设问题做 embedding 参与检索。因为 query 和问题形态更接近,相似度计算更准。原始论文见 arXiv:2212.10496。
它对两类场景帮助最大。一是长文档:块里信息密度高、可提问的角度多,假设问题相当于提前铺好了几条通往这块的路。二是口语化提问:用户问“这机器最多扛多少压力”,原文写“额定载荷上限”,假设问题把口语翻译成术语,距离一下就拉近了。假设问题不必贪多,每块两三条、覆盖主要提问角度即可。代价是入库时每块多一次生成开销,通常只对关键块做,或与缓存配合控制成本。
四、增强和父子块的关系
增强挂在父子 Chunk 上,两级各取所需:子块带关键词与假设问题用于精准检索,父块带面包屑与摘要用于上下文呈现。两者配合,检索既准又懂语境。换句话说,增强不是给块贴金,而是把检索时本来就要用的信息提前算好——入库时多花一分功夫,检索时少排一次错。
增强也不是一次性投入,规则改了就要重跑。改完之后效果有没有变好,不能靠肉眼感觉,要用评测说话:对比 HitRate@K、MRR 这类检索指标的前后变化,才是增强值不值得的判据。如果指标没动甚至变差,优先检查假设问题的生成质量,而不是急着回滚。
增强在切片之后、入库之前。切法见 切片策略,父子结构见 父子 Chunk;增强效果的度量见 RAG 评测三层指标。
落地要点:四级增强的适用边界
- 面包屑(章节路径):几乎无条件启用——成本极低,却让「第三章第二节」这类路径信息参与匹配,结构化文档收益最大。
- 关键词:对术语密集的文档(技术手册、合同)启用,弥补向量对型号、编号的低敏感。
- 摘要:长块(法律 1500 档)优先,短块自带摘要价值不大。
- HyDE 假设问题:为每个 chunk 预生成「用户可能会怎么问」,对口语化提问场景(问答机器人)收益最大;原理见 HyDE 论文(Gao et al., 2022,arXiv:2212.10496)。
四级增强的代价是入库成本与维护成本上升:假设问题要随 chunk 更新而重建,所以增强层级要与知识生命周期治理(SHA-256 幂等、增量 diff)配合,只对变更块重建,见知识库生命周期治理。 HyDE 生效的前提是检索排序能识别改写信号,混合检索的融合机制见混合检索:BM25 与 Dense 的融合权重。
常见问题 FAQ
Q1:Chunk 四级增强是哪四级?
面包屑(章节路径)、关键词、摘要、HyDE 假设问题,分别从定位、术语、概括、提问四个角度补足块的语义信号,让裸块从只能靠原文相似度变成可被检索理解。
Q2:HyDE 是什么,为什么有效?
HyDE 先为块生成“用户可能怎么问”的假设问题再做 embedding。因为 query 和问题形态更接近,相似度计算更准,对长文档和口语化提问尤其有帮助,相当于提前铺好通往这块的路。
Q3:增强挂在哪一级块上?
挂在父子 Chunk 上:子块带关键词与假设问题用于精准检索,父块带面包屑与摘要用于上下文呈现。两级信号互相配合,检索既准又懂语境。
Q4:不增强直接入库会怎样?
裸块只能靠原文与 query 相似度,常因缺章节路径和术语信号排不到前面,相关块被淹没在 Top-K 之外。型号、编号、指标词这类精确匹配受影响最明显。
需要搭建企业级 RAG 知识库?了解丑梨AI
私有化部署的 RAG 数据工程基座:解析、清洗、脱敏、压缩、切片、治理、评测一站式流水线,全本地推理,数据不出域,单机可部署。