zoukankan      html  css  js  c++  java
  • #信息检索期末预习系列# 第二章 布尔检索

    本文仅做《信息检索技术》期末预习使用,内容简略仅做大纲使用,期末抱佛腿的孩子请另寻他处(博主自己也快预习不完了QAQ)。


    • 信息检索模型概述
      • 检索模型的定义
        • 信息检索模型是描述信息检索中的文档、查询和他们之间关系(匹配函数)的数学模型
      • 布尔模型的定义
        • 文档表示:关键词的集合(bag of words)
        • 查询表示(queries)
        • 相关度计算
        • 检索策略:二值匹配
      • 布尔模型的优缺点
        • 优点
          • 查询简单、容易理解
          • 复杂布尔表达式控制查询结果
          • 有效的实现方法
          • 容易学习
          • 通过扩展包含排序功能
        • 缺点
          • 刚性
          • 太多或太少
          • 不考虑权重
          • 很难自动的相关反馈
    • 一个简单的搜索示例
      • grep程序
        • 线性扫描的查找程序
        • 对大规模数据查询较慢、灵活性不强、不支持对结果排序
      • 词项文档索引
      • 处理查询
        • 构造矩阵->110100 and 110111 and 101111 = 100100
      • 返回文档的好坏
        • 查准率返回的能满足用户信息需求的文档 / 总的返回的文档
        • 召回率:返回的能满足用户信息需求的文档 / 总的能满足用户信息需求的文档
      • 简单模型存在的问题:大的数据集无法构建矩阵
    • 倒排索引
      • 倒排索引包含词条(term)、频率(freq)和文档ID(docID)且docID按从小到大排序
      • 建立索引的步骤
        • 词条序列Token Sequence
        • 排序:先按照词条排序,再按照docID排序
        • 词典和倒排表:合并同一篇文档中多次出现的词、记录词汇的文档频率、分割成词典和倒排表
      • 查询的处理(AND)
        • 合并两个倒排表,操作用时为O(x+y)
    • 布尔检索模型
      • 布尔检索模型的形式化表示

      • 布尔代数
      • 精确匹配
        • and、or、not、xor
        • 精确匹配的欠缺:无法体现查询结果/查询淘汰结果之间的差异性
      • 查询优化(考虑一个用and连接n个词汇的查询)
        • 对每一个词汇都获取它的倒排记录表并按照文档频率从小到大的顺序进行合并
          • 优点是节约时间,因为两个小的合并完之后绝对比第三个还要小,三个文档合并最大需要O(x+y+min(x,y)+z)
        • 更一般的优化:考虑(madding or crowd) and (ignoble or strife) and (killed or slain)
          • 保守的估计出每个or操作后的结果大小
          • 按照结果从小到大的顺序进行and
  • 相关阅读:
    Android混淆
    Web开发人员应当知道的15个开源项目
    应用开发10种免费推广的方法
    (转载)Comparing C++ and C (Inheritance and Virtual Functions)
    JCTVC 会议输出文档
    HEVC bit depth increasment
    函数指针声明时的形参列表可以没有
    关于链接 Linkage
    二级指针和二维数组
    C 与 C++互相调用函数,变量
  • 原文地址:https://www.cnblogs.com/yuemo/p/12915007.html
Copyright © 2011-2022 走看看