032 | 经典搜索核心算法:BM25及其变种(内附全年目录)
洪亮劼
该思维导图由 AI 生成,仅供参考
周一我们讲了 TF-IDF 算法和它的四个变种,相对于 TF-IDF 而言,在信息检索和文本挖掘领域,BM25 算法则更具理论基础,而且是工程实践中当仁不让的重要基线(Baseline)算法 。BM25 在 20 世纪 70 年代到 80 年代被提出,到目前为止已经过去二三十年了,但是这个算法依然在很多信息检索的任务中表现优异,是很多工程师首选的算法之一。
今天我就来谈谈 BM25 算法的历史、算法本身的核心概念以及 BM25 的一些重要变种,帮助你快速掌握这个信息检索和文本挖掘的利器。
BM25 的历史
BM25,有时候全称是 Okapi BM25,是由英国一批信息检索领域的计算机科学家开发的排序算法。这里的“BM”是“最佳匹配”(Best Match)的简称。
BM25 背后有两位著名的英国计算机科学家。第一位叫斯蒂芬·罗伯逊(Stephen Robertson)。斯蒂芬最早从剑桥大学数学系本科毕业,然后从城市大学(City University)获得硕士学位,之后从伦敦大学学院(University College London)获得博士学位。斯蒂芬从 1978 年到 1998 年之间在城市大学任教。1998 年到 2013 年间在微软研究院剑桥实验室工作。我们之前提到过,美国计算机协会 ACM 现在每三年颁发一次“杰拉德·索尔顿奖”,用于表彰对信息检索技术有突出贡献的研究人员。2000 年这个奖项颁给斯蒂芬,奖励他在理论方面对信息检索的贡献。BM25 可谓斯蒂芬一生中最重要的成果。
另外一位重要的计算机科学家就是英国的卡伦·琼斯(Karen Spärck Jones)。周一我们在 TF-IDF 的文章中讲过。卡伦也是剑桥大学博士毕业,并且毕生致力于信息检索技术的研究。卡伦的最大贡献是发现 IDF 以及对 TF-IDF 的总结。卡伦在 1988 年获得了第二届“杰拉德·索尔顿奖”。
BM25 算法详解
现代 BM25 算法是用来计算某一个目标文档(Document)相对于一个查询关键字(Query)的“相关性”(Relevance)的流程。通常情况下,BM25 是“非监督学习”排序算法中的一个典型代表。
顾名思义,这里的“非监督”是指所有的文档相对于某一个查询关键字是否相关,这个信息是算法不知道的。也就是说,算法本身无法简单地从数据中学习到相关性,而是根据某种经验法则来“猜测”相关的文档都有什么特质。
那么 BM25 是怎么定义的呢?我们先来看传统的 BM25 的定义。一般来说,经典的 BM25 分为三个部分:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
BM25算法及其变种是信息检索和文本挖掘领域的重要技术。BM25算法由斯蒂芬·罗伯逊和卡伦·琼斯开发,通过计算目标文档相对于查询关键字的相关性,实现非监督学习排序。与TF-IDF算法相比,BM25挖掘出了词频和相关性之间的非线性关系,并通过标准化和超参数调整对词频进行限制。BM25F是BM25的一种重要扩展,能够在多个“域”(Field)文档上进行计算,将文档的相关性统一到一个分数上。另一种扩展是将BM25和其他文档信息结合起来,例如将BM25和PageRank进行线性结合来确定网页的相关度。BM25是一个经验公式,但在实际应用中表现出良好的效果,对这类文档检索算法有所了解是非常必要的。文章还提出了一个思考题,即是否可以通过机器学习的手段来学习到BM25算法中的超参数的最佳取值。这篇文章详细介绍了BM25算法的历史、核心概念、变种以及提出了一个引人深思的问题,对于了解文档检索领域的读者具有重要参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 技术内参》,新⼈⾸单¥98
《AI 技术内参》,新⼈⾸单¥98
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(8)
- 最新
- 精选
- 鬼猫猫看了全年课表,简直太值了!
作者回复: 谢谢。
2017-12-142 - 小田老师文字表达思路很清晰,但是一些量还是用公式表达更一目了然2020-01-145
- LBM25中的25指什么2021-02-192
- new这里的超参数是对词频进行缩放,那么不同的缩放效果会对结果产生什么影响呢?如果用机器学习调参,那么应该对文档相关性有个评估标准,这样就可以用grid search或者其它方法搜索。2018-07-042
- Geek_035cac老师可以提供公式嘛,这样表述不太容易理解2023-01-12归属地:北京
- 付雪林看了全年的课程表,非常感兴趣,这是书还是课程啊?怎么持续看啊?2022-12-28归属地:北京
- rookie可以用网格搜索2019-05-27
- 庄小P写得太棒了,循序渐进了解每个算法是怎么一步步改进的,对自己开拓思维很有帮助2019-05-26
收起评论