一篇文章讲明白tf-idf,BM25
2026/6/6 8:59:36 网站建设 项目流程

第一章基础概念

1.1TF-IDF 核心概念

TF-IDF 是文本向量化工具,核心目标是「把文本转化为可量化的关键词权重向量」,而非直接计算相似度:

  • TF(词频):一个词在某篇文档中出现的次数,反映该词在文档内的重要性;

  • IDF(逆文档频率):一个词在整个文档库中出现的文档数越少,IDF 越高,反映该词的 “区分度”(比如 “RAG” 比 “的” 区分度高);

  • 核心逻辑:TF × IDF = 词的最终权重 → 每篇文本转化为 “词 - 权重” 的向量(比如「大模型:0.8,RAG:0.9」);

  • 关键特点:仅做 “文本→向量” 的转换,相似度需后续用余弦相似度等工具计算;无词频饱和(高频词权重易失真)、无文档长度归一化(长文档易占优)

1.2BM25核心概念

BM25 是检索场景专用的相似度评分算法,核心目标是「直接计算查询与文档的相关性分数」,专为 RAG 等检索场景设计:

  • 核心逻辑:对查询中的每个关键词,计算其在文档中的 “贡献分”(融合 TF、IDF,新增「词频饱和度」「文档长度归一化」)→ 所有关键词贡献分求和 = 最终相似度评分;

  • 关键优化(对比 TF-IDF)

    1. 词频饱和:高频词的权重增长会放缓(比如 “RAG” 出现 10 次≠权重涨 10 倍),避免刷屏;

    2. 长度归一化:显式修正文档长度影响(长 / 短文档公平对比);

  • 关键特点:无需向量转换,直接输出相似度分数;是 RAG 中文本召回的首选,效果远优于 TF-IDF。

第二章tf-idf计算

2.1计算方法

TF-IDF 的计算流程核心是「先分词预处理,再逐词算 TF/IDF,最后合成向量」,全程围绕 “把文本转化为关键词权重向量” 展开

总流程(5 步):预处理 → 算 TF → 算 IDF → 算 TF-IDF 权重 → 生成文本向量

2.2计算实例

第三章bm25计算

3.1计算方法

通过上述计算公式,可以得到每个词的在每个文档中的相似度,把query中每个词的相似度加起来就是query和每个文档的相似度

第四章总结

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询