BM25 是什么?关键词相关性怎样考虑词频和文档长度
用型号和错误码查询解释 BM25,说明稀有词、词频饱和与长度归一化,区分相关性分数和事实正确率,并讨论与向量搜索组合的条件。
先理解这个概念
BM25是一种常见文本相关性排序方法,根据查询词在文档中的出现及其稀有程度等因素计算分数,并考虑词频饱和和文档长度。它常用于关键词检索,不是生成模型,也不直接理解事实真假。分数依赖当前索引和设置,不能跨资料库直接比较,更不能把高分解释为答案正确概率。
出现更多次并不会无限线性加分
如果一份说明多次重复某个错误码,词频会影响相关性,但BM25使用饱和机制,不是出现十次就必然比一次强十倍。资料库里很常见的词通常区分力较弱,罕见查询词则可能更有助于找到特定说明。
长度归一化有助于处理长短文档差异,但具体参数和分词方式会改变效果。Elastic和Azure都公开相关设置。不能只调排序参数,却忽略型号已经被分析器拆开,或者真正需要的正文根本没有建立索引。
精确名词有优势但同义表达仍有边界
用户输入完整产品型号或错误码时,关键词匹配通常提供明确线索。如果只说设备连不上,却没有出现文档中的连接失败措辞,词面方法可能遗漏。可以结合查询扩展或语义检索,但应保留精确标识,避免混入相近型号。
一份过期说明也可能因词语完全匹配排得很高。BM25衡量词项相关性,不负责版本和访问控制。实际问答要结合元数据筛选,再打开原文核对适用条件。本文没有建立搜索索引,也没有比较算法实测排名。
调参应依据固定问题和具体错例
先检查已知文档是否命中,再确认排序靠后的原因。若资料找到了但无关长文排在前面,可以比较字段设置和参数;若查询词根本不同,应处理词面差异。每次保留相同资料版本,避免把数据变化误认为排序改进。
与向量结果融合时,分数范围可能不同,不宜直接把两个原始分数相加。混合搜索可采用排序融合等方法,具体效果需要评测。检索指标改善以后仍要检查最终回答,找到相关文字不等于模型正确使用了全部条件。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。