当前位置: 首页 > news >正文

BM25原理概述

1️⃣设定:对于查询 Q = { q 1 , q 2 , . . . , q n } Q\text{=}\{q_1,q_2,...,q_n\} Q={q1,q2,...,qn}和段落集 P = { P ( 1 ) , P ( 2 ) , … , P ( N ) } \mathscr{P}\text{=}\left\{P^{(1)},P^{(2)},\ldots,P^{(\text{N})}\right\} P={P(1),P(2),,P(N)},其中 P ( α ) = { p 1 ( α ) , p 2 ( α ) , . . . , p m ( α ) } P^{(\alpha)}\text{=}\left\{p^{(\alpha)}_1,p^{(\alpha)}_2,...,p^{(\alpha)}_m\right\} P(α)={p1(α),p2(α),...,pm(α)}

2️⃣逆文档频率: IDF ( q i ) = log ⁡ ( N–DF ( q i ) + 0.5 DF ( q i ) + 0.5 + 1 ) \displaystyle{}\text{IDF}(q_i)\text{=}\log\left(\cfrac{\text{N}–\text{DF}(q_i)\text{+}0.5}{\text{DF}(q_i)\text{+}0.5}\text{+}1\right) IDF(qi)=log(DF(qi)+0.5NDF(qi)+0.5+1)

  1. 段落频: DF ( q i ) \text{DF}(q_i) DF(qi)为文档频率,即在 P = { P ( 1 ) , P ( 2 ) , … , P ( N ) } \mathscr{P}\text{=}\left\{P^{(1)},P^{(2)},\ldots,P^{(\text{N})}\right\} P={P(1),P(2),,P(N)}中有多少个段落包含词汇 q i q_i qi
  2. 含义:用于评估词 q i q_i qi在段落集 P \mathscr{P} P中的稀有程度, IDF \text{IDF} IDF值越高越稀有

1️⃣ BM25 \text{BM25} BM25评分: Score ( Q , P ( α ) ) = ∑ i = 1 n IDF ( q i ) × ( k 1 + 1 ) TF ( q i , P ( α ) ) TF ( q i , P ( α ) ) + k 1 ( 1 – b + b ∣ P ( α ) ∣ avgdl ) \displaystyle{}\text{Score}\left(Q,P^{(\alpha)}\right)\text{=}\sum_{i=1}^{n}\text{IDF}(q_i)\text{×}\cfrac{(k_1\text{+}1)\text{TF}\left(q_i,P^{(\alpha)}\right)}{\text{TF}\left(q_i,P^{(\alpha)}\right)\text{+}k_1\left(1–b\text{+}\cfrac{b|P^{(\alpha)}|}{\text{avgdl}}\right)} Score(Q,P(α))=i=1nIDF(qi)×TF(qi,P(α))+k1(1–b+avgdlbP(α))(k1+1)TF(qi,P(α))

  1. 词频: TF ( q i , P ( α ) ) \text{TF}\left(q_i,P^{(\alpha)}\right) TF(qi,P(α))为词频,即 q i q_i qi P ( α ) P^{(\alpha)} P(α)中出现的总次数
  2. 归一化:即 1 – b + b ∣ P ( α ) ∣ avgdl 1–b\text{+}\cfrac{b|P^{(\alpha)}|}{\text{avgdl}} 1–b+avgdlbP(α),其中 avgdl \text{avgdl} avgdl是段落的平均长度,抹除长文档的固有相似度偏好
  3. 调参: k 1 k_1 k1 b b b可供调整,适应不同的检索任务

相关文章:

  • redis数据类型以及底层数据结构
  • 机器视觉选型中,不同焦距的镜头成像视野有什么不同?
  • 【空地协同技术教程:概念与技术手段解析】
  • 构建功能齐全的JavaScript计算器:从基础到高级功能的全面实现
  • 头歌作业-mysql数据库系统(全部)
  • linyu-im
  • 基于粒子群算法的配电网重构
  • B站高清视频爬取:Python爬虫技术详解
  • 问题解决:Kali Linux 中配置启用 Vim 复制粘贴功能
  • 扫雷雷雷雷雷雷雷
  • 蓝桥试题:蓝桥勇士(LIS)
  • AI大模型学习(五): LangChain(四)
  • 发行基础:宣传片
  • 如何用solidworks画螺纹线
  • 机器学习编译
  • Kali WebDAV 客户端工具——Cadaver 与 Davtest
  • 使用 Arduino 和 ThingSpeak 通过 Internet 进行心跳监测
  • 编程考古-Borland历史:《.EXE Interview》对Anders Hejlsberg关于Delphi的采访内容(上)
  • golang 从零单排 (一) 安装环境
  • Vue.js + Element Plus:擦出高效开发的火花
  • 自建外贸独立站/b2c有哪些电商平台
  • 做网站视频手机/重庆企业网站排名优化
  • 网站定制北京/2021年网络营销案例
  • 台中网站建设/郴州网站建设网络推广渠道
  • 网站服务费怎么做分录/福建seo关键词优化外包
  • 怎样在本机建设网站/免费浏览网站推广