链载Ai

标题: BM25搜索优化之 Block-WeakAnd算法 [打印本页]

作者: 链载Ai    时间: 昨天 18:39
标题: BM25搜索优化之 Block-WeakAnd算法

"喂!搞搜索的!"

"你的BM25还在龟速爬行吗?"

"这篇Block-WeakAnd算法就是你的火眼金睛!"

"比俺老孙的七十二变还灵!"

"把搜索优化得比我的筋斗云还快!"

"效率高得能让玉皇大帝都点赞!"

"那些说'BM25过时'的..."

"都是没见识过这招的呆瓜!"

"紫霞仙子看了都得说:猴哥,这算法绝了!"

"再不看?"

"你的搜索速度就要比猪八戒减肥还慢啦!"

一个跟头翻出十万八千里

"俺去优化搜索啦!"

BM25搜索优化之 Block-WeakAnd算法

我们来通俗易懂地聊聊计算BM25分数的Block-WeakAnd算法。如何快速找到与query最相关的top-k文档?

涉及项目: https://deepwiki.com/tensorchord/VectorChord-bm25/2-core-components

BM25分数计算的Block-WeakAnd算法

在搜索引擎中,我们需要根据用户查询(Query)找出最相关的文档(Document),并给它们打分。BM25(Best Match 25)是一种非常流行的打分算法。

核心问题:语料库(所有文档)非常庞大,用户每次查询时,不可能把所有文档都完整计算一遍BM25分数。那样太慢了!我们需要一种高效的方法来快速找出Top-K(前K个)最相关的文档。

Block-WeakAnd(Block-Wand)就是为了解决这个效率问题而诞生的算法之一。

1. 为什么需要它?

想象一下,你在一个巨大的图书馆里找10本最符合你主题的书。

2. 算法核心思想

Block-WeakAnd结合了两种优化策略:

  1. WeakAnd (WAND) 弱且(Weak-AND):







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5