Improving BM25 Code Retrieval Under Fixed Generic Tokenization: Adaptive q-Log Odds as a Drop-In BM25 Fix
在分词器不可控 (frozen generic tokenization) 的检索系统里,BM25 的 log-RSJ-odds IDF 对区分函数名的「标识符长尾」分辨力不足,导致 RAG 编码场景相关文件频繁缺失。本文把 RSJ odds 外层的对数换成 q-对数:q=1 时由洛必达法则精确退化为标准 BM25,q<1 时等价于对 RSJ odds 做 λ=1−q 的 Box-Cox 变换。在 CoIR CodeSearchNet Go (182K 文档) 上,oracle 调参 NDCG@10 从 0.2575 提升到 0.4874 (绝对 +0.2299,相对 +89.3%;10000 次配对 bootstrap 零符号反转,p≤1e-4),效果随 q 单调可控。
INSIGHT这是一个不需重训、不需改分词器的 drop-in 稀疏检索改进,对依赖既有 BM25 索引的社区短文本召回极具落地价值。核心洞察是标准 BM25 的对数 IDF 压扁了高区分度低频词 (UGC 中的实体名、口语词同理),用 q-对数单参数即可重新拉开长尾词权重,且 q=1 可平滑回退保证安全上线。建议在短文本召回链路灰度一个 q 参数做 A/B,成本几乎为零。