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. 所有信息檢索系統都支持布爾邏輯檢索嗎
一般均支持,布爾邏輯運算符是目前搜索引擎中的通用符號