《信息检索导论》第七章总结

一、打分排序的特性

其实对于打分排序来说,我们最终只需要确定文档的相对顺序即可,因此我们可以简化打分的算法,只需要保持相对顺序不变即可;

二、快速排序及打分方法

我们前面的打分排序方法都需要计算查询及每篇文档的余弦相似度,然后需要取出打分最高的前K篇文档,这样做的复杂度是很高的;其实如果有一个算法能够近似求出前K篇文档但是复杂度少很多(不需要计算所有文档的得分),则我们通常会采用后一种算法;

通用方法:预先找到文档子集A(远小于初始文档集),包含了大多数的候选文档,并在A中计算得分最高的前K篇文档;以下方法都是基于这个规则计算的;

1.索引去除技术

(1)只考虑term的idf超过阈值的posting;因为低idf的term通常是stop words,posting非常长,所以不计算这些将使复杂度大大降低,因此不必考虑;

这里会出现超过阈值的doc没超过K篇,则需要使用层次型索引解决;

层次型索引:将倒排记录表进行分层,比如tf超过20的在第一层,tf超过10的在第二层,当需要查找前K篇文档时,只需要先在第一层查找,如果没取够K篇,则到第二层查找;

因此层次型索引是解决可能返回文档少于K篇的方法;

(2)只考虑包含多个查询词项的文档;

2.胜利表法

胜利表(champion list):对于词项t,预先取出posting的tf值最高的r篇文档,此序列称为胜利表;

给定一个查询Q,我们只需要求Q中的每个词项的胜利表的并集,此并集就是通用方法所说的文档子集A,并在A中计算余弦相似度;

3.静态得分排序法Static quality Score

每篇文档都有一个与查询无关的静态得分g(d),倒排索引中的posting按照g(d)进行降序排列;

而最后的得分是Score(q,d)=g(d)+v(q)v(d);

在第二十一章所说的PageRank是一个静态质量得分,是一个基于网页链接分析的打分;

4.分层搜索排序

对于词项t,维持两个表:高端表(tf值最高的m篇文档)和低端表(其余文档),都以g(d)排序;

取出打分最高的K篇文档方法:先计算高端表的得分,如果已经在高端表已经能够取出K篇得分最高的文档,则结束;否则,其余的在低端表中取;

5.cluster pruning

leader:在N篇文档中找到(根号N)篇文档作为leader;

follower:每个leader都有(根号N)个follower,表示与leader距离较近;

查询方法:给定查询Q,先与每个leader计算余弦相似度,找到最近的leader,文档子集A为此leader+leader对应的follower;

三、其他考虑因素

1.查询词项邻近性

我们希望查询词在文档中都靠的很近,这样才能够使得文档和查询更相关;

最小窗口大小:the quality of mercy is not stained ,如果查询为:stained quality;则最小窗口大小为6(quality of mercy is notstrained);

软合取:文档不必包含全部的查询词项,只需要包含大部分的查询词项即可;

因此有可能需要将邻近性也加入权重中;

四、搜索引擎组成

indexer用于生成各式各样的索引,比如参数化索引、域索引、K-gram索引、分层索引;

向量空间模型和布尔检索模型有所不同,布尔模型只考虑词项在文档中是否存在,而不考虑出现了几次,也没有权重;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值