TF-IDF和BM25原理和区别

news2025/1/16 3:42:19

TF-IDF

TF-IDF是TF(词频,Term Frequency)和IDF(逆文档频率,Inverse Document Frequency)的乘积。我们先来看他们分别是怎么计算的:

TF的计算有多种方式,常见的是

除以文章总词数是为了标准化

IDF为:

如果一个词越常见,那么分母就越大,逆文档频率就越小越接近0。分母之所以要加1,是为了避免分母为0(即所有文档都不包含该词)。log表示对得到的值取对数,求log是为了归一化,保证IDF不会过大

所以TF-IDF 的计算就是:

以下有几个细节点的理解:

  1. IDF表征的是区分度、稀缺性,用以评估一个单词在语料库中的重要程度,一个词在少数几篇文档中出现的次数越多,它的IDF值越高,如果这个词在大多数文档中都出现了,这个值就不大了。从公式也可以看出来,由于log函数是单增函数,当文档总数固定时,包含该词的文档数越少,IDF值越大,稀缺性越强。背后的思想是某个词或者短语在一篇文章中出现的频率高(TF大),并且在其他文档中很少出现(IDF也大),则认为该词或短语具备很好的类别区分能力(TF-IDF就越大)
  2. TF刻画了词语w对某篇文档的重要性,IDF刻画了w对整个文档集的重要性。TF与IDF没有必然联系,TF低并不一定伴随着IDF高。实际上我们可以看出来,IDF其实是给TF加了一个权重

优点与不足

TF-IDF算法的优点是简单快速,结果比较符合实际情况。缺点是,单纯以"词频"衡量一个词的重要性,不够全面,有时重要的词可能出现次数并不多。这会导致TF-IDF法的精度并不是很高。而且,这种算法无法体现词的位置信息,出现位置靠前的词与出现位置靠后的词,都被视为重要性相同,这是不正确的。(常用的一种解决方法是,对全文的第一段和每一段的第一句话,给予较大的权重。)同时TF-IDF没有考虑词频上限的问题。

BM25

因为在TF-IDF 中去停用词被认为是一种标准实践,故TF-IDF没有考虑词频上限的问题(因为高频停用词已经被移除了)。而在某些频率较高的停用词不被去除的情况下,停用词的权重会被无意义地放大。比如文中提到的:

Elasticsearch 的 standard 标准分析器( string 字段默认使用)不会移除停用词,因为尽管这些词的重要性很低,但也不是毫无用处。这导致:在一个相当长的文档中,像 the 和 and 这样词出现的数量会高得离谱,以致它们的权重被人为放大。

这就是所谓的词频饱和度,TF-IDF的词频饱和度是线性的,而BM25的词频饱和度是非线性的:

公式:

 C = tf = \frac{word}{whole\_words},k > 0,b \in [0, 1],d为文档的长度,avdl是文档的平均长度

BM25和tfidf的计算结果很相似,唯一的区别在于中多了一项,这一项是用来对tf的结果进行的一种变换。把1 - b + b (\frac{d}{avdl})中的b看成0,那么此时项的结果为(\frac{(k + 1)tf}{k + tf}),通过设置一个k,就能够保证其最大值为1,达到限制tf过大的目的。

即:

[ \frac{(k + 1)tf}{k + tf} = \frac{k + 1}{1 + \frac{k}{tf}} ] 上下同除tf

k不变的情况下,上式随着tf的增大而增大,上限为k + 1,但是增加的程度会变小,如下图所示。在一个句子中,某个词重要程度应该是随着词语的数量逐渐衰减的,所以中间项对词频进行了一定罚,随着次数的增加,影响程度的增加会越来越小。通过设置k值,能够保证其最大值为k + 1,k往往取值1.2。

其变化如下图(无论k为多少,中间项的变化程度会随着次数的增加,越来越小):

1 - b + b \frac{d}{avdl}的作用是用来对文本的长度进行归一化。
例如在考虑整个句子的 tdidf 的时候,如果句子的长度太短,那么计算的总的 tdidf 的值是要比长句子的 tdidf 的值要低的。所以可以考虑对句子的长度进行归一化处理。

可以看到,当句子的长度越短,1 - b + b \frac{d}{\text{avdl}} 的值是越小,作为分母的位置,会让整个第二项越大,从而达到提高短文本句子的 BM25 的值的效果。当 b 的值为 0,可以禁用归一化,b 往往取值 0.75。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1885918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【浦语大模型开源探索】InternLM实战营第二期:技术笔记与全链路解析

本次课程链接在GitHub上: InternLM/Tutorial at camp2 (github.com) 第一次课程录播链接: 书生浦语大模型全链路开源体系_哔哩哔哩_bilibili InternLM2技术报告: arxiv.org/pdf/2403.17297.pdf 一、书生浦语大模型全链路开源体系笔记 Int…

页面速度是如何影响SEO的?

搜索引擎使用复杂的算法来衡量您网站的重要方面,以决定是否向您发送流量。 搜索引擎使用您网站的小元素来确定您网站的质量和真实性,然后此操作将转化为您的网页在搜索引擎结果页面 中出现的位置。提高您在 SERP 中的排名的过程称为搜索引擎优化 (SEO)。…

.net 项目中配置 Swagger

一、前言 二、Swagger 三、.net 项目中添加Swagger 1、准备工作 (1).net项目 (2)SwaggerController (3)XML文档注释 2、安装Swagger包 3、 添加配置swagger中间件 (1)添加S…

提升效率就靠它们啦

Hey小伙伴们~👋 知道你们都在忙碌的工作中寻求高效的秘诀,今天就给大家安利五款超实用的国产工作App,让你的工作生活更加得心应手哦!💼✨ 1️⃣【亿可达】 作为一款自动化工具,亿可达被誉为国内…

数据结构-----【链表:基础】

链表基础 1、链表的理论基础 1)基础: 链表:通过指针串联在一起的线性结构,每个节点由两部分组成,一个是数据域,一个是指针域(存放指向下一个节点的指针),最后一个指针…

重塑电商版图:全民拼购的崛起与魅力

在数字化浪潮的推动下,电子商务领域正经历着前所未有的变革,其中,全民拼购作为一种创新的电商玩法,正逐步成为市场的新宠。本文旨在深入探讨全民拼购的核心理念、运作机制、独特优势及其引人入胜的参与方式,为行业内外…

如何挑选适合的无线模块?哪些方面值得关注

市场上的无线模块种类繁多,如LoRa模块,WiFi模块,蓝牙模块,UWB模块等涵盖了各种不同的通信标准和应用需求,为满足模块的特定需求并能实现模块最大的性能价值,那么在选择无线模块的时候可以考虑以下几个方面。…

跟我练习100道FPGA入门题目~(1/100)

难度指数:一颗星 关键词:组合逻辑、入门基础 题目介绍: 多路选择器又称为数据选择器,请参考真值表设计一个二选一多路选择器。 其中s为控制信号,d0,d1为两个输入信号,y为输出信号。当s为低电…

金蝶云星空字段之间连续触发值更新

文章目录 金蝶云星空字段之间连续触发值更新场景说明具体需求:解决方案 金蝶云星空字段之间连续触发值更新 场景说明 字段A配置了字段B的计算公式,字段B配置了自动C的计算公式,修改A的时候,触发了B的重算,但是C触发不…

如何利用GPT-4o生成有趣的梗图

文章目录 如何利用GPT-4o生成有趣的梗图一、引言二、使用GPT-4o生成梗图1. 提供主题2. 调用工具3. 获取图片实际案例输入输出 三、更多功能1. 创意和灵感2. 梗图知识 四、总结 如何利用GPT-4o生成有趣的梗图 梗图,作为互联网文化的一部分,已经成为了我们…

怎么找到DNS服务器的地址?

所有域都注册到域名名称服务器(DNS)点,以解析域名应指向的IP地址。此查找类似于在查找个人名称并查找其电话号码时的电话簿如何运行。如果DNS服务器设置错误或指向错误的名称服务器,则域可能无法加载相应的网页。 如何查找当前的…

nginx.conf的配置文件

nginx.conf 1.全局模块 worker_processes 1 工作进程数,设置成服务器内核数的2倍(一般不超过8个,超过8个会降低性能4个 1-2个) 处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件的数量。 linux默认打…

一键AI抠图太方便啦!不会ps也能成为修图大师

引言 在数字生活中,抠图技能已成为一项日常且必不可少的技能。无论是需要更换证件照的背景色,还是想要将图像中的主体精确分离。 但并非所有人都精通Photoshop,而且对于简单的任务来说,使用Photoshop可能显得过于复杂。因此&…

手机数据恢复篇:如何在恢复出厂设置后的 iPhone 恢复短信

您可能会认为,在恢复出厂设置iPhone后恢复短信时,一切都会丢失,但是仍然有一些方法可以检索您的重要对话。截至 2024 年,数据恢复技术的进步使得从备份甚至直接从设备内存中抢救消息变得更加容易。无论是通过 iCloud、iTunes 还是…

【大数据】什么是数据融合(Data Fusion)?

目录 一、数据融合的定义 二、数据融合的类型 三、数据融合的挑战 四、数据融合的方法 五、数据融合的关键环节 1.数据质量监控指标的制定和跟踪 2.异常检测和处理机制 3.实时数据监测与反馈机制 4.协同合作与知识共享 一、数据融合的定义 数据融合(Data Fusion&…

【linux】网络基础(2)——udp协议

文章目录 引言udp协议的特点udp的头部结构UDP的工作原理简单的UDP网络程序套接字的认识udp服务端代码udp客户端代码服务端运行 引言 用户数据报协议(User Datagram Protocol, UDP)是一种无连接的传输层协议。它是因特网协议家族的一部分,定义…

武汉星起航:无锡跨境电商加速“出海”,物流升级助品牌全球布局

随着全球化的不断深入,跨境电商作为数字外贸的新业态,正逐渐成为无锡企业拓展海外市场的重要渠道。武汉星起航关注到,近年来,无锡市通过积极推进国际物流枢纽建设,完善海外仓布局,以及各特色产业带的积极参…

《单片机》期末考试复习-学习笔记总结

题型 问答题(15分)编程题(65分)编程题1(20分)编程题2(45分)设计题(20分)一、问答题 1.1.单片机概念和特点 1.2. 51单片机的中断结构 1.3.主从式多机通讯的概念及其工作原理 多机通信是指两台以上计算机之间的数据传输,主从式多机通信是多机通信系统中最简单的一种,…

Graspnet复现笔记

前言 参考文章:Baseline model for "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping" (CVPR 2020).[paper] [dataset] [API] [doc] 代码仓库:https://github.com/graspnet/graspnet-baseline 一、确定配置 Ubunt…