`

BM25公式

阅读更多

 



 

其中qdC分别表示查询、文档和文档集合,|q||d|分别是查询q和文档d的长度,avdl是文档集合中文档的平均长度。w表示特征词项(Term)c(w,d)c(w,q)分别表示w出现在dq中的个数,N是文档集合中的文档总数,df(w)表示出现w的文档个数。p(w|C)表示C中出现w的概率。公式中的k1,k3,b,都是人工经验调节的参数。

 

BM25模型是一个经验启发式模型,存在着巨大的鲁棒性问题,具体表现在:

 

(1) 这些模型有需要人工经验调节的参数。同一模型在面对同一查询、同一文档集的情况下,不同的参数其取值结果性能相差较大;

(2) 如果参数不变,同一模型对同一查询,在不同的文档集上结果也会性能相差很大;

(3) 同一模型对不同查询,同一组参数,同一文档集合上的结果性能也会相差很大。

  • 大小: 4.7 KB
分享到:
评论

相关推荐

    BM25算法浅析.doc

    在索引构建时,需要记录每个文档的长度,并在查询时根据BM25公式计算每个文档的相关性得分。 总结来说,BM25算法通过综合考虑词频、逆文档频率和文档长度,提供了一种衡量文档与查询相关性的有效方法,广泛应用于...

    python-bm25:python的BM25加权方案的实现

    3. **BM25公式**:BM25结合了TF和IDF,同时引入了两个参数K1和b,用于调整词频和文档长度的影响。公式如下: \( BM25(f,d) = \frac{(k_1+1) \cdot TF(f,d)}{k_1 \cdot (1-b + b \cdot \frac{|d|}{avgdl}) + TF(f,d...

    基于Python与spimi的新闻搜索引擎设计与实现

    BM25公式结合了逆文档频率(IDF)和文档内部频率(TF)的特点,可以更准确地评估文档与查询的相关性。 2.5.2 BM25聚类算法 基于BM25的聚类算法能够将相似的新闻归类在一起,便于用户发现相关的新闻集合。 2.6 ...

    bm25-ranking-php:使用bm25排序算法对reuter的文档进行排序

    4. **文档评分**:根据BM25公式对每个文档进行评分。 5. **排序**:根据评分对文档进行降序排序。 **`bm25-ranking-php`项目简介** `bm25-ranking-php-master`可能是一个包含以下组件的项目: 1. **代码库**:...

    BM25算法浅析

    使用 Lucene,我们可以直接将代码中 tf 和 idf 函数的返回值修改为 BM25 打分公式的两部分,以实现 BM25 算法的具体实现。 BM25 算法是一种常用的搜索相关性评分算法,广泛应用于搜索引擎、信息检索等领域,其灵活...

    介绍TFIDF与BM25的优秀PPT

    BM25的计算公式如下: $$BM25(t,d) = \frac{idf(t) \times \frac{tf(t,d) \times (k+1)}{tf(t,d) + k \times \left(1 - b + b \times \frac{|d|}{avgdl}\right)}}$$ 这里: - $k$ 是一个常数,通常取值为1.2到2...

    BM25的算法

    2. BM25的数学公式 BM25的评分公式可以表示为: score(D, Q) = ∑(idf(qi) * (k1 + 1) * f(qi, D) / (k1 * (1 - b + b * |D| / avgdl) + f(qi, D))) 其中: - score(D, Q):表示文档D与查询Q的相关性评分。 - qi...

    BM25算法介绍

    公式1描述了BM25的计算方式: \[ \text{score}(D, Q) = \sum_{q_i \in Q} IDF(q_i) \cdot \frac{f(q_i, D) \cdot (K_1 + 1)}{f(q_i, D) + K_1 \cdot (1 - b + b \cdot \frac{|D|}{avgdl})} \] 其中: - score(D, Q)...

    【短文本相似度】传统方法BM25解决短文本相似度问题.pdf

    BM25算法的计算公式为: \[ BM25 = \sum_{i=1}^{m}IDF(q_i) \times \frac{TF(d_i, q_i) \times (k_1 + 1)}{TF(d_i, q_i) + k_1 \times (1 - b + b \times \frac{len(d)}{avglen})} \] 其中,\(m\)是查询中的词数,\...

    Algorithm-rank_bm25.zip

    计算公式为: \( IDF(t,D) = \log\left(\frac{|D|}{|\{d \in D : t \in d\}|} + 1\right) \) 其中,\( |D| \)是文档集合的大小,\( |\{d \in D : t \in d\}| \)表示包含词\( t \)的文档数量。IDF通常会加上1来避免...

    Chihiro:千寻搜索

    最后利用概率检索模型中的BM25公式计算给定关键词下的文档相关性评分,根据评分给出排序结果。本实验根据此框架图构建搜索引擎项目。 1.1 网络爬虫 网络爬虫[1](英语:web crawler),也叫网络蜘蛛(spider),是一...

    TF-IDF和BM25算法原理及python实现

    计算公式如下: TF-IDF算法,计算较快,但是存在着缺点,由于它只考虑词频的因素,没有体现出词汇在文中上下文的地位,因此不能够很好的突出语义信息。 import numpy as np class TF_IDF_Model(object): def __...

    BM25Transformer:(Python)将文档项矩阵转换为OkapiBM25表示形式

    算法的基本公式是: \[ f_{ij} \cdot (k_1 + 1) / (f_{ij} + k_1 \cdot (1 - b + b \cdot \frac{docLen_i}{avgDocLen})) \] 其中,`f_{ij}` 表示词汇项`j`在文档`i`中的出现次数,`docLen_i`是文档`i`的总词数,`...

    Mastering ElasticSearch 5.0

    - **BM25评分公式**: \[ score = IDF * \frac{tf}{k_1 + tf} \] 其中,\(tf\)表示词频,\(IDF\)表示逆文档频率,\(k_1\)是一个饱和点参数。 - **与TF-IDF的区别**: - **饱和点**:TF-IDF会随着词频的增加而...

    搜索引擎开发现实文档(lucene)

    3. VSM 和 BM25:VSM(Vector Space Model)和 BM25 是两种常用的相关度排序算法。 4. Lucene 优化:Lucene 优化是指对 Lucene 的配置和参数进行调整,以提高搜索效率。 Lucene 相关产品 1. Apache Lucene:Apache...

    网页排序算法PPT学习教案.pptx

    3. **概率模型**:基于概率统计理论,如BM25,考虑词频、文档长度等因素计算相关性。 **第二代搜索引擎:基于超链接的检索** 随着互联网的发展,搜索引擎开始利用超链接结构来改进搜索结果。两个重要的算法是: 1. ...

    Lucene+3.0+原理与代码分析完整版

    2. **BM25**:一种改进的 TF-IDF 公式,更加关注文档长度和平均文档长度之间的差异。 3. **其他算法**:Lucene 支持多种打分算法,可以根据具体需求进行配置。 #### 七、Lucene 搜索过程解析 **搜索过程**涉及到从...

    谷歌黑板报-数学之美 数学在信息检索和自然语言处理中的主导作用和奇妙应用 共45页.pdf

    统计方法如最大匹配法、BM25算法等被广泛应用于解决这个问题。 3. **隐含马尔可夫模型(HMM)**:HMM在语音识别和自然语言处理中有着广泛应用,用于建模序列数据,如词性标注和自动文摘。 4. **信息度量**:信息论中...

Global site tag (gtag.js) - Google Analytics