第1章 布尔检索
- 信息检索的定义:信息检索(IR)是从大型集合(通常存储在计算机上)中寻找满足信息需求的非结构化性质(通常是文本)的材料(通常是文档)。
1.1一个信息检索的例子
问题描述:确定莎士比亚的作品集中,哪些戏剧包含了词汇Brutus和Caesar而不包含Calpumia。
1.解决办法
(1)最简单的文档检索形式:计算机通过文档进行线性扫描(Unix/Linux中文本扫描grep)
缺点:线性扫描的时间复杂度与文档集大小成正比,不适合大规模文本检索
无法满足以下需求:
1.快速处理大型文档集合
2.更灵活的匹配操作
3.检索结果排序
(2)提前建立索引文档:避免对每个查询进行线性扫描,以词项(term)为横坐标,文档(document)为纵坐标,根据文档中是否出现该词汇建立二进制词汇-文本关联矩阵。
图1.1 词汇-文档关联矩阵,当d列包含t行单词时M(t,d)为1,否则为0
针对本问题,取词汇Brutus和Caesar及Calpumia的行向量做运算(Brutus AND Caesar AND NOT Calpumia),得出问题答案: Antony and Cleopatra和Hamlet.
110100 and 110111 and 101111 = 100100
2.相关概念
- 布尔检索模型(Boolean retrieval model):信息检索的一个模型,布尔检索模型可以提出以布尔表达式的形式表示(结合逻辑运算符and,or,not)的任何查询