BM25是基于TF-IDF并做了改进的算法。
BM25中的TF
传统的TF值理论上是可以无限大的。而BM25与之不同,它在TF计算方法中增加了一个常量k,用来限制TF值的增长极限
传统 TF Score : $\sqrt{tf}$ BM25的 TF Score: $((k + 1) * tf) / (k + tf)$
BM25如何对待文档长度
BM25还引入了平均文档长度的概念,单个文档长度对相关性的影响力与它和平均长度的比值有关系。BM25的TF公式里,除了k外,引入另外两个参数:L和b。L是文档长度与平均长度的比值。如果文档长度是平均长度的2倍,则L=2。b是一个常数,它的作用是规定L对评分的影响有多大。加了L和b的公式变为:
TF Score = ((k + 1) * tf) / (k * (1.0 - b + b * L) + tf)
BM25在传统TF-IDF的基础上增加了几个可调节的参数,使得它在应用上更佳灵活和强大,具有较高的实用性。