《信息检索导论》学习笔记

书籍豆瓣链接:http://book.douban.com/subject/5252170/


第1章 布尔检索

 ---------------------

1.1 一个信息检索的例子

1.2 构建倒排索引的初体验

1.3 布尔查询的处理

1.4 扩展的布尔检索模型及有序检索

 ---------------------

        信息检索(Information Retrieval)是从大规模非结构化数据(通常是文本)的集合(通常保存在计算机上)中找出满足用户信息需求的资料(通常是文档)的过程。“非结构化数据”(unstructured data)指没有清晰和明显语义结构的数据,计算机不易处理这类数据。典型的“结构化数据”有关系型数据库。文本数据被认为是“半结构化数据”(semistructured data)。

        给定文档集合,类聚(clustering)是一种基于文档内容进行自动聚团的任务,事先没有主题引导,而分类(classification)事先定义了主题。

       信息检索所处理数据规模分为大规模(如web搜索)、小规模(如个人信息检索)、中等规模(如面向企业、机构和特定领域的搜索)。

        线性扫描(grepping)最简单,但无法满足大规模文档的快速查找、灵活的匹配方式、结果排序。于是一种方法为事先建立索引(index),得到由布尔值构成的词项—文档关联矩阵(incidence matrix):


       检索结果的效果评价:

       正确率(Precision):返回结果中真正和信息需求相关的文档所占的百分比。

        召回率(Recall):所有和信息需求真正相关的文档中被检索系统返回的百分比。

        词项—文档关联矩阵为稀疏矩阵,占用大量空间。因此使用倒排索引(inverted index):


        建立索引步骤:

        1.收集文档;2.词条化(tokenization);3.语言学预处理,产生归一化的词条作为词项;4.对所有文档按出现的词项建立倒排索引



        词典和倒排记录表都有存储开销,课使用单链表(singly linked list)和变长数组(variable length array)。

        布尔查询使用合并算法(merge algorithm)求倒排记录表交集,这里的合并指与操作,不同于排序算法中的Merge sort。


        按照词项的文档频率从小到大依次处理以实现查询优化

相关文章
相关标签/搜索