M7-022M7: Retrieval, Ranking & RecSysHybrid Retrieval & RRF FusionHard
Mastery:
Hybrid Retrieval & RRF Fusion: 解释检索中的查询改写与扩展。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 改写(补全指代/纠错/分解)与扩展(加同义词/相关词)可提升召回;但可能引入噪声(查询漂移)。
📌 Key Takeaways
- •改写:补全上下文、纠错、分解多跳问题、调整表述
- •扩展:加同义词、相关词、上位词(提升召回)
- •风险:查询漂移(扩展偏了导致噪声)、成本(额外 LLM 调用)
📐 Mathematical Derivations
数学机理:<strong>查询改写与扩展</strong>——(1) <strong>改写(rewriting)</strong>——把查询<strong>变换</strong>为更'可检索'的形式:(a) <strong>上下文补全</strong>(多轮对话中'它'指什么);(b) <strong>拼写/语法纠正</strong>;(c) <strong>多跳分解</strong>('A 的创始人的母校' → 拆成'A 的创始人' + '其母校');(d) <strong>意图澄清</strong>('苹果' → '苹果公司' 或 '苹果水果');(e) <strong>表述规范化</strong>(口语 → 书面)。(2) <strong>扩展(expansion)</strong>——<strong>增加</strong>词(而非替换):(a) <strong>同义词</strong>('汽车' → '汽车 轿车 车辆');(b) <strong>相关词/共现词</strong>;(c) <strong>上位词/下位词</strong>('水果' → '水果 苹果 香蕉');(d) <strong>翻译</strong>(跨语言扩展);(e) <strong>伪相关反馈(PRF/RM3)</strong>——先用原查询检索、假设 top-k 相关、从中提取扩展词。<strong>收益</strong>——提升<strong>召回</strong>(尤其对'短查询/词汇失配');<strong>代价</strong>——(a) <strong>查询漂移(query drift)</strong>——扩展词偏了(PRF 尤其明显:若首次检索差则越走越偏);(b) <strong>精度下降</strong>(引入噪声);(c) <strong>成本</strong>(额外 LLM 调用 / 额外检索);(d) <strong>延迟</strong>(多一次往返)。<strong>什么时候该做</strong>——(a) <strong>短查询/歧义查询</strong>——收益大;(b) <strong>多轮对话</strong>——必须补全上下文;(c) <strong>多跳问题</strong>——必须分解;(d) <strong>长且明确的查询</strong>——<strong>不该做</strong>(已足够明确,扩展只会引入噪声);(e) <strong>精确匹配需求</strong>(如'查找 ERR_403')——<strong>不该扩展</strong>(会破坏精确性)。<strong>实现方式</strong>——(a) <strong>规则</strong>(同义词表、词典);(b) <strong>统计</strong>(PRF/RM3、词共现);(c) <strong>模型</strong>(用 LLM 改写/扩展——当前主流);(d) <strong>知识图谱</strong>(用实体关系扩展);(e) <strong>多查询生成</strong>(生成多个改写、各自检索、融合)。<strong>与'多查询'的关系</strong>——(a) <strong>单查询扩展</strong>(把扩展词并入原查询);(b) <strong>多查询</strong>(生成 m 个改写,各自检索,用 RRF 融合);后者更鲁棒(某个改写偏了不至于全错)。<strong>评估</strong>——(a) <strong>召回提升</strong>(扩展的收益);(b) <strong>精度损失</strong>(引入的噪声);(c) <strong>端到端 NDCG</strong>;(d) <strong>漂移率</strong>(扩展后 top-k 与原 top-k 的重叠度——重叠过低说明漂移)。<strong>实践建议</strong>——(a) <strong>多轮对话必做上下文补全</strong>(否则检索质量差);(b) <strong>短查询可扩展</strong>(配多查询 + RRF 融合);(c) <strong>长/精确查询不扩展</strong>;(d) <strong>用多查询而非单查询扩展</strong>(更鲁棒);(e) <strong>按查询类型路由</strong>(分类后决定是否改写);(f) <strong>监控漂移率</strong>。<strong>度量</strong>——(a) 分查询类型的召回/NDCG;(b) 漂移率;(c) 延迟与成本。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'查询漂移'是扩展的核心风险</strong>——PRF 尤其明显;面试中能指出这一点是深度理解的标志。② <strong>'不是所有查询都该改写'</strong>——长/精确查询扩展会引入噪声;故需'按查询类型路由'。③ <strong>'多查询 + RRF 融合'比'单查询扩展'更鲁棒</strong>——因为某个改写偏了不至于全错。④ <strong>'多轮对话的上下文补全'是必需的</strong>——否则'它是什么'这类查询无法检索;这是对话式检索的基础。⑤ <strong>'多跳分解'与'迭代检索'的关系</strong>——多跳问题需'边推理边检索'(见 Self-RAG 与多跳题);不是一次改写能解决的。⑥ <strong>面试要点</strong>——被问'查询改写有什么用',应给出'<strong>改写(补全/纠错/分解)与扩展(同义词/PRF)+ 收益(召回)+ 风险(漂移/噪声/成本)</strong>'与'<strong>按查询类型路由 + 多查询融合 + 监控漂移率</strong>';能指出'不是所有查询都该改写'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕对所有查询都做扩展(长/精确查询受损)
- ✕用 PRF 不监控漂移(可能越走越偏)
🎯 Interviewer Follow-ups
- ?改写与扩展的区别?
- ?什么时候不该改写?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.