信息检索笔记(一):布尔检索
《信息检索导论》学习笔记
一、布尔检索
二、倒排索引
三、索引优化
1、布尔索引模型概述
布尔模型:
对于关键词表示的文档使用布尔查询表达式进行查询,当且仅当文档满足布尔表达式时才将其检索出来,二值匹配,是或不是
2、一个简单的搜索示例
线性搜索:搜索全部文档
非线性搜索:构建索引,按照索引进行查找
非线性:索引查询
建立词项文档矩阵,可以通过词项查询符合的文档,出现用1,否则用0
查询出现单词的文档时,取出词项向量,进行布尔处理,1表示该文档满足布尔查询式
当数量集过大,词项文档矩阵是稀疏矩阵,此时可以只存储1,即变成倒排索引
3、倒排索引
倒排索引:词典和倒排索引表组成,倒排索引表中只存储出现该词项的文档ID
将所有文档转换成词条,即词条化
然后进行语言学预处理,产生归一化的词条
且每个文档使用ID来进行存储
先对词项排序,然后对于相同词项的文档ID排序,如图所示
将相同的词项合并成倒排表,并且词汇的文档频率也记录在词典中,构成倒排索引表
建立好倒排索引表后,对布尔查询即可根据词典查找倒排表,进行都安排表的合并处理
在词典中定位Brutus,找出他的倒排表
在词典中定位Caesar,找出他的倒排表
合并倒排表求交集
4、布尔检索模型
对倒排索引表进行布尔查询可以检索出符合条件的文档
对于每一次布尔查询,求交集非常关键
所以对于布尔查询优化要考虑的一个主要因素是倒排记录表的访问顺序
1、先合并最短的倒排记录表
2、保守估计每个or的结果大小,然后从小到大顺序执行and