天天看點

《大規模元搜尋引擎技(1)》一1.1 Web上查找資訊

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

web上查找資訊有兩種基本模式:浏覽(browsing)和搜尋(searching)。絕大多數web使用者(如果不是全部的話)都使用過這兩種方法從網上查找所需資訊。本節就這兩種模式展開讨論。

浏覽包含兩個步驟:找到一個開始頁面和跟随目前頁面裡的連結。若使用者已經知道開始頁面的url,則可直接在web浏覽器的位址欄輸入該頁面的url。許多使用者把經常通路頁面的url儲存在浏覽器的書簽或收藏夾清單裡。在此情況下,使用者也可以從書簽清單啟動開始頁。使用者可以記住或儲存在書簽清單中的url數目是非常有限的。另一個廣泛使用的尋找開始頁面的技術是搜尋(searching),其中搜尋是通過一組詞(term)來進行的,然後将搜尋引擎傳回結果中的一個頁面作為開始頁面。是以,使用者在查找所需資訊時經常同時使用搜尋和浏覽。确定開始頁面後,該頁面成為目前頁面,使用者可以點選目前頁面中任何可點選文本,進而展示嵌入該可點選文本下的url所對應的頁面。可點選文本也稱為錨文本(anchor text),因為這個文本是寫在html錨标簽〈a href="url"〉和〈/a〉之間的文本。錨文本可能提供關于其所對應頁面内容的線索。

為了友善浏覽,門戶網站、web站點和網頁的開發者有責任使基于浏覽的資訊查找盡可能容易。雅虎(yahoo!)可能是最流行的web門戶網站,它把數以百萬計的網頁和web站點分門别類,并且把它們組織成層次結構。因為類别的層次結構可以通過從一個層次到下一個層次迅速縮小資訊的範圍,進而減少查找資訊的時間。許多web站點還提供一個站點地圖

(sitemap),它以層次的方式展示可通路頁面使得浏覽更容易。在具體的網頁中,每個連結的錨文本應該提供被連結頁面内容的足夠資訊。

搜尋是網際網路(internet,或國際網際網路)上第二個最常見的活動,僅次于發送和接收電子郵件。搜尋由三步組成:确定所用的搜尋引擎;形成一個查詢;浏覽傳回結果清單以确定相關結果。第三步是相當直接的,因為大多數搜尋引擎傳回的結果都包含足夠的資訊讓使用者确定是否值得進一步檢查完整的頁面。下面我們将讨論如何确定合适的搜尋引擎以及如何形成适當的查詢。

1.确定合适的搜尋引擎

大多數使用者都熟悉web上的一個或多個主流搜尋引擎。根據comscore (http://www.comscore.com/) 2010年8月釋出的報告[comscore report,2010],在美國最受歡迎的搜尋引擎是:google(http://www.google.com/)、yahoo!(http://www.yahoo.com/)、bing(http://www.bing.com/)、ask(http://www.ask.com/)和aol(http://www.aol.com/)。它們分别占據了65.4%、17.4%、11.1%、3.8%和2.3%的搜尋市場。然而,web搜尋引擎實際上數以百萬計,隻有少量的通用搜尋引擎緻力于提供針對整個web的搜尋覆寫。大多數搜尋引擎限定在小範圍搜尋。例如,大多數機構,如大學、報紙和圖書出版商都有自己的搜尋引擎,僅覆寫與其自身相關的web内容。作為另一個例子,還有很多專業領域或垂直搜尋引擎覆寫一個特定領域或子領域web内容,如醫藥、新聞、電影和體育。另外,還有搜尋引擎覆寫深網的内容。特定的小領域的搜尋引擎常常會比主流搜尋引擎傳回更相關和更新的結果,因為它們的搜尋範圍更集中且較小的資料集更容易更新。此外,深網搜尋引擎傳回的結果往往從主流搜尋引擎無法得到,因為主流搜尋引擎主要搜尋表層網。

從上面對搜尋引擎的分析可以看出,對于給定的資訊需求,標明一個合适的搜尋引擎為我所用并非易事。首先,大多數使用者甚至不知道存在大量的搜尋引擎。目前web上所有搜尋引擎的完整目錄尚不存在。在completeplanet (http://aip.completeplanet.com/) 上列出的目前最完整目錄中大約有70 000個搜尋引擎,其中有一小部分被認為是可用的。其次,對web上所有搜尋引擎沒有系統的品質評價。是以,對于普通使用者而言很難知道哪個搜尋引擎最适合其資訊需求。由于這些困難,大多數使用者僅使用一些流行的搜尋引擎解決其搜尋需求。具有較多經驗的使用者通常根據個人的經驗和别人的建議可以找到更合适的搜尋引擎。然而,擁有一個所有搜尋引擎的完整目錄及這些搜尋引擎品質評價的資訊并使之成為web基礎設施的一部分是一件很好的事。如果能有一個像正常搜尋引擎一樣易用的搜尋引擎推薦系統,那就更好了。

2.形成适當的搜尋查詢

文檔驅動的搜尋引擎通常有一個簡單的查詢接口——一個允許使用者輸入查詢的文本框和一個送出按鈕。對送出給搜尋引擎的使用者查詢的分析表明大多數使用者送出簡短的查詢——這暗示大多數使用者很少或根本沒有教育訓練過如何填寫好的查詢。例如,通過對1998年送出給altavista搜尋引擎(http://www.altavista.com/)的大約10億個查詢的分析,顯示了以下關于web搜尋查詢的有趣特征[silverstein et al.,1999]:

查詢通常很短:查詢詞的平均個數是2.35,約26%的查詢隻有單個詞,不到13%的查詢超過3個詞。

大多數查詢不包含算符:大約80%的查詢沒有使用任何算符。

一些算符被搜尋引擎廣泛支援,包括布爾and,即一個網頁必須包含所有的查詢條件才能滿足查詢;布爾or,即一個網頁必須包含至少一個查詢條件;布爾not,即一個網頁必須不包含not所限定的查詢詞。一些搜尋引擎也支援某些形式的鄰近查詢(proximity query),這種查詢把 “指定查詢中的一些詞需要在web頁面中彼此接近” 作為查詢條件。

使用者可以按照以下建議提高其查詢的品質:

1)避免送出歧義查詢。一個查詢如果有多個非常不同的解釋就是歧義的。例如,查詢“windows”可能被解釋為微軟的windows作業系統或建築的窗戶。避免歧義查詢的有效方法是避免使用過短的查詢。使用較長的查詢就有更多的詞通過上下文幫助确定每個查詢詞的正确含義。有證據表明,越來越多的使用者送出較長的查詢。到2007年年底,送出給google的查詢詞的平均個數首次達到4個[ussery,b.,2008]。

2)使用合适的算符。如果使用者打算經常使用某個搜尋引擎,那麼他就值得努力找出該搜尋引擎支援的算符。不同搜尋引擎的算符往往有不同的格式。此外,如果沒有指定算符,許多搜尋引擎使用預設算符。例如,google使用布爾and作為預設算符。

在另一項研究中,根據對使用者的調查,broder[broder,a.,2002]分析了使用者查詢所蘊含的需求,發現使用者送出查詢給搜尋引擎時經常有各種不同的需求。基于這項研究,broder根據搜尋需求把web查詢分為以下三類。

1)導航查詢。這種類型的查詢旨在找到一個使用者心中特定的web頁面或web站點。例如,查詢“binghamton university”的目的是找到binghamton大學的首頁,也就是說,http://www.binghamton.edu/。這個首頁以外的任何頁面将不認為是正确的。通常,使用者送出這種查詢時知道他們所尋找的那些web頁面,或許由于他們以前通路過那些頁面。

2)資訊查詢。這類查詢旨在從web上找到具體的資訊,該資訊可能分布在多個頁面。隻要檢索出包含所需資訊的頁面中的一個,通常就能滿足送出此類查詢的使用者。

3)事務查詢。這類查詢的目的是找到一個能完成某些事務的web站點。事務的例子包括購物、下載下傳音樂和電影、注冊某些服務。

根據對1000個查詢的分析,48%的查詢是資訊查詢,30%是事務查詢,20%是導航查詢[broder,a.,2002]。

分析使用者查詢的目的是設計更好的查詢處理技術。

繼續閱讀