智能信息处理复习6——完整搜索系统中的评分计算

精确top K检索及其加速办法

目标

从文档集的所有文档中找出K 个离查询最近的文档

步骤

对每个文档评分(余弦相似度),按照评分高低排序,选出前K个结果

如何加速

  1. 快速计算余弦
    检索排序就是找查询的K近邻,一般而言,在高维空间下,计算余弦相似度没有很高效的方法,但是如果查询很短,是有一定办法加速计算的,而且普通的索引能够支持这种快速计算。
  2. 堆法N中选K
    检索时,通常只需要返回前K条结果:可以对所有的文档评分后排序,选出前K个结果,但是这个排序过程可以避免。
  3. 提前终止计算
    接下来将采用与查询无关的另外一种反映结果好坏程度的指标 (静态质量), 该得分的取值为 [0,1].
    net-score(q, d) = g(d) + cos(q, d)

非精确top K检索的问题

提出的想法

  • 仍然无法避免大量文档参与计算
  • 一个自然而言的问题就是能否尽量减少参与计算文档数目,即使不能完全保证正确性也在所不惜。
  • 即采用这种方法得到的top K虽然接近但是并非真正的top K----非精确top K检索

一般思路

找一个文档集合A,K<|A|<<N,利用A中的top K结果代替整个文档集的top K结果

方法

  1. 索引去除(Index elimination)技术
  • 只考虑那些词项的idf值超过一定的阈值的文档
  • 只考虑那些包含多个查询词项的文档(比如达到一定比例,3个词项至少出现2个,4个中至少出现3个等等)
  1. 优胜表(Champion list)
  • 对每个词项t,预先计算出其倒排记录表中权重最高的r篇文档,如果采用tf-idf机制,即tf最高的r篇。这r篇文档称为词项t的优胜表,也称为胜者表或高分文档(top docs)。
  • 注意:1)r 比如在索引建立时就已经设定,因此,有可能 r < K
    2)每个词项t的r值可以设置不同,例如:罕见词项t的r值可以设置大一些
  • 检索时,仅计算某些词项的优胜表中包含的文档集合的并集,从这个集合中选出top K作为最终的top K
  1. 静态质量得分排序方式
    静态质量得分排序方式
  • 为每篇文档赋予一个与查询无关的(query-independent ) [0,1]之间的值,记为g(d)
  • 同前面一样,最终文档排名基于g(d)和相关度的线性组合。
    简单的如:net-score(q,d) = g(d) + cosine(q,d)。或者采用等权重,也可以采用不同权重。另外可以采用任何形式的函数,而不只是线性函数。
  • 接下来我们的目标是找net-score最高的top K文档
  1. 影响度(Impact)排序
    如果只想对 tft,d 足够高的文档进行计算,那么就可以将文档按照 tft,d排序,需要注意的是:这种做法下,倒排记录表的排序并不是一致的(排序指标和查询相关)
  2. 簇减枝法
    在簇剪枝方法(cluster pruning)中,我们先对文档向量聚类来进行预处理操作,然后,在
    查询处理时,我们只考虑利用少数几个簇中的文档进行余弦相似度计算。具体的预处理步骤如下:
    (1) 从 N 篇文档组成的文档集中随机选出 N \sqrt{N} N 篇文档,它们称为先导者(leader)集合;
    (2) 对于每篇不属于先导者集合的文档,计算离之最近的先导者。
    不属于先导者集合的文档称为追随者(follower)。直观地看,对于 N \sqrt{N} N 篇随机选出的先导
    者文档,其期望分配到的追随者个数大约为 N/ N \sqrt{N} N = N \sqrt{N} N 。于是,查询处理过程如下:
    (1) 给定查询 q,通过与 N \sqrt{N} N 个先导者计算余弦相似度,找出和它最近的先导者 L;
    (2) 候选集合 A 包括 L 及其追随者,然后对 A 中的所有的文档计算余弦相似度。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值