news 2026/3/14 1:04:43

一篇文章讲明白tf-idf,BM25

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一篇文章讲明白tf-idf,BM25

第一章基础概念

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和每个文档的相似度

第四章总结

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 10:42:27

SSH免密登录Jupyter服务器:提升AI开发效率的关键一步

SSH免密登录Jupyter服务器:提升AI开发效率的关键一步 在深度学习项目频繁依赖远程GPU服务器的今天,你是否也经历过这样的场景:深夜调试模型时,反复输入服务器密码、手动启动Jupyter、复制Token链接……每一步看似简单,…

作者头像 李华
网站建设 2026/3/14 8:20:44

Python安装路径冲突怎么办?Miniconda沙箱机制来帮忙

Python安装路径冲突怎么办?Miniconda沙箱机制来帮忙 在一台开发机上同时跑着三个项目:一个老项目的模型训练脚本要求TensorFlow 1.15和Python 3.7,另一个新项目用上了PyTorch 2.0需要Python 3.10,而第三个数据分析任务又依赖panda…

作者头像 李华
网站建设 2026/3/12 18:01:10

Jupyter Lab远程开发配置:打通SSH与浏览器安全通道

Jupyter Lab远程开发配置:打通SSH与浏览器安全通道 在当今数据科学、人工智能和工程研发的日常工作中,越来越多开发者面临一个共同挑战:本地机器算力有限,而实验所需的计算资源却日益增长。无论是训练深度学习模型,还是…

作者头像 李华
网站建设 2026/3/11 3:46:43

ADAS十年演进(2015–2025)

ADAS十年演进(2015–2025) 一句话总论: 2015年ADAS还是“被动安全AEB/LKA等基础功能的高端配置”,2025年已进化成“主动智能城区NOA记忆泊车端到端VLA大模型融合”的全场景普惠标配,中国从跟随者跃升全球领跑者&#x…

作者头像 李华
网站建设 2026/3/4 3:46:25

智能驾驶规划控制算法十年演进(2015–2025)

智能驾驶规划控制算法十年演进(2015–2025) 一句话总论: 2015年规划控制算法还是“规则Frenet优化MPC”的刚性工程时代,2025年已进化成“端到端VLA大模型游戏论博弈强化学习自适应量子级不确定性控制”的语义社交闭环,…

作者头像 李华
网站建设 2026/3/13 2:11:55

PyTorch安装避坑指南:解决conda activate报错问题的完整方案

PyTorch 安装避坑指南:解决 conda activate 报错的完整实践 在深度学习项目启动阶段,最让人沮丧的不是模型不收敛,而是连环境都跑不起来。你兴冲冲地准备复现一篇论文,打开终端,敲下 conda activate pytorch-env&#…

作者头像 李华