语言人工智能指南

BM25 和词汇检索

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

概述

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

BM25 和词汇检索是语言 AI ​​堆栈的一部分,用于大规模阅读、生成、分类和转换文本和语音。

深入探讨

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

技术洞察

BM25 的术语频率分量饱和:k1 参数限制了重复单词对分数的提升程度,因此出现 50 次的术语并不比出现一次的相关性高 50 倍。 b 参数混合了原始频率和长度归一化频率。 IDF 降低了“the”等常见单词的权重,并奖励独特的单词。由于它使用将每个单词映射到其文档列表的倒排索引进行操作,因此评分仅涉及包含查询术语的文档,从而使其非常高效。

掌握 BM25 和词汇检索

BM25 是经典的基于关键字的排名函数,它根据查询术语出现的频率对文档进行评分,并根据术语稀有度和文档长度进行调整。已有数十年历史,它仍然是一个非常强大且无处不在的搜索基线。 BM25 和词汇检索是语言 AI ​​堆栈的一部分,用于大规模阅读、生成、分类和转换文本和语音。为了建立深入的理解,请将 BM25 和词汇检索视为一种操作模型,而不是单个功能:定义期望的结果,澄清假设,并将系统可以可靠地完成的任务与仍需要专家判断的任务分开。

在实践中,使用 BM25 和词汇检索的强大团队将提示、检索和审查循环设计为一个集成的通信系统。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。

语言工作流程可以在不牺牲一致性的情况下更快地移动。与此同时,幻觉事实可以悄悄地进入报告、支持流程或研究成果。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。

战略影响

语言工作流程可以在不牺牲一致性的情况下更快地移动。

语言工作流程可以在不牺牲一致性的情况下更快地移动。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

它扩展了跨语言和沟通方式的访问。

它扩展了跨语言和沟通方式的访问。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

团队可以花更多时间进行判断,而自动化则可以处理重复。

团队可以花更多时间进行判断,而自动化则可以处理重复。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

BM25 和词汇检索的未来

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

现实世界的实施

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

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

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

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

实施模式

BM25 和词汇检索实践

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

Elasticsearch、OpenSearch 和 Apache Lucene/Solr 团队中的默认相关性排名通常会在预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时获得更好的结果。

BM25 和词汇检索实践

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

第一阶段候选检索在两阶段搜索中为较慢的神经重新排序提供支持 当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

BM25 和词汇检索实践

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

代码和日志搜索,其中确切的标识符和错误代码必须精确匹配 当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

BM25 和词汇检索实践

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

挖掘困难的负面示例来训练像 DPR 团队这样的密集检索器,当他们预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

风险与防护栏

!

幻觉的事实可以悄悄地进入报告、支持流程或研究成果。

!

及时的敏感性可能会在类似的请求中产生不一致的结果。

!

如果访问控制薄弱,敏感文本数据可能会暴露。

实施路线图

1

在推出之前定义输出格式、语气和质量标准。

在推出之前定义输出格式、语气和质量标准。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

2

当准确性很重要时,请使用可信来源进行地面响应。

当准确性很重要时,请使用可信来源进行地面响应。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

3

为高风险输出保留人工审查检查点。

为高风险输出保留人工审查检查点。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

4

跟踪故障模式并定期重新训练提示或工作流程。

跟踪故障模式并定期重新训练提示或工作流程。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

不断探索