RAG:文本检索中的 TF‑IDF 与 BM25

张开发
2026/5/7 19:53:02 15 分钟阅读
RAG:文本检索中的 TF‑IDF 与 BM25
在构建检索增强生成Retrieval-Augmented Generation, RAG系统时核心问题在于当用户提交查询时系统如何从海量知识库中精准召回相关文档片段一、TF‑IDF1.1 核心思想TF‑IDFTerm Frequency–Inverse Document Frequency词频‑逆文档频率基于一个统计直觉一个词对文档的区分能力或者说重要性取决于它在该文档中出现的频率局部的与在整个语料库中的全局稀有程度的乘积。出现的频率高不一定就重要还需要区分这个词的辨识度稀有程度。归一将原始数据通过线性或非线性变换映射到一个固定的数值范围通常是 [0,1] 或 [-1,1]或者使其具有统一的统计特性如均值为0、方差为1平滑对原始的计数或概率分布进行人为调整通常是将零概率赋一个很小的正值或者压缩极端高/低的值以避免数学上的奇异如除零、log(0)或过拟合前置术语1.2 词频TF局部重要性度量词频计算需消除文档长度带来的偏差。基础形式为原始词频 词语 在文档 中的出现次数。工程实践中常采用对数词频logarithmic term frequency这体现了一个常见的规律一个词从出现 0 次到 1 次带来的信息量提升通常要大于从 100 次到 101 次的提升。1.3 逆文档频率IDF全局稀有性度量其中 为语料库文档总数 为包含术语 的文档数。这样一来像“的”“是”“了”这类停用词因为到处都有IDF 值接近零自然就被降权了我们也就没那么依赖停用词表。完整公式链最常用的 sklearn 变体带平滑的平滑版最后还会做 L2 归一化向量除以其自身的模这一步让不同长度文档的向量可以直接比较余弦相似度。1.4 检索机制与向量表示文档集合经 TF‑IDF 加权后构成高维稀疏矩阵 为词典规模 为文档数。检索阶段将查询 映射至同一向量空间通过余弦相似度计算相关性1.5 TF‑IDF 的缺陷缺陷具体表现工程影响词频无饱和机制线性增长导致长文档中高频词得分过度膨胀偏向长文档主题聚焦度判断失真长度归一化粗糙L2 全局归一化无法针对单个术语独立调节核心术语权重被背景内容稀释缺乏可调超参数算法行为固定无法适配不同检索场景任务适配性受限二、BM252.1 理论背景BM25Best Match 25源于 Okapi 信息检索系统1994其中的“25”指代实验迭代版本。其理论根基为 Robertson‑Sparck Jones 概率检索模型。核心问题重构为在假设文档 与查询 相关的前提下术语 出现的概率是多少2.2 核心改进一饱和化的词频加权BM25 的TF项为其中 为词频 为文档长度 为语料库平均文档长度。当 时该项趋近于 形成明确上界体现信息增益的边际递减。参数 控制饱和速率•低 ≈1.2快速饱和强调 IDF 权重适用于精准匹配场景法律文书、代码检索•高 ≈2.0缓慢饱和保留词频信息适用于主题相关性场景新闻检索、开放域问答。k1和b逻辑k1 决定关键词需要重复多少次才能证明文档是相关的。k1越大模型就越“耐心”需要看到更多次重复才肯给高分。比如在长篇小说的语料中一个词出现多次不一定代表它就是主题因此需要较大的k1来延缓饱和。反之在短文本中k1较小能让模型快速判断文档是否相关。b 决定我们多大程度上认为长文档是因为包含更多无关内容才提及关键词的。b越大对长文档的“偏见”就越强惩罚力度也越大。因此在专利、工程技术文档这类主题聚焦的长文中应该使用较小的b值比如b0避免长文档被过度打压。反之对于内容发散、主题广泛的语料如新闻、产品评论b较大如b1能有效抑制长文档中大量无关信息的影响2.3 核心改进二内嵌式长度归一化长度归一化项为 其中 为归一化强度系数• 完全忽略长度因素• 推荐默认值适度惩罚长文档• 完全归一化。该机制支持字段级差异化配置如标题字段设低 正文字段设高 较 TF‑IDF 的全局 L2 归一化更为精细。2.4 核心改进三平滑化的 IDF 计算采用 Robertson 平滑公式分子分母中的 平滑项防止除零错误并确保 IDF 恒为正避免当 时出现负值。2.5 默认配置Elasticsearch 7.0 已将默认相似度算法从 TF‑IDF 迁移至 BM25其内置参数 、 已成为业界事实标准。三、稀疏检索的局限尽管 BM25 显著优于 TF‑IDF两者依旧存在缺陷•词汇鸿沟Vocabulary Mismatch查询“汽车保险怎么买”与文档“车辆险种如何购置”因零词汇重叠而无法匹配尽管二者语义等价。•句法结构缺失“A 优于 B”与“B 优于 A”在稀疏表示中完全等价系统无法捕捉逻辑关系的方向性。这些局限在 RAG 场景中尤为突出用户自然语言查询与知识库文档的措辞分布存在系统性差异。四、语义检索4.1 密集检索Dense Retrieval2020 年Meta AI 提出的 DPRDense Passage Retrieval标志着检索范式的重大转移paradigm shift。核心机制为采用预训练语言模型如 BERT、RoBERTa、E5将查询与文档编码为稠密向量通常为 768 维或 1024 维通过向量内积或余弦相似度计算语义相关性模型通过对比学习contrastive learning训练正例文档在向量空间中逼近查询负例文档则被推远。该机制赋予模型跨词汇的语义泛化能力如识别“汽车‑车辆”“爱因斯坦‑相对论”的语义关联。4.2 双编码器与交叉编码器的架构分工架构计算模式适用阶段特性Bi‑encoder双编码器查询与文档独立编码预先计算文档向量召回Retrieval毫秒级延迟支持百万级索引精度相对有限Cross‑encoder交叉编码器查询与文档拼接输入全量注意力交互精排Reranking精度最优无法预计算仅适用于 Top‑K 重排序4.3 稀疏向量的神经化演进SPLADESPLADESparse Lexical and Expansion模型代表稀疏检索的神经化方向通过 Transformer 编码器为每个文档输出学习得到的稀疏权重向量维度仍对应词典但权重为模型推断的语义相关性而非统计频率。关键创新在于查询扩展query expansion即使文档未显式包含某术语模型仍可赋予其非零权重从而在保留倒排索引效率的同时获得语义泛化能力。4.4 晚期交互架构ColBERTColBERTContextualized Late Interaction over BERT采用细粒度交互策略保留文档各 token 的上下文化向量表示而非压缩为单一向量检索时计算查询 token 与文档 token 的最大相似度聚合MaxSim该设计在精度与效率间取得平衡——文档向量可预计算检索时仅执行轻量级的 MaxSim 运算。五、混合检索5.1 单一局限性单一检索范式存在能力盲区例如下表所示场景密集检索表现BM25 表现“RTX 4090 驱动问题”可能因训练语料中产品型号稀疏而失准精确字符匹配高可靠“神经网络优化技巧”语义泛化能力强可匹配“深度学习调参”受限于词汇重叠5.2 分数融合策略倒数排名融合Reciprocal Rank Fusion, RRF不依赖原始分数尺度仅基于排名位置其中 60 为平滑常数通常取 60 为检索路数 为文档 在第 路检索结果中的排名。该策略对分数分布不敏感工程实现稳健。加权线性融合对归一化后的分数进行加权求和权重 可通过验证集网格搜索或贝叶斯优化确定典型配置为 。六、技术选型决策矩阵技术方案核心能力主要局限RAG 适用场景BM25精确词汇匹配零 GPU 依赖实时索引更新词汇鸿沟缺乏深层语义理解法律/医疗专业术语库产品型号检索冷启动阶段TF‑IDF特征可解释性强BM25 的全部局限且程度更深文本分类特征工程非检索类 NLP 任务Dense Retrieval (Bi‑encoder)语义相似度建模跨语言检索精确字符串匹配弱GPU 推理开销通用开放域问答多语言 RAG概念性查询SPLADE语义能力 倒排索引效率需专用模型训练部署复杂度高具备倒排索引基础设施且追求精度的场景ColBERT细粒度 token 级交互存储开销显著每 token 一向量存储预算充足的高精度需求场景混合检索BM25 Dense能力互补覆盖多类查询模式系统复杂度提升多组件运维生产级 RAG 的主流架构选择Cross‑encoder 精排检索精度上限最高延迟不可接受无法预计算仅作为 Top‑K 重排序层不参与全库检索结语TF‑IDF 确立了术语加权的统计直觉局部频率与全局稀有性的乘积构成区分性度量。BM25 在此基础上引入饱和函数与内嵌长度归一化使检索行为更贴合真实信息需求成为信息检索领域长期以来的工程基石。进入 RAG 时代稀疏检索并未过时而是与密集检索形成能力互补。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多文章