·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

搜索引擎粗排名计算:BM25

321 6
发表于 2022-5-25 15:25:52 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
BM25算法介绍BM25(BM=best matching)是TDIDF的优化版本,首先我们来看看TFIDF是怎么计算的
TFIDFT F − I D F = T F ∗ I D F = 某 单 词 数 量 单 词 总 数 ∗ l o g ( 总 文 档 包 含 某 单 词 的 文 档 数 + 1 ) TF-IDF=TF*IDF=\frac{某单词数量}{单词总数}*log(\frac{总文档}{包含某单词的文档数+1})TF−IDF=TF∗IDF=单词总数某单词数量​∗log(包含某单词的文档数+1总文档​)
其中tf称为词频,idf为逆文档频率。

BM25B M 25 ( i ) = 词 i 的 数 量 总 词 数 ∗ ( k + 1 ) C C + k ( 1 − b + b ∣ d ∣ ∣ a v d l ∣ ) ∗ l o g ( 总 文 档 数 包 含 i 的 文 档 数 ) BM25(i)=\frac{词i的数量}{总词数}*\frac{(k+1)C}{C+k(1-b+b\frac{|d|}{|avdl|})}*log(\frac{总文档数}{包含i的文档数})BM25(i)=总词数词i的数量​∗C+k(1−b+b∣avdl∣∣d∣​)(k+1)C​∗log(包含i的文档数总文档数​)
C = t f = 词 i 的 数 量 总 词 数 , k > 0 , b ∈ [ 0 , 1 ] C=tf=\frac{词i的数量}{总词数},k>0, b \in [0,1]C=tf=总词数词i的数量​,k>0,b∈[0,1], d dd为文档i ii的长度,a v d l avdlavdl是文档的平均长度
BM25和tfidf的计算结果很相似,唯一的区别在于中多了一项,这一项是用来对tf的结果进行的一种变换。
把1 − b + b d a v d l 1-b+b\frac{d}{avdl}1−b+bavdld​中的b bb看成0,那么此时项的结果为( k + 1 ) t f k + t f \frac{(k+1)tf}{k+tf}k+tf(k+1)tf​,通过设置一个k kk,就能够保证其最大值为1,达到限制t f tftf过大的目的。
即:
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
k kk不变的情况下,上式随着tf的增大而增大,上限为k + 1 k+1k+1,但是增加的程度会变小,如下图所示。
在一个句子中,某个词重要程度应该是随着词语的数量逐渐衰减的,所以中间项对词频进行了惩罚,随着次数的增加,影响程度的增加会越来越小。通过设置k kk值,能够保证其最大值为k + 1 k+1k+1,k kk往往取值1.2。

其变化如下图(无论k为多少,中间项的变化程度会随着次数的增加,越来越小):
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
1 − b + b d a v d l 1-b+b\frac{d}{avdl}1−b+bavdld​的作用是用来对文本的长度进行归一化。
例如在考虑整个句子的tdidf的时候,如果句子的长度太短,那么计算的总的tdidf的值是要比长句子的tdidf的值要低的。所以可以考虑对句子的长度进行归一化处理。

可以看到,当句子的长度越短,1 − b + b d a v d l 1-b+b\frac{d}{avdl}1−b+bavdld​的值是越小,作为分母的位置,会让整个第二项越大,从而达到提高短文本句子的BM25的值的效果。当b的值为0,可以禁用归一化,b bb往往取值0.75
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算


搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
搜索引擎粗排名计算:BM25 搜索,搜索引擎,引擎,排名,计算
我要说一句 收起回复
创宇盾启航版免费网站防御网站加速服务

评论6

浅生Lv.8 发表于 2022-5-25 15:26:25 | 查看全部
你竟然试图教会我这些???
我要说一句 收起回复
IT618发布Lv.8 发表于 2022-5-25 15:27:06 | 查看全部
能简单说一下吗,数学不好
我要说一句 收起回复
婷姐Lv.8 发表于 2022-5-25 15:27:45 | 查看全部
看得正起兴呢,图挂了
我要说一句 收起回复
TyCodingLv.8 发表于 2022-5-25 15:28:23 | 查看全部
压根就没考虑用户体验,就是让用户不舒服不爽的,因为我也不爽
我要说一句 收起回复
浅生Lv.8 发表于 2022-5-25 15:29:01 | 查看全部
总体来说就是百度对关键词识别和文章判断的算法,比如提到的,TF-IDF
我要说一句 收起回复
独家记忆Lv.8 发表于 2022-5-25 15:29:30 | 查看全部
机器永远是机器
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.23.102.42,GMT+8, 2024-12-19 11:53 , Processed in 0.334789 second(s), 116 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表