天天看點

《大規模元搜尋引擎技(1)》一2.2 為什麼使用元搜尋引擎技術

本節書摘來自華章出版社《大規模元搜尋引擎技(1)》一書中的第2章,第2.2節,作者[美]孟衛一(weiyi meng)紐約州立大學賓漢姆頓分校於德(clement t.yu)伊利諾伊大學芝加哥分校,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視

本節試圖全面分析元搜尋引擎相對搜尋引擎的潛在優勢。我們主要關注通用元搜尋引擎和通用搜尋引擎的比較。

1.擴大搜尋範圍

元搜尋引擎可以通過能夠統一通路所有成員搜尋引擎的功能搜尋到被至少一個成員搜尋引擎索引到的任何文檔。是以,元搜尋引擎的搜尋範圍是其成員搜尋引擎搜尋範圍的并集。這個益處是早期元搜尋引擎背後的主要動因,目前仍然是最公認的益處。

2.1節描述了兩種可能的方法來實作通用元搜尋引擎,即主流搜尋引擎方法和大規模元搜尋引擎方法。術語“擴大搜尋範圍”對這兩種方法有不同的含義。對于前者,可以從兩個方面來看。首先,被廣泛接受并被強烈支援的證據表明:不同主流搜尋引擎索引不同的web頁面集合,盡管它們都試圖索引整個web。這意味着擁有多個主流成員搜尋引擎的元搜尋引擎将比任何一個成員搜尋引擎有更大的覆寫範圍。其次,不同的搜尋引擎往往使用不同的文檔表示和結果排序技術,是以,對于相同的使用者查詢往往會傳回不同的前排結果(top result)集。一項基于19 332個使用者查詢的研究顯示:4大搜尋引擎google、yahoo!、msn和ask對每個查詢的第一頁搜尋結果的重疊率 在這項研究中,若一個結果被所有的4個搜尋引擎檢索,則它被認為是重疊的。平均僅為0.6%[dogpile.com,2007]。是以,通過多個主流搜尋引擎進行檢索,元搜尋引擎可能會為每個使用者查詢傳回更多不同而又高品質的結果。

針對大規模元搜尋引擎方法,由于使用專用成員搜尋引擎,是以不同成員搜尋引擎之間重疊的可能性較小。是以,這類元搜尋引擎的綜合覆寫範圍将比任何單個搜尋引擎的覆寫範圍大很多倍。事實上,如果能将所有專用文檔驅動的搜尋引擎,包括那些深網搜尋引擎,包含在一個大規模元搜尋引擎中,那麼這個元搜尋引擎可能比任何主流搜尋引擎或基于主流搜尋引擎方法建立的元搜尋引擎有更大的覆寫範圍,原因是主流搜尋引擎缺乏足夠的深網覆寫。本書将這個尚未建立的元搜尋引擎稱為webscales元搜尋引擎,webscales是一個項目的名稱,這個項目系統地研究建立大規模元搜尋引擎的相關問題(http://www.cs.binghamton.edu/~meng/metasearch.html 通路日期為2010年11月3日。)。

2.更容易通路深網

如第1章所述,web包括兩個部分:表層網(surface web)和深網(deep web),深網的資源遠遠大于表層網。主流搜尋引擎獲得内容在很大程度上依賴傳統的web爬蟲追蹤url連結并擷取web頁面。這些爬蟲隻能通路到表層網的内容,這意味着主流搜尋引擎主要覆寫

表層網。近年來,可以獲得深網内容的深網爬蟲正在被開發并取得了一些成功[madhavan et al.,2008]。實作深網爬取的基本過程是:送出查詢給深網搜尋引擎,從傳回的結果中收集資訊[raghavan and garcia-molina,2001;madhavan et al.,2008]。這種技術的主要局限是:很難從深網搜尋引擎獲得完整的内容,因為使用适當數目的查詢來檢索深網搜尋引擎的所有内容幾乎是不可能的。

類似于深網爬蟲,元搜尋引擎通過查詢接口(包括api)與搜尋引擎(包括深網搜尋引擎)進行互動。然而與深網爬蟲不同的是,元搜尋引擎将每個使用者查詢直接傳遞給搜尋引擎來檢索查詢相關的内容,而不需要提前獲得任何搜尋引擎的全部内容。因為跟表層網搜尋引擎的查詢接口進行互動與跟深網搜尋引擎的查詢接口進行互動基本相同,是以元搜尋引擎通路深網是很自然的。總之,元搜尋引擎比主流搜尋引擎更容易通路到深網的内容。

很明顯,使用主流搜尋引擎建構通用元搜尋引擎的方法,同樣會面臨主流搜尋引擎通路

深網的困難,而元搜尋引擎方法直接通過查詢接口通路搜尋引擎内容,使元搜尋引擎更容易通路深網。

3.内容品質更好

搜尋引擎的内容品質可以由搜尋引擎索引的文檔品質來度量。可從多方面度量文檔的品質,例如内容的豐富性和可靠性。正式讨論内容品質并非本書的目标,我們僅在此提供一些分析來支援如下論點:以專用搜尋引擎作為成員搜尋引擎的元搜尋引擎可能比主流搜尋引擎更容易擷取更高品質的内容。這些分析基于主流搜尋引擎收集網頁的方法和元搜尋引擎通路搜尋引擎内容的方法。

主流搜尋引擎爬取開放web得到的文檔既有高品質的文檔(包含有用内容的嚴肅文檔)也有低品質的文檔,因為每個人(通常匿名)都可以在網上釋出東西。由于爬取的web文檔數目巨大(google約350億),是以要求這些搜尋引擎保證爬取文檔的品質是極端困難的。是以,主流搜尋引擎可能會傳回品質差的結果。相比之下,專用搜尋引擎更有可能包含品質更高的文檔,因為這些搜尋引擎通常對其内容有更多的控制。例如,許多專用搜尋引擎隻使用自己的文檔或來自可信資源的文檔。比如由報紙和出版商操作的搜尋引擎,内容通常來自專業作家或有編輯控制權的簽約作者。由于大規模元搜尋引擎僅使用專用搜尋引擎作為其成員搜尋引擎,是以它們搜尋的内容應該也會有更好的品質。

主流搜尋引擎依賴它們的爬蟲從衆多web伺服器收集文檔。然而,由于存在大量的web頁面和web伺服器,以及web不斷變化的本性,是以這些爬蟲無法跟上快速變化的web内容。通常需要花費幾天到幾周的時間爬取或重新爬取最近更新或新增的内容。是以,主流搜尋引擎索引的内容通常平均延時幾天。相比之下,專用搜尋引擎更容易維護内容的更新,因為它們使用較小的文檔集,同時它們的内容通常存儲在本地伺服器上。是以,使用大規模元搜尋引擎方法實作的通用元搜尋引擎,相對于主流搜尋引擎和使用主流搜尋引擎建構的元搜尋引擎有更好的機會擷取更新的資訊。

4.擷取更好檢索效果的巨大潛力

如前所述,有兩種方法建立通用元搜尋引擎。相對于主流搜尋引擎,每種類型的元搜尋引擎都具有獨特的潛力獲得更好的檢索效果。

用主流搜尋引擎方法建立的元搜尋引擎優于主流搜尋引擎,有兩個主要原因:

1)有可能擷取更多獨特的結果,即使在那些排序高的結果中[dogpile.com,2007],因為不同的主流搜尋引擎有不同的覆寫範圍和不同的文檔排序算法。

2)主流搜尋引擎的文檔集合有衆多重疊,元搜尋引擎的結果合并部件可以利用這個事實産生更好的結果。對于任意給定的查詢,這意味着許多共享文檔有機會由不同的搜尋引擎進行排序。如果多個搜尋引擎檢索到相同的文檔,那麼該文檔與查詢相關的可能性會大大提高,因為有更多的證據來支援其相關性。一般而言,如果一個文檔被更多的搜尋引擎檢索到,那麼該文檔更可能是相關的。該結論基于以下重要的觀察[lee,j.,1997]:不同的搜尋系統往往檢索到相同的相關文檔集,但不相關文檔集卻是不同的。盡管上述觀察是基于對相同文檔集使用不同排序算法得出的,但當不同搜尋引擎的文檔集有高度重疊時,該觀察結論仍然适用。在文字檢索中,從不同搜尋系統組合多個證據的有效性已被很好建立,[croft,w.,2000]是關于該主題的一篇優秀綜述文獻。

使用大規模元搜尋引擎方法建構的元搜尋引擎,由于使用了專用成員搜尋引擎,是以針對任意特定的查詢,選擇的成員搜尋引擎的文檔集合的重疊度可能會非常低。是以,不能使用上述組合方法。然而,還有許多其他原因可以說明元搜尋引擎可能比主流搜尋引擎獲得更好的效果。下面讨論這些原因。

1)如上所述,專用搜尋引擎的文檔集合可能比主流搜尋引擎具有更好的品質,這些專用搜尋引擎的覆寫範圍合并之後大于任何主流搜尋引擎。這為元搜尋引擎的性能優于任何主流搜尋引擎提供了基礎。

2)一些專用搜尋引擎利用領域知識(例如,特定領域本體和語義詞典)提高檢索效果。通過使用這些搜尋引擎進行搜尋,元搜尋引擎可以利用它們的特有功能,然而主流搜尋引擎卻無法使用。

3)對于每個查詢,典型的大規模元搜尋引擎通過一個三步過程聚焦最佳結果。第一,對于給定查詢,搜尋引擎選擇器識别最有可能傳回相關結果的成員搜尋引擎,并且隻調用這些搜尋引擎。第二,每個被選擇的搜尋引擎根據其排序算法得到最佳結果,并将這些結果傳回給元搜尋引擎。第三,對于給定的使用者查詢,從來自最佳比對的搜尋引擎傳回的最佳本地結果中,元搜尋引擎的結果合并器識别出最佳整體結果。對于任何使用者查詢,運用高品質搜尋引擎選擇算法、高品質成員搜尋引擎和高品質結果合并方法,這三步處理過程具備産生非常高品質結果的潛力。

5.更好地利用資源

元搜尋引擎使用成員搜尋引擎進行基本搜尋。它們可以利用這些搜尋引擎的存儲和計算資源,是以,避免了運作搜尋引擎所需的以下開銷:1)爬取和存儲文檔集合;2)索引收集的文檔;3)搜尋索引資料庫。對于大型搜尋引擎來說,僅是采購所需計算機、存放計算機和維護計算機運作(包括軟/硬體維護和功耗)三項,就會有很高的成本。雖然元搜尋引擎也需要自己的基礎設施來執行其功能,如搜尋引擎選擇、表記(representative)生成和結果合并,但它們對基礎設施的要求遠遠低于同等規模的搜尋引擎。

相對于主流搜尋引擎,大規模元搜尋引擎有以上優點,但也有一些固有的缺點。第一,元搜尋引擎給使用者傳回結果會比主流搜尋引擎花費更長時間,因為元搜尋引擎必須把每個查詢傳送給所選的成員搜尋引擎,等待它們處理查詢,并等待它們傳回的查詢結果。主流搜尋引擎處理查詢的時間不到1秒,而元搜尋引擎往往需要2~5秒才能傳回結果。使用元搜尋引擎處理查詢時,這一差别的大部分可以歸因于元搜尋引擎與成員搜尋引擎之間所增加的網絡通信。搜尋引擎和元搜尋引擎之間響應時間的差别,在未來可能會随着網際網路速度的加快而降低。第二,主流搜尋引擎對自己的文檔排序算法有充分控制,并有更好的機會利用web頁面之間的連結資訊。相比之下,元搜尋引擎對成員搜尋引擎沒有控制權,反而受制于這些搜尋引擎。這些搜尋引擎的響應時間、結果的品質以及結果概覽的品質,都顯著影響元搜尋引擎的性能。此外,專用搜尋引擎沒有全局連結圖,是以在它們的排序函數中不能利用該圖。研究[wang and dewitt,2004]表明,針對一個成員搜尋引擎的一個頁面,估計該頁面的全局pagerank是可能的,具體如下:先計算出各個搜尋引擎的pagerank(稱為serverrank)和每個頁面在其成員搜尋引擎内的本地pagerank,然後再通過用搜尋引擎的pagerank調整該搜尋引擎内頁面的本地pagerank來估計頁面的全局pagerank。serverrank可以用搜尋引擎的托管站點之間的連結來計算。不過,為了準确計算serverrank,搜尋引擎的網頁内出現的伺服器間連結資訊需要提供給元搜尋引擎。

元搜尋引擎的另一個潛在問題是,一些搜尋引擎可能不想成為元搜尋引擎的成員搜尋引擎,原因有兩個。第一,從元搜尋引擎傳遞過來的查詢會消耗搜尋引擎的資源;第二,元搜尋引擎或許會減少使用者通路這些搜尋引擎的次數,進而可能會降低這些搜尋引擎的廣告收入。這些原因僅對擁有穩定廣告收入的流行搜尋引擎是重要的。google是這種搜尋引擎的一個例子,除非提前與google簽訂協定,否則google禁止元搜尋引擎查詢。相比之下,專用搜尋引擎幾乎沒有阻止元搜尋引擎查詢的動因,由于它們通常都是不太知名的,是以查詢流量有限,不靠廣告賺錢。許多專用搜尋引擎隻賣内容和服務,還有許多專用搜尋引擎的主要目的是傳播資訊。事實上,這些搜尋引擎有參與元搜尋引擎的強大動力,因為元搜尋引擎可以幫助這些搜尋引擎獲得更多的使用者、更多的認可(元搜尋引擎通常會标出檢索到每個結果的搜尋引擎)。

上面的讨論表明,對web搜尋引擎來說,搜尋引擎和元搜尋引擎是互補的方法。一個能夠把這兩種方法的優點都利用起來的搜尋系統可能最終成為最好的解決方案。在這樣的系統中,每個使用者的查詢同時通過主流搜尋引擎和大規模元搜尋引擎處理。前者可以快速地從表層網傳回結果;在使用者浏覽這些結果的同時,後者可以潛在地為使用者檢索更多、更好的結果。

正如我們之前讨論過的,建設超大規模元搜尋引擎(例如webscales)存在重大的技術挑戰。雖然仍需要進行大量研究,但是目前已經取得了很大進展。在接下來的3章中将報告一些進展。

繼續閱讀