【信息检索与数据挖掘】期末笔记(一)
创始人
2024-02-25 12:10:53
0

文章目录

  • 什么是信息检索
  • 词项-文档矩阵
  • 倒排索引
      • 构建过程
      • 前三步
      • 最后一步
  • 布尔检索模型
      • 布尔查询的处理
      • 查询优化
  • 如何存储词典
      • 哈希表
  • 有序检索模型
  • 对基本布尔操作的扩展
      • 短语查询和位置索引
      • 短语查询
        • 第一个解决方案
        • 第二个解决方案
  • 更快的索引表合并

什么是信息检索

信息检索是从大规模非结构化数据的集合中找出满足用户信息需求的资料的过程

按照处理数据的规模进行区分

  • 以Web搜索为代表的大规模级别
  • 面向企业和特定领域搜索等的中等规模
  • 个人信息检索等小规模

一些基本概念

  • 文档:指的是信息检索系统的检索对象
  • 文档集 / 语料库:由所有文档组成
  • 信息需求:指的是用户想查找的信息主题,和查询不同

词项-文档矩阵

线性扫描是一种最简单的计算机文档检索方式,但有些情况下线性扫描不适用

  • 大规模文档集条件下的快速查找
  • 需要更灵活的匹配方式 :Romans NEAR countrymen
  • 需要对结果进行排序

解决:构建词项-文档关联矩阵,词项是索引的单位

在这里插入图片描述

问题:数据量大的时候,不适用

  • 数据量大的时候,关联矩阵的内存巨大
  • 稀疏矩阵

在这里插入图片描述

显然,只记录原始矩阵中1的位置的表示放大比词项-文档矩阵更好。由此引出倒排索引。

倒排索引

  • 每个词项都有一个记录出现该词项的所有文档的列表
  • 表中的每个元素被称为倒排记录(posting)
  • 每个词项对应的整个表称为倒排记录表 / 倒排表(posting list)(按文档id从小到大排序
  • 所有词项的倒排表一起构成全体倒排记录表(postings)

在这里插入图片描述

构建过程

  • 收集文档
  • 词条化:将每篇文档转换成一个个词条(token)的列表
  • 归一化:进行语言学预处理,产生归一化的词条来作为词项
  • 建立倒排索引(一部词典和一个全体倒排记录表)
    • 词典放在内存中
    • 全体倒排记录表太大,放在磁盘中

在这里插入图片描述

前三步

在这里插入图片描述

最后一步

  • 得到了归一化的词条表

在这里插入图片描述

  • 将列表按照词项的字母顺序排序(建立索引中最核心的步骤

在这里插入图片描述

  • 最后结果:词典 + 倒排记录表

在这里插入图片描述

  • 词典中存储词项,文档频率,指向倒排索引表的指针
  • 存储:倒排记录表可以用单链表或变长数组,或混合

布尔检索模型

布尔检索模型接受布尔表达式,即通过 and or not等逻辑操作符将词项连接起来的查询。每篇文档只被看成是一系列词的集合

在这里插入图片描述

布尔检索的问题:

  • 一个普遍问题就是,用 ANDANDAND 操作符产生的结果正确率高但是召回率低。用OROROR操作符召回率高但是正确率低

布尔查询的处理

通过具有精准语义的逻辑表达式再来构建查询,得到的是无序的结果集

  • 考虑简单的 “与” 查询

    • 首先在词典中定位一次词,然后返回其倒排索引表

    在这里插入图片描述

    • 合并操作使用双指针,需要 O(x + y) 次操作,时间复杂度为 O(N) , N 是文档集合中文档的数目

      在这里插入图片描述

查询优化

  • 概念:指的是如何通过组织查询的处理过程来使处理工作量最小

在这里插入图片描述

  • 按照词项的文档频率(倒排索引表的长度)从小到大依次处理:因为中间结果的长度不会超过最短的倒排记录表

    • 添加文档频率可以决定访问次序

    在这里插入图片描述

如何存储词典

我们在进行查询的时候,首要任务是确定每个查询词项是否在词汇表中,如果在,则返回该词项对应的倒排记录表的指针

词汇表的查找操作采用称为字典的数据结构,有两大类解决方案:哈希表方式搜索树方式

哈希表

  • 每个词项通过哈希函数(自己设计的)映射成一个整数

  • 优点:查询速度很快

  • 缺点:

    • 无法处理轻微变形和前缀式查询
    • 失效快

    在这里插入图片描述

  • B树

    • 类似于平衡二叉树(任何节点两棵子树下的词项数目要么相等要么差1)

    • root区分词的开头,分为 a – m 和 a – z

    • 子孩子节点区分词的开头,将以 a – hu 开头和以 ht – m 开头的词分开⋯⋯\cdots \cdots⋯⋯

      在这里插入图片描述

    • 每个内部节点的子节点数目在区间[a , b]内取值(放宽平衡的条件)

      在这里插入图片描述

  • 优点:解决了前缀问题(查询以 xxx 为开头的词)

  • 缺点:

    • 查询速度不如哈希快
    • 需要平衡数,平衡很费力
    • 但是B树减轻了这个问题

    在这里插入图片描述

有序检索模型

  • 和布尔检索模型相对
    • 不通过具有精准语义的逻辑表达式再来构建查询
    • 采用一个或多个词来构成自由文本查询
    • 要能够确定哪篇文档最能满足用户需求

对基本布尔操作的扩展

短语查询和位置索引

短语查询

在这里插入图片描述

第一个解决方案

  • 双词索引:将连续的两个词都作为短语

    在这里插入图片描述

  • 长短语索引:拆分成双词索引

    • 可能出现的问题:出现false positive的情况,即有些文档不含有这个短语,我们也返回了
      • 确实含有这三个biword,但是不是拼在一起的,可能是不同位置的

    在这里插入图片描述

  • 双词索引的问题

    在这里插入图片描述

第二个解决方案

  • 位置信息索引:在索引表中记录每个 term 出现的位置

    在这里插入图片描述

    在这里插入图片描述

    • 缺点:位置信息索引极大地增加了索引表的存储空间。

      • 即使如此,由于其强大的短语索引和邻近查询功能,该方法被广泛应用
    • 应用:短语索引和邻近查询

      • 邻近查询

        在这里插入图片描述

        • 这里可以用位置信息索引的方法,但是双词索引的方法就不适用了

更快的索引表合并

  • Skip pointers

    • 对于一个长度为 LLL 的索引表,可以选择设置 L\sqrt{L}L​ 个skip pointers

    在这里插入图片描述

在这里插入图片描述

相关内容

热门资讯

制度深耕 丰景如峰 大豆收获作业。庞遵明摄 □本报记者 姜斌 刘畅 银装素裹的北大荒,是一卷由冰雪、沃土与数据共同谱写的...
每经热评|告慰小洛熙,唯有权威... 每经评论员 付克友 宁波5月龄女婴“小洛熙”在医院接受心脏手术后不幸离世,连日来引发舆论关注。一个尚...
从同仁堂涉假等案件谈:岂能将法... 我们生产网络舆情和危机管理专业有用的观点! 文/燕博士 临近年末,出现了两种类型的舆情。 一是,一些...
新疆乌苏银发调解员专解邻里纠纷 11月30日,新疆维吾尔自治区乌苏市寒意渐浓,乌苏市公安局虹桥街道派出所“夕阳红”调解室里却暖意融融...
瑞丽通报消费者购买翡翠后产生纠... 央广网德宏12月21日消息(记者 魏文青)12月19日,有顾客在瑞丽多宝之城之城购买翡翠后产生纠纷,...
杭州靠谱离婚律师推荐:程明律师... 在杭州,当人们面临离婚这一人生重大抉择时,寻找一位靠谱的离婚律师至关重要。离婚不仅涉及情感的纠葛,更...
刷到“自己”直播卖货?拆解“A... 刷到“自己”正在直播卖货?AI“分身”已悄然上线伪造签名、授权书,编造“联名款”一套造假流程行云流水...
靠谱的房产律师怎么收费及专业房... 在房产交易、继承、婚姻等诸多涉及房产权益的事务中,靠谱的房产律师显得尤为重要。那么,如何找到靠谱的房...
公安机关成功侦办一起美方通报的... 日前,辽宁省沈阳市公安局成功侦破“佟某某等人非法经营案”。 2024年4月,一条美方通报的中国籍人员...
学习贯彻党的二十届四中全会精神... 本报讯 (记者庞慧敏)“工资必须按月足额支付给农民工,任何单位和个人都不得拖欠。”这是广西壮族自治区...