lucence 文档评分公式

来源:互联网 发布:linux ed2k下载工具 编辑:程序博客网 时间:2024/05/19 23:58

1.简介

分值计算方式为查询语句query中每个项term与文档doc的评分之和。公式表示见1-1。

score(query,doc)=termqueryscore(term,doc)(1-1)

2.term与doc的评分

2.1 基于tf-idf

score(t,d)=tf(t,d)idf(t)2boost(t,d)lengthNorm(t,d)coord(q,d)queryNorm(q)(2-1)

符号 说明 备注 t term / d doc / q term 所在query / tf(t,d) term在doc中的频率 / idf(t) 1termdoc / boost(t,d) 域和文档的加权 在索引期间设置。可以用该方法对某个域或文档进行静态单独加权 lengthNorm(t,d) 域的归一化值 域的归一化(normalization)值,更短的域获得更大的加权。该值在索引期间计算,并保存在索引norm中。 coord(q,d) 协调因子(Coordination factor) 基于doc与query的term的交集的数量。该因子会对包含更多搜索项的文档进行类似AND 的加权。 queryNorm(q) 查询的归一化值 每个term权重的平方和
  • 此表格来源于《lucene实战(第二版)》,P82.
  • tf*idf思想可见《tf*idf 用于文本分类中的特征提取》

2.2 基于BM25

score(t,d)=idf(t)(k1+1)tf(t,d)k1((1b)+bdlavgdl)+tf(t,d)(2-2)

k1,b为调节因子,根据经验设置,一般取k1=2,b=0.75,dl为文档长度,avgdl为所有文档的平均长度。

0 1
原创粉丝点击