热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >BM25算法以及变种算法简介

BM25算法以及变种算法简介

来源:互联网 更新时间:2026-08-10 15:32

BM25算法以及变种算法简介

说起BM25算法,它在信息检索圈里算得上是一位“老将”了。上世纪70年代到80年代,由英国一批信息检索领域的科学家共同发明,名字里的“BM”是“最佳匹配”(Best Match)的缩写,而“Okapi”则是第一个采用这套方法的系统名称。三十多年过去,BM25依然是工程实践中最稳健的基线算法之一,在很多检索任务里表现依旧亮眼,是不少工程师的首选方案。

它的核心逻辑其实挺直白:把查询文本拆成一个个词素(词),然后针对每个搜索结果文档,计算每个词素与文档的相关性得分,最后把这些得分加权求和,得到最终的排序依据。它与TF-IDF的统计思想一脉相承,但细节上更精细。

围绕BM25,后续衍生出不少变种,简单梳理几个关键方向:

  • BM25L:在原始BM25基础上加入长度归一化项,目的是平衡长短文档的评分偏差,避免长文本被过度惩罚。
  • BM25+:引入查询项权重计算,并通过一个惩罚项调整长文档的相关性分数,防止长文档在评分中占比过大。
  • BM25T:允许用户为查询中的每个词分配不同权重,结合词频、逆文档频率和文档长度,更精细地衡量词项重要性。
  • :一种融合词频与词位置信息的改进算法,通过位置权重函数来调整稀有词项的评分权重。
  • BM25F:针对多字段场景设计(如标题、正文、标签等),对各个字段的相关性评分进行加权求和,灵活处理文档的不同部分。

BM25 详解

先概括一下BM25到底干什么用。它是一个用于信息检索中对查询(query)与候选文档(document)进行相关性排序的打分函数。严格说,它并不是一个单一的公式,而是一类评分函数的统称——它的发明经历了多次迭代演进。通常,这种相关性打分基于统计计数,属于无监督学习。

主要思想:对查询进行特征提取,生成若干特征项(词);对于每个搜索结果文档D,计算每个特征项与D的相关性得分,最后加权求和得到query与D的总体相关性。

BM25的一般形式可简写为:

其中,表示query,表示分解后的一个特征项,D表示搜索结果文档;表示特征项的权重;表示特征项与文档D的相关性得分。

上述公式中的和都是基于词袋方法的词频计数,不考虑多个搜索词在文档里的关联性,只考虑各自出现次数。下面来看这两个量如何设计。

权重

的常用定义是Robertson-Sparck Jones IDF:

其中N为文档总数,为包含的文档数。出现在越多的文档中,其权重越低。但有个问题:如果某个词出现在超过半数的文档里,IDF会变为负值,导致它对BM25分数的贡献是负的。通常不希望这样,可以将其置为0或一个小的正数,或者改用平滑过渡到0的函数。

特征项与文档的相关性得分

:最朴素的考虑是用词频直接表示,但长文本中词频普遍较高,会导致评分偏向长文本,不合理。而且,某个词对文档的贡献不应该无限随词频增长而线性增加,超过一定阈值应趋于饱和。BM25采用如下计算方式:

其中为在D中的词频,为文档长度,为平均文档长度,和为可调超参数(一般)。关于的函数是一个“饱和”递增函数,使词频增长对得分的贡献变成非线性。

从定义可知,调节特征词文本频率尺度:当时退化为二元模型(不考虑词频);取较大值则近似只用原始词频。一般称为文本长度规范化因子,调整文档长度对相关性影响的大小。越大,文档长度的影响越大;文档相对越长,值越大,得分越小。这可以理解为:文档越长,包含某个词的机会越大,所以同等词频下,长文档与它的相关性应弱于短文档。

综合以上,BM25的完整形式如下:

另外,若query较长且某些词在query中间出现频率较高,也应考虑其重要性相应提高,但同样需要类似的饱和约束。将类似权重策略用于query中的特征项,得到:

其中为特征项在查询中的频率,超参数调节其在query中的文本频率尺度。这里对query进行长度规范化是不必要的,因为候选检索结果中query是固定的。

从以上讨论可知,BM25其实是一系列经验公式,每个环节都经过研究者的逐步迭代而发现。不少研究从“概率相关模型”入手,证明BM25是对某一类概率模型的逼近,这里不深入展开。从实践看,BM25权重公式已在大量数据集和搜索任务中被高频、广泛且成功地使用。

BM25算法简易

一条查询与任意搜索结果文档之间的相关性得分可表示为:

上式中,表示query,表示解析后的语素,d表示搜索结果文档,表示语素的权重,表示语素和d的相关性得分。

(1)的定义:常用IDF形式,N是全部文档数,是包含的文档数。显然,与成反比:包含的文档越多,其区分度越低,重要性越小。

(2)的定义:一般形式为:

其中,、是可调因子(一般,);为在d中的词频;为在query中的词频;为d的长度;为所有文档的平均长度。多数情况下,在query中只出现一次,即,公式可简化为:

从K的表达式可知,的作用是调整对“相关性影响”的大小:越大,对得分的影响越大;而越长,K值越大,得分越小。解释:较长文档包含某个词的机会更大,同等词频下,长文档的相关性应弱于短文档。

BM25 的变种和改进

BM25公式本身留有较大灵活性——通过采用不同的特征项分析方法、权重判定方法以及相关度计算方法,后续研究者提出了许多个性化的搜索相关性算法。其中,Lv & Zhai两位学者的工作最为深入和全面。

BM25L

Lv & Zhai观察到BM25中的文本长度规范化项使得模型过于偏好短文档。他们在《When documents are very long, BM25 fails!》一文中提出BM25L来弥补这一不足。首先,BM25L对IDF权重项做了调整,使其不会取负值:

更重要的是,BM25L通过调节原始BM25中的项,给加一个正常数,使得分数向更小的值偏移(即对较长文档的惩罚降低)。BM25L公式可写作:

其中记号与BM25保持一致,

BM25+

Lv & Zhai进一步发现对长文本的惩罚不仅存在于BM25,也出现在许多其他排序函数中。他们提出一个一般性解决方案:为每个出现在文档中的特征项的相关性得分设置一个下界。这样,无论文档多长,某个搜索词至少贡献一个正常数得分。具体做法是在乘IDF之前对整个加上一个常数:

BM25-adpt

之前的改进忽略了超参数的考察。Lv & Zhai在另一项工作中发现,全局的参数不如特征项相关的参数高效。他们利用信息论中的信息增益和散度等概念,实现了去“超参化”——会随的不同而变化,可直接计算得出,该算法称为BM25-adpt。其推导比前两个变种复杂,需要另文详解。

小结

除上述几种衍化算法外,还有其他重要变种,如等,在不同场景下表现优于原始BM25。当然,效果优劣也取决于具体数据集和搜索任务。整体来看,BM25及其变种构成了信息检索领域一套实用且强大的打分工具,值得持续关注和灵活运用。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc