2022-03-06 《信息检索导论》学习笔记(三)

本文档深入探讨布尔检索模型,包括布尔查询处理的合并算法和优化策略。通过对倒排记录表的有序访问和邻近操作符的介绍,阐述了如何提高信息检索的效率和用户满意度。同时,讨论了布尔操作在召回率和正确率之间的权衡问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章——布尔检索

1.3 布尔查询的处理
  1. 求两个倒排记录表交集的一个简单有效的合并算法。
    合并
    笔记:两个词的倒排记录表按照全局统一指标排列(例:从小到大排列),两边列表的指针进行同步线性查找和对比,若两边指针所对应的文档ID不同,则对应较小ID的指针向后移动,这种合并算法的时间复杂度(time complexity)为O(N),与线性扫描的时间复杂度相比并没有很大的提升。

  2. 查询优化(query optimization):指的是如何通过组织查询的处理过程来使处理量最小。

  3. 在与逻辑中,结果往往不会超过最小的数,因此我们可以先合并最短的倒排记录表,那么中间所有计算结果大小都不可能超过最短的倒排记录表,这样可以减少查询处理的工作量。

  4. 文档频率在访问之前可以用于决定倒排记录表的访问次序。

  5. 将每个返回的倒排记录表和当前内存中的中间结果进行合并,这样做的效率更高。(如下图:在输入多个词项的与查询时对它们的倒排记录表进行合并的算法。)
    合并

1.4 扩展的布尔检索模型及有序检索
  1. 严格的布尔操作所得到的无序结果集远远不能使用户满意,所以,这些系统中往往加入了更多的操作,如“词项邻近”(term proximity)的操作。

  2. 邻近操作符(proximity):用于指定查询中的两个词项应该在文档中互相靠近,靠近程度通常采用两者之间间隔的词个数或者是否同在某个结构单元(如句子或段落)中出现来衡量。

  3. Web 搜索不同的是,上述查询中的空格表示逻辑“或”关系,&表示 AND,/s、/p 及/k 分别表示处于同一句子、段落和 k 个词之内。双引号表示的是短语查询(phrase search,即多个词连续出现,感叹号(!) 表示后缀通配查询。因此,liab!表示和所
    有以 liab 开始的词匹配。另外,work-site 表示可以和 worksite、work-site 及 work site 匹配。

  4. 布尔搜索的一个普遍问题就是采用 AND 操作符产生的结果正确率虽高但是召回率偏低,而采用 OR 操作符召回率高但是正确率低,很难或者说不可能找一个令人满意的折衷方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值