语言人工智能指南

BM25 和词汇检索

BM25 是经典的基于关键字的排名函数,它根据查询术语出现的频率对文档进行评分,并根据术语稀有度和文档长度进行调整。

听听这个指南AI叙述 · ~2 min

在本页阅读时间:2分钟
  1. 概述
  2. 深入探讨
  3. 现实世界的实施
  4. BM25 和词汇检索的未来
  5. 付诸实践
  6. 不断探索
  7. 常见问题

概述

几十年来,它依然是一个极为强大且普遍存在的搜索基线。

深入探讨

BM25(最佳匹配 25)是来自 20 世纪 90 年代概率性 Okapi 框架的词袋排序函数。对于每个查询术语,它结合了三个信号:术语频率(单词在文档中出现的频率,由参数 k1 控制收益递减)、逆文档频率(集合中越稀有的单词计数越多)和文档长度标准化(参数 b,因此长文档不会受到不公平的青睐)。将这些每学期的分数相加,即可得出文档的排名。它不需要训练,并且通过倒排索引运行得非常快,这就是 Elasticsearch 和 Lucene 等搜索引擎默认使用它的原因。尽管神经检索兴起,BM25 仍然在许多基准测试中获胜或平局,特别是对于罕见术语、精确标识符和域外查询。

现实世界的实施

Elasticsearch、OpenSearch 和 Apache Lucene/Solr 中的默认相关性排名

第一阶段候选检索在两阶段搜索中提供较慢的神经重新排序器

代码和日志搜索,其中确切的标识符和错误代码必须精确匹配

挖掘困难的负面例子来训练 DPR 等密集检索器

BM25 和词汇检索的未来

BM25不太可能消失;相反,它越来越多地与混合检索中的神经方法配对,其中词汇和密集分数被融合(通常通过倒数排名融合)。像 SPLADE 这样的学习稀疏模型将 BM25 式的稀疏性与神经术语权重相结合,并且 BM25 经常充当神经重新排序器之前的第一阶段检索器。它的速度、可解释性和零培训成本保证了它在生产搜索中的持久作用。

付诸实践

为什么这很重要

  • 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
  • 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
  • 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。

留意

  • 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
  • 及时的敏感性可能会在类似的请求中产生不一致的结果。
  • 如果访问控制薄弱,敏感文本数据可能会暴露。

后续步骤

  1. 在推出之前定义输出格式、语气和质量标准。
  2. 当准确性很重要时,请使用可信来源进行地面响应。
  3. 为高风险输出保留人工审查检查点。
  4. 跟踪故障模式并定期重新训练提示或工作流程。

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

参加 BM25 和词汇检索测验

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

什么是BM25和词汇检索?

BM25 是经典的基于关键字的排名函数,它根据查询术语出现的频率对文档进行评分,并根据术语稀有度和文档长度进行调整。已有数十年历史,它仍然是一个非常强大且无处不在的搜索基线。

BM25 主要使用什么来对文档进行排名?

BM25 将术语频率、逆文档频率(术语稀有度)和文档长度归一化组合成相关性得分。

逆文档频率 (IDF) 在 BM25 中扮演什么角色?

IDF 奖励在集合中罕见的术语,并降低常见单词的权重,因为罕见的匹配信息更丰富。

为什么 BM25 应用文档长度标准化(b 参数)?

如果没有标准化,较长的文档将积累更多的术语匹配; b 参数根据长度进行调整,因此比较是公平的。

什么数据结构使 BM25 能够大规模快速运行?

倒排索引让 BM25 仅对包含查询词的文档进行评分,从而使检索非常高效。

在标准BM25公式中,将b设置为零有什么影响?

b 控制长度归一化的强度;零会删除该调整,而其他评分组件仍然保留。