BM25和混合向量检索

BM25

BM25 是经典搜索引擎(如 Elasticsearch / 电脑本地文件搜索)背后的核心算法。

外号: 稀疏向量检索

它的逻辑: 死磕字面,绝对忠诚,不管语义。 你搜什么词,我就去文章里数这个词出现了几次。

它的三大绝招:

  • 词频(TF): 词在文章里出现越多,分越高。但有上限(饱和度),出现 100 次和 50 次在它看来差不多。

  • 稀缺度(IDF): 如果你搜“我的冰美式”,“我”和“的”到处都是,不值钱;“冰美式”很罕见,谁有“冰美式”谁拿高分。

  • 篇幅惩罚: 同样出现 3 次“冰美式”,一篇 50 字的短文肯定比一篇 1 万字的长文更相关。

向量检索

利用深度学习的 Embedding 模型,把文字、图片变成一串由数字组成的坐标(向量)。

它的外号:密集向量检索。

它的逻辑: 不看字面,只懂意思。

它的绝招: 它能听懂潜台词。你搜“提神提气的苦咖啡”,文章里可能一个相同的字都没有,但向量检索能通过“意思接近”,帮你把写有“冰美式”的文章捞出来。

混合检索

BM25 和 向量检索 是两条不同的“捞数据”路径,而混合检索是把两者的优势结合。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计