【信息检索导论1】布尔模型

1.Information Retrieval

定义:
Information retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies an information need from within large collections (usually stored on computers).
web search

  • 数量庞大
  • 需要索引
  • 反欺诈
  • 利用超链接

personal information retrieval:

  • eg:Email
  • 分类
  • 垃圾邮件过滤
  • 存储大量类别
  • 维护免费
  • 磁盘空间

enterprise,institutional, and domain-specific search

  • stored on centralized file systems

线性查找:grep

  • 在文本中查某个词足够了,但有其他需求

其他需求:

  • 数据量大而多,快速处理
  • flexible matching operations
  • 排序

布尔模型

  • query:布尔表达式

任务:

  • ad hoc retrieval task.
    • 输入query,输出doc列表(排序后)

评估

  • precision
  • recall

专有名词

  • term:索引的单元,如词、词组、潜在词等
  • document:检索的单位,如网站列表,也可能是某一章节
  • collection或者corpus:doc的集合
  • information need
    • 用户向计算机传递的需求
    • 可能并不精确
  • relevant:如果用户认为包含与其个人信息需求相关的信息

1.1 term-document matrix

在这里插入图片描述
词袋->doc向量:每列一个doc向量,每行一个term向量
query:Brutus AND Caesar AND NOT Calpurnia,
在这里插入图片描述
答案:Antony and Cleopatra and Hamlet
问题

  • 稀疏,词表大难以存储–>倒排索引

1.2 倒排索引

在这里插入图片描述

INVERTED INDEX

  • dictionary(vacabulary):
    • 内存
    • key:term列表,也排序了,也会记录postings的长度(doc freq)
    • value:postings list/postings:排好序的,按doc id,出线相关词的freq,…
  • postings
    • posting记录:docid,term在doc中出现的位置、freq,…
    • 存储:disk
      • 固定长度:不行,浪费
      • linked list:链表,
        • 便于插入,
        • 便于扩展到advanced indexing strategies
          • skip list,需要新的指针
        • 问题:要存储指针
      • 可变数组
        • 顺序存储,遍历快
        • 无需存储指针,指针可以是offset
      • 混合
        • 不变数组的链表

建立:

  • Collect the documents to be indexed:
  • 分词
  • normalized
  • index
    • merge:相同term的相同doc合并
      在这里插入图片描述

1.3 Processing Boolean queries

  1. 得到每个term的postings
  2. OR:则两个表融合,取并集,AND:取交集,转化为AND链接的形式

取交集:(标准方法)
在这里插入图片描述
问题:取交集时,常数复杂度,但这个常数很大
解决:

  • 先按doc freq排序(posting的长度),先合并短的
    • 最终结果的长度不会超过最短的列表
    • 这是保存doc freq.的原因
    • 先算OR,再算AND
      在这里插入图片描述
  • 先算短的,然后保存到中间结果
    • 每次下一个输入与中间结果求交集
    • 问题:不对称
      • 中间结果:内存;下一个输入:disk
      • 但下一个输入可能比中间结果大得多(两个数量级?)
    • 加速合并过程
      • 中间结果的doc在长positng中二分查找合并
      • 长postings采用哈希存储
      • 上述无法用于压缩后的positngs
    • 都是常见词,仍可以用标准法

带中间结果的求交集:
在这里插入图片描述

1.4 对基本布尔操作的扩展和有序检索

布尔检索和有序检索(排序检索模型)对应

布尔检索:

  • query:精确的逻辑表达式
  • 结果:无序
  • 布尔操作符的扩展
    • 邻近操作符:term的距离在文档中接近(中间含有几个词,来表征接近的程度
  • 专业人士更喜欢布尔检索:查询精确,控制力和透明度
    • 排序:按时间。。。

有序检索

  • query:不像逻辑表达式这么精确,采用一个或多个词构建(自由文本查询)
  • 结果:有序

要点

  • term:提供,容忍拼写错误,词语表达不一致(语义相同)
  • 复合词和短语:(Gates Near Microsoft)
  • 相似度:布尔查询仅记录存在与否,但是我们需要得到文档相关的可靠程度
    • 词项频率:term在doc中的频率高,权重高
  • 排序

ad hoc search:

  • 大搜、电商搜索。。。
  • 部分支持布尔操作,专业人士喜欢,大多人用的少
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值