BM25是目前信息索引领域最主流的计算query与文档相似度得分的算法。BM 是Best Match最佳匹配的缩写,25指的是第25次算法迭代。
BM25的一般公式:
其中Q 表示query, 表示query中的分词,d表示文档。表示切词权重,R代表切词和文档的相关性。
具体来说,它是一种基于概率检索模型提出的算法,BM25的计算主要有几个部分组成:
- query中每个分词的重要性
- query中每个分词和文档之间的相关性
- query中每个单词与query的相关性(只有当query很长时才会使用)
分别对BM25的组成部分进行解读:
1、 表示分词权重
这里就是IDF:
其中,N表示索引中全部文档数量, 表示了包含了切词的文档个数。依据IDF的作用,对于
来说,包含 的文档数越多,说明 的重要性越小,或者区分度越低;可以使用IDF来刻画 与文档的相似性。
2、分词和文档的相关性
3、分词与query的相关性
4、BM25的最终公式