跳到正文

第11章笔记:检索、问答与RAG

课程笔记

贯通稀疏/稠密检索、重排、抽取/生成问答、RAG和端到端归因。

关联:章节 第11章 检索、问答与RAG

第11章笔记:检索、问答与RAG

本章任务

贯通稀疏/稠密检索、重排、抽取/生成问答、RAG和端到端归因。 先用一条能人工判断的短文本、标签序列、语法树或检索集合建立基准,再让代码输出完整中间证据,最后在真实语料、困难语言切片和生产约束下验收。

七节连接

  • 稀疏检索、倒排索引与BM25:倒排索引从词到文档列表,BM25结合词频饱和、逆文档频率和长度归一形成可解释基线。 核心关系:idf≈log((N-df+0.5)/(df+0.5)) under BM25 variant。 算例:稀有词df小则idf高;同词在超长文档中的边际贡献被长度归一抑制。 边界:索引和查询tokenization不同;把停用词全部删除损伤短语。
  • 稠密检索与双编码器:双编码器独立编码查询和文档,以向量相似召回;负样本、池化和索引版本决定语义空间。 核心关系:score(q,d)=cosine or dot product of embeddings。 算例:单位向量点积.8则余弦.8;若未归一,点积还受范数影响。 边界:文档encoder升级但索引未重建;测试问答对进入负样本挖掘。
  • 混合检索、重排与候选预算:稀疏擅长精确词,稠密擅长语义;融合后cross-encoder重排有限候选,召回上限受第一阶段限制。 核心关系:final recall≤candidate-stage recall。 算例:第一阶段未召回答案文档,重排器再强也无法恢复。 边界:只报重排后MRR不报候选召回;并集未去重挤占预算。
  • 抽取式问答与跨度概率:抽取QA在给定上下文预测起止位置,需保证end≥start并处理无答案、长文切窗与跨窗口。 核心关系:score(span i,j)=start_score_i+end_score_j with legal constraints。 算例:start2分3、end4分2,总span分5;非法end<start应排除。 边界:答案被tokenization拆分后偏移错;每窗概率直接横比未校准。
  • 生成式问答与证据约束:生成QA可综合多段信息,但输出不天然受证据约束;必须区分答案正确、证据充分和引用对应。 核心关系:grounded answer=answer correctness∧evidence support∧citation alignment。 算例:答案数字正确但引用段没有该数字,不能算有根据。 边界:模型参数知识覆盖检索证据却无提示;引用只指整页无法核对。
  • RAG分块、上下文组装与冲突:RAG把检索文档切块、召回、重排并组装上下文;chunk边界、版本、新鲜度和互相冲突需显式处理。 核心关系:usable context=top evidence within token budget after dedup/version/conflict checks。 算例:预算1000 token,系统/问题200,若每块200,最多装4块且未计分隔符。 边界:把相邻重叠块当独立证据;旧政策与新政策混合生成。
  • 检索问答评价与失败归因:端到端失败可来自语料缺失、索引、召回、重排、阅读、生成或引用;只看答案分数无法定位。 核心关系:end success requires corpus coverage×retrieval×reader/generator×policy chain。 算例:100问中90有证据、其中80召回、其中70回答正确,端到端70%。 边界:用生成器补猜掩盖召回失败;答案近似匹配把关键数字错算对。

实验要求

运行本章两道Python语言算法实验的四组测试,并新增空文本、Unicode边界、未知词、非法标签、句法歧义、否定、长上下文、低资源语言、域外、证据冲突或提示注入中的至少一种。保存原文hash/offset、Tokenizer、数据与模型版本、随机种子、中间格表/结构/概率、输出、证据和首个偏差。

错题闭环

按字符/token/offset、规范化、概率分母、动态规划状态、标签约束、句法结构、语义作用域、训练测试泄漏、检索召回、引用蕴含、校准、隐私和工具授权分类。更换一个词频、上下文、标签、阈值、候选数、语言或证据版本重做阶段卷;能先预测变化方向,再复算并解释失效,才算掌握。