本文主要是介绍信息检索笔记-文档平分,词项权重计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
给定一个布尔查询,返回的结果要么满足条件,要么不满足条件,结果很多的时候就不太对了,应该按照文档的重要性排序后呈现给用户。
本文引入简单的几种权重计算。
域索引权重计算
我们知道一篇文章除了内容外,还有作者、题目,写作时间等,这就是域。我们可以对文档建立域索引。
建立好域索引后,我们就可以通过域加权。考虑这样的例子,一个文档集包含3个域-author、title和body,考虑查询shakespeare,对于每个域出现则得1分,不出现则得0分。对于该文档集,我们假设三个域的权重分别为g1 = 0.2,g2=0.3,g3=0.5,同时我们可以看出g1+g2+g3=1。如果shakespeare同时出现在title和body域,则该篇文档的得分:
score = g2*0.3 + g3*0.5 = 0.8。根据这个例子,我们就可以通过如下公式计算文档得分:
score = sum(gi * si),gi表示域的权重,si表示文档在该域的得分。
(1)那么如何利用倒排索引求域呢?如下图中,我们首先定义一个scores[100],则 score[1]+=0.5,score[3]+=0.5....
(2)如何利用
这篇关于信息检索笔记-文档平分,词项权重计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!