• 《信息检索导论》第一章总结



    一、信息检索概念


    信息检索是从大量非结构化的文档集中找到用户需要的信息;

    当然信息检索远不止这些,比如从包中拿出信用卡并查看卡号,在计算机中查找文件等;

    非结构化:数据没有清晰的语义结构,计算机不容易处理;

    严格的非结构化数据是不存在的,比如文本虽然属于非结构化,但是文本也有固定的格式,如标题等;

    半结构化数据:处在结构化和非结构化之中的信息;

    分类:给定类别,将文档进行指派给特定的类别;一般都是有训练集和测试集;

    聚类:将给定的文档集进行自动聚团并分开,即预先不指定类别;

    grep是Unix中查询的命令;

    语料库(corpus)=Collection;

    ad-hoc检索:文档集相对静止,用户需求不断变化且是一次性的,输入请求,返回相关文档;

    一般的信息检索系统都属于ad-hoc检索;

    信息需求:用户原始查询,比如I want a apple and a banana;

    查询:通过tokenization等预处理后输入系统的语句,比如want apple banana;

    比如原本信息需求是I have a Apple,Banana;查询为 Apple AND Banana;

    评价信息检索系统指标

    正确率:f11/(f10+f11);

    召回率:f11(f01+f11);


    二、布尔检索模型


    布尔检索模型简单的说就是把文档看成是词的集合,而考虑词在特定文档中是否出现,而不考虑出现次数;

    最平常的信息检索方式是扫描文档集;

    但是因为要应对很多问题,比如临近查询等,就需要预先构造索引;

    词项-文档矩阵:纵坐标表示词项,横坐标表示文档,能够进行boolean查询;

    但是有一个缺点就是空间消耗太大,因为此矩阵是稀疏的;


    三、倒排索引


    由dictionary和posting组成,一般dictionary放在内存中,而posting放在磁盘中;

    在词典中可以加入额外信息比如文档频率即posting的长度以方便后续操作(比如AND);

    可以对词典进行压缩,使得尽可能多的词典放入内存;

    posting的数据结构:

    1.单链表:适用于更新频繁的posting,需要更多的空间;

    2.变长数组:适用于更新不频繁的posting,因为连续存储,因此能够加快遍历;


    四、布尔查询与运算


    类似于A AND B的布尔查询,可以通过复杂度为O(x+y)的合并算法;

    对于A AND B AND C这类多个连续布尔查询,则可以通过查询优化进行合并;

    查询优化方法:每次都取长度最小的两个posting合并;

    比如A 的长度为10,B的长度为20,C的长度为15,则可以先取A和C合并后的中间结果再和B合并;

    注意:在多个连续布尔查询时一般中间结果放在内存中,而其余的放在磁盘中;

    这种方法不一定是最好的,但是大部分情况下是最好的;

    对于(A OR B)AND (C OR D) AND (E OR F),启发式的查询优化方法如下:

    因为OR可以理解为加法操作,因此A OR B的估计长度为len(A+B);因此我们可以先从(A OR B)、(C OR D)、(E OR F)中抽出长度最短的两个进行AND操作;

    处理A AND NOT B查询:

    (1)初始办法:先算NOT B生成一个新的posting(O(N)),再和A合并(O(A+len));

    (2)高效办法:类似于A AND B的做法,移动指针来判断,只需要O(A+B),需要考虑当B指针移到最后而A还没有移到最后的情况;

    如果B是一个高频词,则先算NOT B,因为NOT B可以使posting变小;

    如果B是一个低频词,则用(2)的方法算更快;

    对于A OR B查询,复杂度O(x+y);

    对于A OR NOT B查询,复杂度为O(N);

    布尔查询的缺点:

    1.对于AND操作,召回率太低;

    2.对于OR操作,正确率太低;


    补充


    1.WestLaw查询

    1.空格表示“或”而不是“与”,&表示与;

    2./s表示在一句句子,/p表示一个段落,/k表示k个词内; 

    3.!表示通配符查询;

    2.memex介绍

    来自Bush于1945年的论文,一种能够存储个人档案、笔记、书等资料的设备,用户能够方便查阅资料; 

    作者:xiazdong
    出处:http://blog.xiazdong.info
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    bzoj4010 [HNOI2015]菜肴制作
    PHP--------TP中的ajax请求
    二维数组去重
    手机号138-0013-8000格式存储
    spring4-2-bean配置-1-依赖注入
    spring4-1-Spring的简单介绍
    Result Grouping / Field Collapsing-结果分组
    vim自动补全
    vim配置-程序员【转】
    服务端程序设计和实现总结 【转】
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058359.html
Copyright © 2020-2023  润新知