【信息检索导论】第七章搜索系统中的评分计算

本文探讨了在海量文档中快速找到与查询最相关的topk文档的方法,涉及快速评分算法、索引优化、胜者表、静态得分和聚类剪枝。同时,详细解释了信息检索系统构成、向量空间模型对布尔查询、通配符查询及短语查询的支持。
摘要由CSDN通过智能技术生成

1. 总述

本章主要解决以下问题:

  1. 对于千亿级别的文档,为每一个询问对文档库进行排序是不现实的,如果快速的检索出某个询问最相关的topk个文档呢?
  2. 除了query与document的相似度之外,对文档进行排序的过程是否还需要其他指标? 如何综合这些指标呢
  3. 一个完整的信息检索系统需要包括哪些模块?
  4. 向量空间模型是否支持通配符查询?

2. 快速评分与排序

本章主要介绍一些启发式的方法,用来快速的找到符合与某个询问较为相关的K个文档,找到的文档中并非完全包含最相关topk,但我们会返回与真实topk分数接近的K个文档。

a. 索引去除优化
只考虑包含询问中多个查询项的文档, 或者只考虑包含词项超过一定idf阈值的文档。

b. 胜者表
对倒排表中的每个词项, 找到与该此项最相关的t个文档, 然后在之后的查询中,对于每个词项只考虑t个打分最高的文档,即对于一个查询, 我们只需要在该查询包含的词项对应的 N* t个文档中选出topk即可,其中N为该查询包含的词项数目。

c. 文档的静态得分
结合胜者表使用, 可以通过文档的静态评分作为每个词项选择前t个文档的依据。 其中文档的静态评分代表文档的质量, 如网站用户对该网站的评价等。如下图所示:
在这里插入图片描述
d. 簇剪枝
利用文档向量进行聚类运算, 然后通过选出 ( N ) \sqrt(N) ( N)个聚类中心,期望上是每个聚类中会包含 ( N ) \sqrt(N) ( N)个文档,其中 N为文档数目。然后选择离query最近的聚类中心作为候选项, 在这 ( N ) \sqrt(N) ( N)个文档中选择topk个离query最近的文档。

3. 信息检索系统的组成

a. 层次化索引
在这里插入图片描述
如上图所示, 通过分数划分成不同的层级,检索的时候从上往下检索,直到找到K个候选文档为止。

b. 词项邻近性
查询中的词项在文档中的距离越近,该文档的评分应该越高。至于如何去评定词项临近的分数, 需要使用机器学习的内容。

c. 评分函数的计算:
同上, 综合为一个文档打分,需要考虑静态分数, query与文档的相似度, 词项临近性等多种因素, 根据应用的不同偏重性, 可以制定手工规则来综合为文档进行打分, 也可以将以上的分数都看做特征,然后将这些特征输入到机器学习模型做打分。

d. 信息检索系统的组成
在这里插入图片描述
在文档端: 索引建立到非精确检索
在用户端: 从拼写纠正到检索, 到通过机器学习算法来对文档进行排序打分。

4. 向量空间模型对各种查询操作的支持

a. 布尔查询
显然向量空间模型可以支持单个词项的布尔查询,但多个词项组合的布尔查询表达式,由向量空间模型这种累加分数的方式不太容易实现。
b. 通配符查询
可以将通配符先进行解析,解析出通配符可能代表的查询词项,然后将所有可能的词项作为候选query去查询, 最后综合所有query的查询结果。 因此向量空间模型可以解决
c. 短语查询
由于向量空间模型不考虑短语之中各个词项的相对位置,因此向量空间模型不适用于短语查询。

5. 小结

  1. 对于千亿级别的文档,为每一个询问对文档库进行排序是不现实的,如果快速的检索出某个询问最相关的topk个文档呢?
    答: 使用启发式算法,如胜者表,分层索引的方法,找到相对较好的topk个文档。
  2. 除了query与document的相似度之外,对文档进行排序的过程是否还需要其他指标? 如何综合这些指标呢。
    答: 存在很多其他指标,如文档的静态评分, 词项近邻分数等,最后可以通过人工规则或者机器学习的手段综合评分。
  3. 一个完整的信息检索系统需要包括哪些模块?
    答: 见图3.d
  4. 向量空间模型是否支持通配符查询?
    答: 支持。

6. 思维导图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值