




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章一个完整搜索系统中的评分计算一个完整搜索系统中的评分计算前情回顾7.1 快速评分及排序精确Top K检索 加速办法1、加快每个余弦相似度的计算检索排序就是找查询的K近邻,一般而言,在高维空间下,计算余弦相似度没有很高效的方法,但是如果查询很短,是有一定办法加速计算的,而且普通的索引能够支持这种快速计算。查询词项无权重,相当于假设每个查询词项都出现1次,于是,不需要对查询向量进行归一化,进而可以对上一讲给出的余弦相似度计算算法进行轻微的简化。2、不对所有文档的评分结果排序而直接选出TOP K 篇文档检索时,通常只需要返回前K条结果,可以对所有的文档评分后排序,选出前K个结果,但是这个排序过
2、程可以避免,令 J = 具有非零余弦相似度值的文档数目从J中选K个最大的。(堆法N中选K) 1 19 13 15 20 2 3 4 5 6 7 8 3、能否不需要计算N篇文档的得分提前终止计算到目前为止的倒排记录表都按照docID排序,接下来将采用与查询无关的另外一种反映结果好坏程度的指标(静态质量)。例如: 页面d的PageRank g(d), 就是度量有多少好页面指向d的一种指标 (参考第 21章)于是可以将文档按照PageRank排序 g(d1) g(d2) g(d3) . . .将PageRank和余弦相似度线性组合得到文档的最后得分 net-score(q, d) = g(d) +
3、cos(q, d)假设: (i) g 0, 1; (ii) 检索算法按照d1,d2,,依次计算(为文档为单位的计算,document-at-a-time),当前处理的文档的 g(d) 1.2由于后续文档的得分不可能超过1.1 ( cos(q,d) 1 )所以,我们已经得到了top K结果,不需要再进行后续计算 精确TOP K检索仍然无法避免大量文档参与计算一个自然而言的问题就是能否尽量减少参与计算文档数目,即使不能完全保证正确性也在所不惜。即采用这种方法得到的top K虽然接近但是并非真正的top K-非精确top K检索。 检索是为了得到与查询匹配的结果,该结果要让用户满意,余弦相似度是刻画
4、用户满意度的一种方法,非精确top K的结果如果和精确top K的结果相似度相差不大,应该也能让用户满意。减少参与计算的文档数目的一些方法,包括下面两个步骤: 找一个文档集合A,它包含了参与最后竞争的候选文档,其中K|A|N,A不必包含前K篇得分最高的文档,但它要包括很多和前K篇文档得分相近的文档。 返回A中得分最高的K篇文档小结方法一:索引去除一般检索方法中,通常只考虑至少包含一个查询词项的文档,可以进一步拓展这种思路。一、只考虑那些包含高idf查询词项的文档对于查询 catcher in the rye,仅考虑包含catcher和rye的文档的得分。 文档当中的in 和 the不会显著改变
5、得分,因此也不会改变得分顺序优点:低idf词项会对应很多文档,这些文档会排除在集合A之外二、只考虑那些包含多个查询词项的文档(比如达到一定比例,3个词项至少出现2个,4个中至少出现3个等等)对于多词项查询而言,只需要计算包含其中大部分词项的文档比如,至少4中含3这相当于赋予了一种所谓软合取(soft conjunction)的语义 (早期Google使用了这种语义)指的是在对一个包含多个词项的查询进行检索时,检索中的文档中只要出现大部分查询词项即可,并不要求出现全部查询词项 方法二:胜者表对每个词项t,预先计算出其倒排记录表中权重最高的r篇文档,如果采用tf-idf机制,即tf最高的r篇注意:
6、r 比如在索引建立时就已经设定,词项t所对应的tf值最高的r篇文档构成t的胜者表。 因此,有可能 r K检索时,仅计算某些词项的胜者表中包含的文档集合的并集 从这个集合中选出top K作为最终的top K方法三:静态质量得分排序方式我们希望排名靠前的文档不仅相关度高(relevant) ,而且权威度也大(authoritative)相关度常常采用余弦相似度得分来衡量而权威度往往是一个与查询无关的量,是文档本身的属性权威度示例:Wikipedia在所有网站上的重要性、某些权威报纸上的文章、论文的引用量、被 diggs, Y!buzzes或del.icio.us等网站的标注量、Pagerank 权
7、威度计算为每篇文档赋予一个与查询无关的(query-independent ) 0,1之间的值,记为g(d) 同前面一样,最终文档排名基于g(d)和相关度的线性组合。 net-score(q,d) = g(d) + cosine(q,d)查找net-score最高的top K文档首先按照g(d)从高到低将倒排记录表进行排序(p96)该排序对所有倒排记录表都是一致的(只与文档本身有关)因此,可以并行遍历不同查询词项的倒排记录表来 进行倒排记录表的合并 及余弦相似度的计算利用g(d)排序的优点这种排序下,高分文档更可能在倒排记录表遍历的前期出现在时间受限的应用当中 (比如,任意搜索需要在50ms内
8、返回结果), 上述方式可以提前结束倒排记录表的遍历将g(d)排序和胜者表相结合对每个词项维护一张胜者表,该表中放置了r篇g(d) + tf-idftd 值最高的文档检索时只对胜者表进行处理高端表(High list)和低端表(Low list)对每个词项,维护两个倒排记录表 ,分别成为高端表和低端表 比如可以将高端表看成胜者表遍历倒排记录表时,仅仅先遍历高端表 如果返回结果数目超过K,那么直接选择前K篇文档返回 否则,继续遍历低端表,从中补足剩下的文档数目上述思路可以直接基于词项权重,不需要全局量g(d)实际上,相当于将整个索引分层方法四:影响度(Impact)排序一、以文档为单位(docum
9、ent-at-a-time)的评分方法 按照docID排序和按照PageRank排序都与词项本身无关(即两者都是文档的固有属性),因此倒排记录表使用统一的排序方式。 上述计算余弦相似度的方法可以采用以文档为单位的处理方式。 即在开始计算文档di+1 的得分之前,先得到文档di 的得分。二、以词项为单位(term-at-a-time)的评分方法 最简单的情况:对第一个查询词项,对它的倒排记录表进行完整处理,对每个碰到的docID设立一个累加器,然后,对第二个查询词项的倒排记录表进行完整处理,如此循环往复。具体思路:将词项t对应的所有文档按d按照tftd值降序排列降低用于累加得分的文档数目的做法提
10、前结束法 遍历倒排记录表时,可以在如下情况之一发生时停止:(1)遍历了固定的文档数目r(2)wft,d 低于某个预定的阈值 2. 将词项按照idf排序对于多词项组成的查询,按照idf从大到小扫描词项在此过程中,会不断更新文档的得分(即本词项的贡献),如果文档得分基本不变的话,停止方法五: 簇剪枝(Cluster pruning)随机选 N 篇文档作为先导者对于其他文档,计算和它最近的先导者 这些文档依附在先导者上面,称为追随者(follower) 这样一个先导者平均大约有 N 个追随者查询处理过程查询处理过程给定查询 Q, 找离它最近的先导者L从L及其追随者集合中找到前K个与Q最接近的文档返回
11、采取随机抽样的原因采取随机抽样的原因速度快先导者能够反映数据的分布情况一般化变形(一般化变形(p97p97)每个追随者可以附着在b1 (比如3)个最近的先导者上对于查询,可以寻找最近的b2 (比如4)个先导者及其追随者7.2信息检索系统的组成层次型索引 基本思路: 建立多层索引,每层对应索引词项的重要性 查询处理过程中,从最高层索引开始 如果最高层索引已经返回至少k (比如, k = 100)个结果,那么停止处理并将结果返回给用户 如果结果 k 篇文档,那么从下一层继续处理,直至索引用完或者返回至少k 个结果为止 page83查询词项的邻近性 对于检索中的查询,特别是Web上的自由文本查询来说
12、,用户往往希望返回的文档中与大部分或者全部查询词项之间的距离比较近,因为这表明返回文档中具有聚焦用户查询意图的文本。 考虑一个由两个或者多个查询词项构成的查询t1, t2, . . . , tk。令文档d中包含所有查询词项的最小窗口大小为,其取值为窗口内词的个数。例如,假设某篇文档仅仅包含一个句子The quality of mercy is not strained,那么查询strained mercy 在此文档中的最小窗口大小是4。直观上讲,的值越小,文档d和查询匹配程度更高。如果文档中不包含所有的查询词项,那么此时可以将设成一个非常大的数字。在计算时,还可以考虑各种可能的策略变化,比如在
13、以单词个数来计算窗口宽度时,可以不考虑停用词的数目。查询分析及文档评分函数的设计rising interest rates 之类的查询,如何处理?依赖于用户数量、查询分布及文档集本身。通常情况下,会有一个查询分析器(query parser)将用户输入的关键词转换成带操作符的查询,该查询能够基于底层的索引结构进行处理。有时,这种处理过程可能需要基于底层索引结果对多个查询进行处理,比如,查询分析器可能会产生如下的一系列查询。1. 将用户输入的查询字符串看成一个短语查询。利用向量空间模型求解,此时输入查询向量是以rising interest rates 为基的1 维向量。2. 如果包含短语rising interest rates 的文档数目少于10 篇,那么会将原始查询看成rising interest 和interest rates 两个查询短语,同样通过向量空间方法来计算。3. 如果结果仍然少于10 个,那么重新利用向量空间模型求解,这时候认为3 个查询词项之间是互相独立的。7.3向量空间模型对各种查询操作的支持向量空间模型支持自由文本查询,这与前面的布尔查询、通配符查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制盐公司基金管理办法
- 冬天暖棚蜜蜂管理办法
- 公益互助基金管理办法
- 单片机驱动电梯控制系统设计
- 畜禽肌内脂肪沉积与代谢调控基因的研究进展
- 民企退休人员管理办法
- 体检信息保密管理办法
- 目标设定:投资发展部绩效考核指标
- 北京首个露营管理办法
- 工程突发事件应急处理
- 湖南长沙长郡中学高一分班考试化学试卷
- 衡水市武强县事业单位考试历年真题
- 髋臼周围截骨术治疗成人髋关节发育不良
- 各科门诊诊所技术操作规程
- 新教材人教版高中化学选择性必修1全册课时练习及章末检测含解析
- 浙江省建设工程施工费用定额相关费用计算程序表及费用取费费率换算表【实用文档】doc
- 《Windows网络操作系统》教学教案
- GB/T 23280-2009开式压力机精度
- GB/T 20041.21-2008电缆管理用导管系统第21部分:刚性导管系统的特殊要求
- GB/T 17213.4-2015工业过程控制阀第4部分:检验和例行试验
- 教师师风师德培训 课件
评论
0/150
提交评论