1. 布尔检索式的介绍
其实布尔逻辑搜索也就是“与、或、非”的三种基本逻辑关系。布尔逻辑检索也称作“布尔逻辑搜索”,布尔逻辑检索技术就是利用布尔逻辑算符进行检索项的逻辑组配,用以表达检索者的提问概念。
2. 哪些搜索引擎完全支持布尔检索
所有的搜索引擎都完全支持布尔检索
布尔检索是最基础,也是使用最广泛的信息检索模型了。所谓布尔查询就是通过AND、OR、NOT等逻辑操作符将检索词连接起来的查询。比如:
那么,布尔检索时如何利用倒排索引进行查询的呢?我们还是先从词汇文档矩阵说起吧~
从词汇文档矩阵说起
我们先假设我们有一个词汇文档矩阵,如下所示:
我们的倒排记录是有序的。我们依次比对两个倒排记录中文档id的值。如果,如果两者id一样则输出该id,然后同时比对下一个文档id。如果两者id不一样,则较大的那个不变,之后去和较小的id的下一个id去做比对。这个算法的时间复杂度是O(x+y),也就是O(N),要远优于无序列表依次作比对的O(N²)。
优化
当我们去查询一种多个AND组成的查询时,其实本质上就是依次取交集。而且我们很容易知道,对于上边所述的算法来说,如果其中一个集合越短,那么计算可能就越快。因此一个启发式的优化方法就是,在取多个交集的时候,不是去依次的计算,而是先将倒排记录表按照长度从小到大排列,我们先合并最短的两个倒排记录表。这样所有的中间结果的大小都不会超过最短的倒排记录表。因为多个集合的交集元素个数,一定不会大于其中任何一个集合的元素个数。
如果两个倒排记录表的元素个数差距极大的时候(比如比较极端的:1和10000),我们就没必要依次去比较它们的元素了。采用对短列表中的全部元素分别在长列表中做二分查找的方式,可能会更快。
另外,使用跳表的方式去实现倒排记录表,也可以加快倒排记录表求交集的速度。但是,由于跳表是一种用空间换时间的数据结构,因此会占用更大的空间。同时,虽然现代计算机的cpu运算速度很快,但是磁盘的访问速度依旧很慢。在这样的前提下,如果是一个将所有索引数据都存在内存中的搜索引擎,使用跳表会加快速度;但如果是将索引数据存储在硬盘上的搜索引擎,反而可能会大大的降低速度。由于篇幅有限,我无法在这里详细的介绍跳表这种数据结构的实现。在未来的文章中我会单独介绍这种数据结构,到时候会再次深入的讨论这个问题。
布尔查询的缺点
布尔查询的本质只是查询了某些词汇在文档中的有无,但是却无法告诉用户哪些是更相关的,哪些是不那么相关的。也就是说,布尔查询本身无法按照相关度进行排序。
评价搜索引擎的最重要的两个指标就是正确率和召回率。
·正确率:返回的结果真正的和用户信息需求相关的文档所占的比率。
·召回率:所有和用户 信息需求真正相关的文档中检索系统返回的百分比。
比如说如果每次查询,我都将所有的文档返回,召回率必然是100%(所有的文档中必然包含所有的相关文档),但是正确率就会很低很低(100万文档中只有1万文档真的和需求相关)。而如果我每次只返回一条数据,而且保证这条数据百分之百和用户需求相关,那么正确率就是百分之百(共返回1篇文档,有1篇和用户信息相关,因此是百分之百) ,但召回率很低(1万篇相关文档之返回1篇)。
使用布尔查询在实际应用中会遇到这样的问题:
如果我要查一篇名字为“Semantic information retrieval research based on co-occurrence analysis”的文章,如果我将所有的空格都识别为AND,这时就只会返回标题为这篇文章的文档,用户无法获得任何其他相关信息。此时正确率很高,但召回率很低。同样,如果我将所有的空格都识别为OR,这时我虽然会获得相关信息了,但是很可能很多相关信息只和information有关,但这并不是我想要的。因此此时虽然召回率很高,但是正确率很低。布尔检索在召回率的问题上很容易走两个极端,很难达到理想的均衡状态。
然而在检索引擎几十年的发展中,已经有很多方案在完善这些问题,或者说在增强布尔查询的能力。而另一方面,也有了一些新的检索模型或技术(如,自由文本查询)来解决这些问题。
3. 布尔逻辑的应用有哪些
Bai - AND: 有优先,不用放任何运算符号; OR: |; NOT: - Google - AND: 有优先,不用放任何运算符号; OR: OR; NOT: - 【注意:OR必须用大写】 中搜- AND: 有优先,不用放任何运算符号;OR:|;NOT: - 基本上只有语法稍稍不同,在 OR 的应用,Google不用符号而用大写英语
麻烦采纳,谢谢!
4. 什么是布尔逻辑检索,用于计算机检索的布尔运算符有哪几种
布尔逻辑得名于 George Boole,他是考克大学(现爱尔兰国立考克大学)的英国数学家,他在十九世纪中叶首次定义了逻辑的代数系统。现在,布尔逻辑在电子学、计算机硬件和软件中有很多应用。在 1937 年,Claude Shannon 展示了布尔逻辑如何在电子学中使用。
可以查询网页:
http://ke..com/view/27722.htm
5. 布尔逻辑检索在所有的网站上通用吗
是的,但是我觉得通用的不行
6. 现在上百度 google 用的着使用“+”,“,”“&”,and 等这些关键字吗
可以。
不过下划线不可以。
1、简单查询
在搜索引擎中输入关键词,然后点击“搜索”就行了,系统很快会返回查询结果,这是最简单的查询方法,使用方便,但是查询的结果却不准确,可能包含着许多无用的信息。
2、使用双引号用()
给要查询的关键词加上双引号(半角,以下要加的其它符号同此),可以实现精确的查询,这种方法要求查询结果要精确匹配,不包括演变形式。例如在搜索引擎的文字框中输入“电传”,它就会返回网页中有“电传”这个关键字的网址,而不会返回诸如“电话传真”之类网页。
3、使用加号(+)
在关键词的前面使用加号,也就等于告诉搜索引擎该单词必须出现在搜索结果中的网页上,例如,在搜索引擎中输入“+电脑+电话+传真”就表示要查找的内容必须要同时包含“电脑、电话、传真”这三个关键词。
4、使用减号(-)
在关键词的前面使用减号,也就意味着在查询结果中不能出现该关键词,例如,在搜索引擎中输入“电视台-中央电视台”,它就表示最后的查询结果中一定不包含“中央电视台”。
5、使用通配符(*和?)
通配符包括星号(*)和问号(?),前者表示匹配的数量不受限制,后者匹配的字符数要受到限制,主要用在英文搜索引擎中。例如输入“computer*”,就可以找到“computer、computers、computerised、computerized”等单词,而输入“comp?ter”,则只能找到“computer、compater、competer”等单词。
6、使用布尔检索
所谓布尔检索,是指通过标准的布尔逻辑关系来表达关键词与关键词之间逻辑关系的一种查询方法,这种查询方法允许我们输入多个关键词,各个关键词之间的关系可以用逻辑关系词来表示。
and,称为逻辑“与”,用and进行连接,表示它所连接的两个词必须同时出现在查询结果中,例如,输入“computerandbook”,它要求查询结果中必须同时包含computer和book。
or,称为逻辑“或”,它表示所连接的两个关键词中任意一个出现在查询结果中就可以,例如,输入“computerorbook”,就要求查询结果中可以只有computer,或只有book,或同时包含computer和book。
not,称为逻辑“非”,它表示所连接的两个关键词中应从第一个关键词概念中排除第二个关键词,例如输入“automobilenotcar”,就要求查询的结果中包含automobile(汽车),但同时不能包含car(小汽车)。
near,它表示两个关键词之间的词距不能超过n个单词。
在实际的使用过程中,你可以将各种逻辑关系综合运用,灵活搭配,以便进行更加复杂的查询。
7、使用括号
当两个关键词用另外一种操作符连在一起,而你又想把它们列为一组时,就可以对这两个词加上圆括号。
8、使用元词检索
大多数搜索引擎都支持“元词”(metawords)功能,依据这类功能用户把元词放在关键词的前面,这样就可以告诉搜索引擎你想要检索的内容具有哪些明确的特征。例如,你在搜索引擎中输入“title:清华大学”,就可以查到网页标题中带有清华大学的网页。在键入的关键词后加上“domain:org”,就可以查到所有以org为后缀的网站。
其他元词还包括:image:用于检索图片,link:用于检索链接到某个选定网站的页面,URL:用于检索地址中带有某个关键词的网页。
9、区分大小写
这是检索英文信息时要注意的一个问题,许多英文搜索引擎可以让用户选择是否要求区分关键词的大小写,这一功能对查询专有名词有很大的帮助,例如:Web专指万维网或环球网,而web则表示蜘蛛网参考:http://..com/link?url=148G9kuOmZDBeCZ_
7. 什么是布尔逻辑
布尔逻辑是一种逻辑的代数系统,在电子学、计算机硬件和软件中有很多应用。
布尔逻辑得名于George Boole,他是考克大学(现爱尔兰国立考克大学)的英国数学家,他在十九世纪中叶首次定义了逻辑的代数系统。
尽管在任何布尔运算中都最多有两个集合参与,从这个运算所形成的新集合可以接着与其他集合联合起来实现另外的布尔运算。可以定义一个新集合C作为全集中所有五的倍数的集合。所以集合AandBandC将是全集中所有30的倍数。
(7)哪些网站运用布尔逻辑扩展阅读:
利用布尔逻辑算符进行检索词或代码的逻辑组配,是现代信息检索系统中最常用的一种方法。常用的布尔逻辑算符有三种,分别是逻辑或“OR”、逻辑与 “AND”、逻辑非“NOT”。
用这些逻辑算符将检索词组配构成检索提问式,计算机将根据提问式与系统中的记录进行匹配,当两者相符时则命中,并自动输出该文献记录。
布尔逻辑检索也称作布尔逻辑搜索,严格意义上的布尔检索法是指利用布尔逻辑运算符连接各个检索词,然后由计算机进行相应逻辑运算,以找出所需信息的方法。它使用面最广、使用频率最高。布尔逻辑运算符的作用是把检索词连接起来,构成一个逻辑检索式。
参考资料:网络—布尔逻辑
参考资料:网络—布尔逻辑检索
8. 所有信息检索系统都支持布尔逻辑检索吗
一般均支持,布尔逻辑运算符是目前搜索引擎中的通用符号