理解 BM25 全文搜索算法

主要观点:介绍了 BM25 算法,它是用于全文搜索的常用算法,默认在 Lucene/Elasticsearch 和 SQLite 等中使用,近来常与向量相似性搜索结合成“混合搜索”。探讨了能否比较不同查询下 BM25 得分以确定文档与查询的匹配度等问题。
关键信息

  • BM25 由查询词、逆文档频率(IDF)、文档中的词频、文档长度归一化等组件构成。
  • 基于概率排序原则,虽无法计算文档与查询的真实相关性概率,但可通过简化方程来近似排序。
  • BM25 开发者假设多数文档不相关,将相关文档数设为 0 使方程更实用。
  • 一般情况下 BM25 得分不能跨系统比较,但在同一文档集合内可比较。
    重要细节
  • 方程中各参数的含义,如 N 是文档总数,n(qi)是含某查询词的文档数等。
  • k1 控制词频重复的回报递减,b 控制文档长度归一化程度。
  • 介绍了相关的研究论文和视频,如[Improved Text Scoring with BM25]、[The Probabilistic Relevance Framework: BM25 and Beyond]等。
阅读 57
0 条评论