• 0

    用户访问量

  • 0

    注册用户数

  • 0

    在线视频观看人次

  • 0

    在线实验人次

网页排序BM25算法原理详解

作者:云创智学|发布时间:2021-11-30 11:46:51.0|来源:云创智学

网页排序BM25算法原理详解:

BM25算法是一种基于统计方法的排序算法,是二元独立模型的扩展,或者看作是TF-IDF算法的变形。此算法也是一种有效的相关性评分手段,被搜索引擎广泛使用。


使用BM25算法来对查询到的网页进行评分,其关键代码如下:

class BM25:

    def __init__(self, referance):

        self.referance = referance

        self.k1 = 2

        self.k2 = referance.wordCount / referance.fileCount

        self.b = 0.75

      def getRank(self, word, result):

        for filename in result.keys():

            f = self.referance.invertedTable[word][filename]

            idf = math.log(self.referance.fileCount / len(self.referance.invertedTable[word]))

            result[filename] = (idf * f * (self.k1 + 1)) / (f + self.k1 * (1 - self.b + self.b * self.k2))

        return result
联系方式
企业微信