微信扫码
添加专属顾问
 
                        我要投稿
这篇文章用生动有趣的方式揭秘了BM25搜索优化的黑科技Block-WeakAnd算法,让你的搜索速度飞起来! 核心内容: 1. BM25搜索面临的效率瓶颈与优化需求 2. Block-WeakAnd算法的核心原理与双优化策略 3. 实际应用场景与性能提升效果
 
                                "你的BM25还在龟速爬行吗?"
"这篇Block-WeakAnd算法就是你的火眼金睛!"
"比俺老孙的七十二变还灵!"
"把搜索优化得比我的筋斗云还快!"
"效率高得能让玉皇大帝都点赞!"
"那些说'BM25过时'的..."
"都是没见识过这招的呆瓜!"
"紫霞仙子看了都得说:猴哥,这算法绝了!"
"再不看?"
"你的搜索速度就要比猪八戒减肥还慢啦!"
一个跟头翻出十万八千里
"俺去优化搜索啦!"
我们来通俗易懂地聊聊计算BM25分数的Block-WeakAnd算法。如何快速找到与query最相关的top-k文档?
涉及项目: https://deepwiki.com/tensorchord/VectorChord-bm25/2-core-components
在搜索引擎中,我们需要根据用户查询(Query)找出最相关的文档(Document),并给它们打分。BM25(Best Match 25)是一种非常流行的打分算法。
核心问题: 语料库(所有文档)非常庞大,用户每次查询时,不可能把所有文档都完整计算一遍BM25分数。那样太慢了!我们需要一种高效的方法来快速找出Top-K(前K个)最相关的文档。
Block-WeakAnd(Block-Wand) 就是为了解决这个效率问题而诞生的算法之一。
想象一下,你在一个巨大的图书馆里找10本最符合你主题的书。
Block-WeakAnd结合了两种优化策略:
WeakAnd (WAND) 弱且(Weak-AND):
Block(块)处理:
MinScore)。Doc_i 的WeakAnd上限分数(Upper Bound, UB)。这个UB是 Doc_i 已经匹配到的词的分数,加上所有未匹配但有可能匹配的词的最大可能贡献。UB 小于当前的 MinScore,那么 Doc_i 无论如何都不可能进入Top-K。直接跳过Doc_i,处理块中的下一个文档。UB 大于或等于 MinScore,说明 Doc_i 有可能进入Top-K。此时,计算 Doc_i 的完整BM25分数。Doc_i 的完整分数大于 MinScore,则将其加入Top-K堆,并更新 MinScore。Doc_i:Block-WeakAnd算法通过提前预估文档的最高可能得分(WeakAnd)并在文档块级别进行高效处理(Block),大大减少了需要进行完整BM25计算的文档数量。它就像一个精明的筛选器:先快速淘汰掉那些“不可能”的文档,再对“有可能”的文档进行精确打分,从而实现大规模搜索场景下的高性能BM25打分。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-10-31
OpenAI 公开 Atlas 架构:为 Agent 重新发明浏览器
2025-10-31
Palantir 本体论模式:重塑企业 AI 应用的 “语义根基” 与产业启示
2025-10-31
树莓派这种“玩具级”设备,真能跑大模型吗?
2025-10-30
Cursor 2.0的一些有趣的新特性
2025-10-30
Anthropic 发布最新研究:LLM 展现初步自省迹象
2025-10-30
让Agent系统更聪明之前,先让它能被信任
2025-10-30
Rag不行?谷歌DeepMind同款,文档阅读新助手:ReadAgent
2025-10-29
4大阶段,10个步骤,助你高效构建企业级智能体(Agent)
 
            2025-08-21
2025-08-21
2025-08-19
2025-09-16
2025-10-02
2025-09-08
2025-09-17
2025-08-19
2025-09-29
2025-08-20