`

打分公式

阅读更多

文档的分值代表了该文档在特定查询词下对应的相关性高低,他关联着信息检索向量空间模型中的向量夹角的接近度。一个文档越与查询词相关,得分越高。分值计算公式如下:

score(q,d)   =   coord(q,d) · queryNorm(q) ·   ∑ ( tf(t in d) · idf(t)2 · t.getBoost() · norm(t,d) )
                                                                      t in q  
其中

tf(t in d)

这个值衡量着Term在文档中出现的频率,也就是词频。关键词在文档中出现的次数越多,得分越高,这个值在DefaultSimilarity的计算公式如下(词频的平方根):
tf(t in d)   =    frequency?

idf(t)

代表着该词的逆词频,这个值衡量了该词在整个文档库中出现的频度。这意味着,一个词出现的越少,根据香农的信息公示,他越珍稀。同时将贡献更多的分值给总分值。默认的计算公式如下(其中numDocs代表整个文档的数量,docFreq代表了含有Term t的文档数量):
                                   numDocs
idf(t) =    1 + log    ( –––––––––   )  
                                  docFreq+1

coord(q,d)

这个分值衡量了文档中含有多少Term。文档中出现的越多,越全,将获得越高的分值。举个例来说,查询“lucene”和"Apache",同时出现两个Term的肯定比只出现一个lucene或者Apache的分值高。这个值是搜索时动态计算的,默认的计算公式如下:

coord(q,d) = overlap / maxOverlap

 

queryNorm(q)

这个标准化因子用于在多个查询器中进行比较。它并不影响文档的排名。它的主要作用在于多个查询器返回的结果进行比较,甚至是结果来自多个索引时。这是搜索时的权重因子,当给查询器设置权重时就是通过这个因子进行影响的。默认的实现公式如下:
                                                                                                           1
queryNorm(q)   =   queryNorm(sumOfSquaredWeights)   =   ––––––––––––––
                                                                                         sumOfSquaredWeights?

其中的sumOfSquaredWeights的计算公式如下:(可以清晰的看到获取query的boost,当没给查询器设置值时,默认为1,不起作用)
sumOfSquaredWeights   =   q.getBoost() 2 ·   ∑ ( idf(t) · t.getBoost() ) 2  
                                                                      t in q

t.getBoost()

该值是一个搜索时权重因子,可以在查询时给不同的Term设置不同的权重,可以通过lucene语法(具体参见另外一篇文章:hi.baidu.com/expertsearch/blog/item/8d4f7d355a2e413c5ab5f547.html),也可以通过setBost()函数,注意,在多Term查询器中,是没有获取单一Term权重的函数的,所以如果需要获取,只能调用相应的子查询器函数的getBoost()函数。

norm(t,d)

封装了一些索引时因子以及长度因子。
Document boost - 在索引时,添加到Index前可以通过doc.setBoost()设置,衡量了Document的重要程度。.
Field boost - 在将字段加入到文档前可以通过调用field.setBoost()来设置字段的权重。
lengthNorm(field) - 该值在将文档添加到索引时,根据所有文档中特定字段的Term数来计算。所以默认更短的字段将贡献更多的分值。

                                                   1
lengthNorm(field) =   ––––––––––––––
                                           numTerms?

当文档加入索引时,以上因子将相乘,如果一个文档中有多个同名的字段,那么将多个多同的权重也相乘。
norm(t,d)   =   doc.getBoost() · lengthNorm(field) ·   ∏ f.getBoost()
                                                                       field f in d named as t

可是还有件值得注意的事情,这个值在索引时计算完毕后将编码为一个Byte存储起来,在搜索时,再从文件中读取出该值并解码成float。在这个过程中,可能会造成精度的缺失,并不能保证decode(encode(x)) = x,比如,有可能decode(encode(0.89)) = 0.75,同样值得注意的是,在搜索时改变此值已经太晚了。例如,用一个不同于DefaultSimilarity的实现。


相关函数:
setDefault(Similarity), IndexWriter.setSimilarity(Similarity), Searcher.setSimilarity(Similarity)

分享到:
评论

相关推荐

    lucene评分公式详解

    它的核心功能之一是根据用户查询与文档的相关性进行打分,这个过程涉及到一个关键的概念——评分公式。本文将深入探讨Lucene的评分公式,理解其工作原理,并探讨如何通过自定义评分公式来影响搜索结果的排序。 首先...

    lucene打分公式解释

    lucene打分公式解释,非常详细,帮助理解搜索ranking.

    通达信指标公式源码软件《个股评分》——可用于排序选股.doc

    在本文档中,我们看到的“个股评分”公式是一个基于多种技术指标综合评估股票强度的策略,旨在帮助用户筛选出潜在的强势股。下面我们将详细解读这个公式及其各个组成部分。 首先,公式主要由五个部分组成:形态、...

    气象ts评分

    ### TS评分公式解释 TS评分的计算公式为:\[ \text{TS} = \frac{n}{(n_1 + n_3 + n_4)} * 100\% \] 其中: - \(n\) 表示预报正确次数与预报错误次数之和。 - \(n_1\) 表示预报正确且实际发生的情况次数,即真正例...

    量化辨股与评分副图选股指标 源码 通达信.doc

    二、量化辨股与评分副图选股指标的计算公式 A1:=MA(MAX(HHV(H,13),C),2); A2:=MA(MAX(HHV(H,5),A1),2); A3:=MA(MAX(HHV(H,3),A2),2); A4:=MA(MIN(LLV(A3,13),A3),2); A5:=MA(MIN(LLV(L,13),A4),2); A6:=(A1+A4+A5)...

    量价突破指标公式通达信指标公式源码.doc

    量价突破指标公式通达信指标公式源码.doc

    通达信指标公式源码 AI智能模式副图指标.doc

    通达信是一款在中国广受欢迎的股票分析软件,其允许用户自定义各种技术指标公式来辅助股票交易决策。本文档提供了一种AI智能模式的副图指标公式源码,旨在通过计算和显示各种技术参数,帮助投资者更好地理解市场趋势...

    利用Excel函数公式计算体操比赛的选手得分.rar

    利用Excel函数公式计算体操比赛的选手得分.rar,在统计工作中,经常希望将数据两端的极值...例如竞技比赛中常用的评分规则——去掉一个最高分和一个最低分后取平均值为最后得分。本例介绍了多种利用函数公式的实现方法。

    论文研究 - 高血压与动脉粥样硬化危险因素相关的家庭健康策略突出弗雷明汉风险评分策略

    因此,根据弗雷明汉风险评分(FRS)确定SAH恶化和加重的风险可以降低DCV的发病率并改善预防措施。 这项观察性和横向研究采用了BA Senhor do Bonfim的《健康家庭策略》中患者记录的数据收集方法,该方法通过描述性和...

    价值优势副图通达信指标公式源码.doc

    "通达信价值优势副图通达信指标公式源码.doc" 本资源是关于通达信价值优势副图...此外,本文档还提供了市盈率、市净率、每股收益、资产报酬率、股本报酬率、净值报酬率等指标的评分公式,用于评价股票的投资价值。

    CRUSADE出血风险评分.pdf

    CRUSADE出血风险评分是一种临床工具,用于评估急性冠状动脉综合症(ACS)患者在接受侵入性心血管程序时可能出现的出血并发症的风险。这个评分系统是基于多项临床研究的结果,旨在帮助医生对患者的出血风险进行预估,...

    Solr评分整理汇总.docx

    Solr 评分整理汇总是指 Solr 中的评分机制,该机制是继承自 Lucene 的文本相关度的打分,即 boost。这一套算法对于通用的提供全文检索的服务来讲,已经够用了,但是想要根据实际业务需求定制自己的打分机制来获取...

    通达信指标公式源码股票基本面评估副图指标.doc

    通达信指标公式源码股票基本面评估副图指标 该指标公式源码是用于股票基本面评估的通达信指标公式,旨在评估股票的基本面情况,包括财务指标、股票基本信息、行业板块信息等多个方面。下面是该指标公式源码的详细...

    通达信指标公式源码 主力成本 主图源码.doc

    通达信指标公式源码详解 通达信是一种专业的技术分析软件,它提供了强大的指标公式编辑功能,允许用户根据自己的需求设计和实现复杂的指标公式。在本文中,我们将对通达信指标公式源码进行详细的解析,涵盖指标公式...

    必做题—命题公式真值表输出选做题—函数曲线的离散化 提高题(选做)—用离散的点显示自己的姓名(评分:优秀)

    必做题—命题公式真值表输出 已知命题公式A=﹁( p q ) ( (p r) s),用JAVA或C/C++语言编写程序构造该命题公式的真值表,真值表输出样式自己设计(变量值可以不手工输入),编制程序、画流程图、解释核心程序段、展示...

    文华公式期货指标公式文华财经指标真正好用的指标笑脸指标公式.doc

    而选股函数则在XX上穿YY时,如果XX小于20,给出一个30的评分,用于选择可能有上升潜力的股票。 综上所述,文华财经的笑脸指标公式通过综合运用DIF、DEA和MACD等技术指标,结合低位金叉、二次金叉等交易信号,以及...

    通达信指标公式源码 侦察兵幅图买底 源码 无未来.doc

    通达信指标公式源码详解 通达信指标公式源码是金融技术分析中的重要工具,旨在帮助投资者和金融分析师对股票市场进行技术分析和预测。在这个公式源码中,我们可以看到一个基于侦测线和行军通道的指标系统。下面我们...

    CAD自动评分系统的设计.pdf

    7. 算法和评分逻辑:评分算法需要精确地反映评分标准,它可能是基于规则的逻辑判断,也可能是基于某些数学模型的评分公式。系统必须能够处理设计中的各种情况,包括不同复杂度的设计要求。 8. 系统的适用性和扩展性...

    信息系统项目管理师考试公式汇总

    - **供应商选择评分**= Σ(权重×评分),其中权重和评分分别代表评价指标的比重和供应商的得分 ### 7. 项目变更管理公式 项目变更管理旨在控制项目范围的变化,确保项目目标得以实现。 - **变更控制成本**= (原...

Global site tag (gtag.js) - Google Analytics