目录 |
布尔模型是基于集合论和布尔代数的一种简单检索模型,是早期搜索引擎所使用的检索模型。它的特点是查找那些对于某个查询词返回为“真”的文档。在该模型中,一个查询词就是一个布尔表达式,包括关键词以及逻辑运算符。通过布尔表达式,可以表达用户希望文档所具有的特征,例如必须包含哪些关键词,不能包含哪些关键词等等。例如我们希望查找那些既含有“清华”又含有“大学”的网页,那么查询词可以写作“清华AND大学”。由于文档必须严格符合检索词的要求才能够被检索出来,因此布尔检索模型又被称为“完全匹配检索”(Exact-Match Retrieval)。
传统的布尔检索是将用户查询与文献进行逻辑的(而非数值的)比较而获得结果的检索。布尔检索模型的突出优点在于这种结构化的提问方式与用户的思维习惯相一致。同时,这种模型把复杂的检索过程简单化,能够将较复杂的情报提问按其概念组面的逻辑关系描述出来,从而变成可以由计算机执行的逻辑运算,变成机器根据事先确定的程序进行自动匹配的过程,这种运算上的简单易行是布尔检索系统的又一突出特征。此外,用布尔检索进行操作的某些系统允许用户通过给他使用的一个有结构的词典来缩小或扩大检索。所谓有结构的词典是指对任何一个给定的标引词都存储了与之相关的更一般的(上位)或更精确的(下位)关键词的词典。布尔检索很容易利用这些相关项来改进检索。
布尔检索在理论上存在的一些缺陷也是不容忽略的,具体包括下列几个方面。
(1)布尔逻辑式的构造不易全面准确反映用户的需求。
(2)匹配标准存在不合理的地方,严格的匹配可能导致检出的文档过多或过少,难以控制结果输出量的大小。
(3)对检索结果平等对待,不能按照用户定义的重要性排序输出。
(4)对用户的检索技能有较高的要求。
首先我们简单介绍一下布尔模型中的三个主要逻辑算符及其含义。
“逻辑与”一般用“AND”算符表示。它表示如果其两个变量的值都为“真”,则结果为“真”,否则结果为“假”。我们通过一个例子说明“逻辑与”的作用。假设用户希望检索关于“清华大学招生”的有关信息,它包含了“清华大学”和“招生”两个主要的概念,因此需要用“逻辑与”组合,即“清华大学AND招生”表示这两个概念应同时包含在检索返回的网页里。“逻辑与”组合结果如图所示,A椭圆代表包含“清华大学”的页面,B代表包含“招生”的页面,那么A、B相交的部分(阴影部分)则为同时包含“清华大学”和“招生”两个关键词的网页数。使用“逻辑与”可以缩小检索范围,提高准确率。
“逻辑或”一般用“OR”算符表示。它表示如果其两个变量中有一个值为“真”,则结果为“真”,否则结果为“假”,规则如表所示。例如用户要检索“北京大学”的相关信息,“北京大学”这个概念可用“北京大学”或“北大”两个同义词来表达,因此需要采用“逻辑或”组合,即“北京大学OR北大”,表示要求返回的网页只需要包含这两个关键词中的至少一个即可。“逻辑或”组合结果如上图所示,A代表含有“北京大学”的页面,B代表含有“北大”的页面,那么A和B中的所有页面(阴影部分)均为“AORB”应返回的页面。使用“逻辑或”可以扩大检索范围、提高召回率。
A | B | AND | OR | A | B | AND | OR |
真 真 | 真 假 | 真 假 | 真 真 | 假 假 | 真 假 | 假 假 | 真 假 |
“逻辑非”的运算结果是将变量的值取反,在信息检索中表示“不含有某个关键词的网页”,一般用“NOT”算符表示。例如用户希望检索“除招生外的清华大学信息”,那么检索中需要在“招生”前采用“逻辑非”操作,即“清华大学NOT招生”,表示在含有“清华大学”的网页中排除含有“招生”的网页然后返回检索结果。“逻辑非”组合结果如上图所示,A代表含有“清华大学”的页面,B代表含有“招生”的页面,那么A中剔除属于B的页面即为“除招生外的清华大学信息”。从上面的介绍和例子我们可以看出,布尔模型的基本思想是将查询词中关键词的“与”、“或”、“非”组合转化成关键词对应的倒排文档集合之间的“与”、“或”、“非”操作。布尔模型目前主要应用于文献检索。