搜索引擎發展綜述

  搜索引擎發展綜述
李銳 [email protected]
(中科院計算技術研究所 北京 100080)


摘要:本文簡述了搜索引擎的起源和發展,介紹了國內外的研究現狀,對其分類、性能評測、關鍵技術等方面做了一定的討論,在此基礎上對其發展趨勢作了大膽的預測。
關鍵詞:搜索引擎;Web挖掘;信息檢索


Internet自誕生以來不斷成長,其內容不斷豐富,整個網絡逐漸堆積成一個前所未有的超大型信息庫。Internet作爲一個信息平臺在人們的日常生活和工作中發揮着越來越重要的作用,人們越來越多地通過Internet獲取信息。在互聯網發展初期,網站相對較少,網頁數量亦較少,因而信息查找比較容易。然而伴隨互聯網爆炸性的發展,普通網絡用戶想找到所需的資料簡直如同大海撈針,以至於迷失在信息的海洋中不知所措,出現了我們所說的"信息豐富,知識貧乏"的奇怪現象。搜索引擎正是爲了解決這個"迷航"問題而出現的技術。
搜索引擎(Search Engine簡稱SE)是一個信息處理系統,它以一定的策略在互聯網中搜集、發現信息,對信息進行理解、提取、組織和處理,併爲用戶提供檢索服務,從而起到信息導航的目的,一般包括信息蒐集、信息整理和用戶查詢三部分。從用戶的角度來看,它就是一個幫助人們進行信息檢索的工具。


1. 發展回眸

現代意義上的搜索引擎的祖先,是1990年由美國蒙特利爾大學的學生 Alan Emtage等人發明的Archie。Archie是第一個自動索引互聯網上匿名FTP網站文件的程序,但它還不是真正的搜索引擎。Archie是一個可搜索的FTP文件名列表,用戶必須輸入精確的文件名搜索,然後Archie會告訴用戶哪一個FTP地址可以下載該文件。
 由於專門用於檢索信息的Robot程序像蜘蛛(spider)一樣在網絡間爬來爬去,因此,搜索引擎的Robot程序被稱爲spider(Spider FAQ)程序。世界上第一個Spider程序,是MIT Matthew Gray的World wide Web Wanderer,用於追蹤互聯網發展規模。剛開始它只用來統計互聯網上的服務器數量,後來則發展爲也能夠捕獲網址(URL)。
真正意義上的搜索引擎出現於1994年7月。當時Michael Mauldin將John Leavitt的蜘蛛程序接入到其索引程序中,創建了大家現在熟知的Lycos。同年4月,Stanford大學的兩名博士生,David Filo和美籍華人楊致遠(Jerry Yang)共同創辦了超級目錄索引Yahoo,併成功地使搜索引擎的概念深入人心,Yahoo也被稱爲第一代搜索引擎。從此搜索引擎的發展也進入了黃金時代。1998年9月,同樣是Stanford大學兩位博士生Larry Page和Sergey Brin在風險投資公司的資助下,成功開發了新一代搜索引擎——Google。它具有比Yahoo先前使用的技術更快、更準確搜索到所需信息的特點,被視爲第二代搜索引擎的代表。現在Internet 上已有數千個能提供檢索服務的站點,這些站點的搜索引擎在收錄的範圍、內容、檢索方法上都各有不同,採用的技術也各具特色。比較著名的有Google,Yahoo,AltaVista,Dogpile,百度等。 
目前,搜索引擎的研究、開發十分活躍,各大搜索引擎公司都在投巨資研製搜索引擎系統,同時也不斷地湧現出新的具有鮮明特色的搜索引擎產品,搜索引擎已經成爲信息領域的產業之一。它要用到了信息檢索、人工智能、數據庫、數據挖掘、自然語言理解等領域的理論和技術,具有綜合性和挑戰性。又由於搜索引擎有大量的用戶,由此衍射出許多商機,具有很好的經濟價值。根據iResearch艾瑞市場諮詢《2003年中國搜索引擎研究報告》的研究數據顯示,中國的搜索引擎市場2003年達到了5.2億元人民幣,比2002年的2.3億一年增長了127%,顯示了搜索引擎市場的強勁增長;雅虎表示未來5年全球搜索市場將由今年的30億美元增長至110億美元。搜索引擎作爲連接互聯網的一座橋樑,越來越受到人們的重視,亦引起了世界各國計算機科學界、信息產業界和商界的高度關注,已投入了不少的人力、物力,也取得了不俗的成績。


2. 分類

搜索引擎依其所用技術原理,主要可以分爲以下三類:
2.1. 目錄式搜索引擎:以人工方式或半自動方式蒐集信息,由編輯員查看信息之後,人工形成信息摘要,並將信息置於事先確定的分類框架中。信息大多面向網站,提供目錄瀏覽服務和直接檢索服務。該類搜索引擎因爲加入了人的智能,所以信息準確、導航質量高,缺點是需要人工介入、維護量大、信息量少、信息更新不及時。典型代表是:Yahoo(現已採用Robot技術)、LookSmart、Open Directory等。
2.2. 基於Robot搜索引擎:基於Robot 的搜索引擎多提供對全文的檢索,有時也叫做全文搜索引擎(Full Text)。通過Robot程序從互聯網上搜集信息而建立索引數據庫,檢索與用戶查詢條件匹配的相關記錄,然後按一定的排列順序將結果返回給用戶。這類搜索引擎的代表是:Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等;國內代表爲:百度(Baidu),"天網"、OpenFind等。
2.3. 元搜索引擎:這類搜索引擎沒有自己的數據庫,而是將用戶的查詢請求同時向多個搜索引擎遞交,將返回的結果進行去重、排序等處理後,作爲自己的結果返回給用戶。服務方式爲面向網頁的全文檢索。這類搜索引擎的優點是返回結果的信息量更大、更全,缺點是不能夠充分使用所使用搜索引擎的功能,用戶需要做更多的篩選。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等(元搜索引擎列表),中文元搜索引擎中具代表性的有搜星搜索引擎。
除上述三大類引擎外,還有以下幾種非主流形式:集合式搜索引擎、門戶搜索引擎:如AOL Search、MSN Search等、免費鏈接列表(Free For All Links,簡稱FFA)等。 


3. 性能指標

搜索引擎是一種互聯網信息檢索工具,因此對其性能評價可以參考傳統型文獻檢索工具的質量評價標準,結合搜索引擎在信息組織加工及檢索服務提供方式等內容進行;又因爲它直接跟蹤網絡信息並面向網絡信息用戶,對它的評價因該立足於用戶的利益立場。通俗地講,能令大多數網絡用戶滿意的搜索引擎就是一個好的搜索引擎。
通常情況下,我們可以從以下幾個方面來衡量一個搜索引擎的性能:
3.1. 召回率(Recall):又稱查全率,指搜索引擎提供的檢索結果中相關信息文檔數與網絡信息中存在的相關信息文檔數之比, 因檢索結果是在對檢索需求與搜索引擎的索引數據庫中的文檔進行匹配後的文檔集合, 這一指標也是搜索引擎對網絡信息覆蓋率的真實反映。
3.2. 精度(Precision):又稱查準率,是搜索引擎提供的檢索結果與用戶信息需求的匹配程度, 也是檢索結果中有效信息的文檔數與搜索引擎提供的全部文檔數之比。
3.3. 檢索速度:又稱響應時間,檢索速度一般而言取決於兩個因素, 即與帶寬有關的網絡速度及搜索引擎本身的速度, 只有在二者均獲得可靠的技術支持的情況下, 才能保證理想的檢索速度。
  對於一個檢索系統來講,召回率和精度很難做到兩全其美:召回率高時,精度低;精度高時,召回率低。對於搜索引擎系統來講,因爲沒有一個搜索引擎系統能夠覆蓋所有的網絡資源,所以召回率很難計算。目前的搜索引擎系統都非常關心精度。對於上面的衡量方法,有其不足之處,還有其他方面的因素沒能考慮,在文獻[7]中以用戶爲導向運用層次分析法建立一個分析模型,文獻[8]中提出了一些較好的衡量方法。影響一個搜索引擎系統的性能有很多因素,最主要的是信息檢索模型,包括文檔和查詢的表示方法、評價文檔和用戶查詢相關性的匹配策略、查詢結果的排序方法和用戶進行相關度反饋的機制。
另外,我們可以從對搜索引擎的功能要求角度對它進行評價。在筆者看來,一個理想的搜索引擎系統應該具備以下功能要求:
① 涵蓋較多的互聯網資源,資源更新週期不是很長,對於某些特殊信息可以實時更新,這些是查全率的保障之一。
② 具備儘可能多的可選擇功能,如資源類型(網站、網頁、新聞、軟件、FTP、MP3、Flash、圖像、影視等)選擇、等待時間控制、返回結果數量控制、結果時段選擇、過濾功能選擇、結果顯示方式選擇等。
③ 強大的檢索請求處理功能(如支持邏輯匹配檢索、短語檢索、自然語言檢索等)。
④ 詳盡全面的檢索結果信息描述(如網頁名稱、URL、文摘、結果與用戶檢索需求的相關度等)。
⑤ 支持多種語言檢索,比如提供中英文搜索等。
⑥ 可對結果進行自動分類,如按照域名、國別、資源類型、區域等進行分類整理。
⑦ 可以針對不同用戶提供個性化服務。


4. 原理和關鍵技術

當今搜索引擎的主流是基於Robot的網頁搜索系統,本文主要敘述這方面的技術。搜索引擎的原理,可以看作三步:從互聯網上抓取網頁 → 建立索引數據庫 → 在索引數據庫中搜索排序。
① 從互聯網上發現、蒐集有用網頁信息
利用高性能的Spider程序去自動地在互聯網中搜索信息。一個典型的"網洛蜘蛛"工作的方式,是查看一個頁面,並從中找到相關信息,然後它再從該頁面的所有URL中出發,爬行到相關頁面,重複這過程,直到把爬過的所有網頁都收集回來。搜索引擎的Spider一般要定期重新訪問所有網頁,更新網頁索引數據庫,以反映出網頁文字的更新情況。
② 將收集到的信息進行分類整理,建立索引數據庫
由分析索引系統程序對收集回來的網頁進行分析,提取相關網頁信息(包括網頁所在URL、編碼類型、頁面內容包含的所有關鍵詞、關鍵詞位置、生成時間、大小、與其它網頁的鏈接關係等),根據一定的相關度算法進行大量複雜計算,得到每一個網頁針對頁面文字中及超鏈中每一個關鍵詞的相關度(或重要性),然後用這些相關信息建立網頁索引數據庫。
③ 用戶檢索過程
當用戶輸入關鍵詞搜索後,由搜索系統程序從網頁索引數據庫中找到符合該關鍵詞的所有相關網頁。因爲所有相關網頁針對該關鍵詞的相關度早已算好,所以只需按照現成的相關度數值排序,相關度越高,排名越靠前。最後,由頁面生成系統將搜索結果的鏈接地址和頁面內容摘要等內容組織起來返回給用戶。
上面簡述了搜索引擎的工作原理,從這裏不難看出搜索引擎的基本構成:搜索器、索引器、檢索器和用戶接口等。下面介紹幾種與之相關的關鍵技術:
① Robot技術,網絡機器人Robot(通常也稱爲網絡蜘蛛Spider、爬行者Crawler等)可以用在針對互聯網的數據統計、數據搜索、鏈接維護等方面。搜索引擎中的網絡機器人主要完成兩個功能,即分析、獲取互聯網的鏈接和讀取各鏈接所對應的網頁內容。Robot 從一個事先制定好的URLs列表出發, 在訪問了一個網頁後,會對它進行分析,提取出新的URLs ,將之加入到訪問列表中,如此遞歸地訪問Web。Robot 設計是否合理將直接影響它訪問Web 的效率,影響搜索數據庫的質量。Robot的實現常用分佈式、並行計算技術,以提高信息發現和更新的速度。
② 索引技術,Robot採集回來的文檔信息要被用來建立索引數據庫。索引的建立方法對搜索引擎來說具有很大的影響,好的索引能提高搜索引擎系統運行的效率以及檢索結果的質量。可以說索引技術是搜索引擎中的核心技術, 是搜索技術高低的集中體現。其中很重要的是文本分析技術,這是索引器的主要支撐技術。文本分析所研究的內容包括提取索引項、自動摘要、自動分類器、文本聚類等。文本分析所依據的主要是文本中所包含的詞彙、超文本標記和超鏈接。
 ③ 信息檢索和排序技術,搜索的最終目的是獲取需要的信息,在大量的信息中進行查找是很討厭的一件事情,很難做到令人滿意。即使是在現實生活中,面對一大堆自己辛辛苦苦找來的資料時,你往往會發現並不是所有的資料都有用。目前搜索引擎所實現的只是通常意義上的相關信息搜索。常用的相關信息查找方法有相似性函數法、歸類(組)法等。在這一研究領域有兩種比較有影響的方法,就是Page Rank方法和Authority and Hub方法。這兩種方法都是利用頁面中的鏈接來對文檔的重要性進行判斷。
④ 用戶接口設計,用戶接口的作用是輸入用戶查詢、顯示查詢結果、提供用戶相關性反饋機制。主要的目的是方便用戶使用搜索引擎,高效率、多方式地從搜索引擎中得到有效、及時的信息。用戶接口的設計和實現使用人機交互的理論和方法,以充分適應人類的思維習慣。一般搜索引擎都提供基本檢索和高級檢索兩個接口。基本檢索接口只提供用戶輸入關鍵字的文本框,有的可以在這裏輸入一些複雜的查詢表達式,不過這個只適用於那些搜索專家;高級檢索接口可以讓用戶對查詢進行限制,如邏輯運算(與、或、非)、相近關係(相鄰、NEAR)、域名範圍(如.edu、.com)、出現位置(如標題、內容)、信息時間、長度等等。


5. 發展趨勢

經過了多年的發展之後,現在的搜索引擎功能越來越強大,提供的服務也越來越全面據。研究者統計, 目前互聯網上的搜索引擎已達數千種, 僅中文搜索引擎就達上百種,可謂是百花爭豔。然而隨着WWW信息的急劇增加,目前的搜索引擎存在界面不夠友好、響應時間長、死鏈接過多、結果中重複信息及不相關信息過多等問題,難以滿足人們的各種信息需求,搜索引擎將向智能化、個性化、精確化、專業化、交叉語言檢索、多媒體檢索等適應不同用戶需求的方向發展。
5.1. 智能化的搜索引擎:它是未來搜索引擎的發展方向,被稱作是"第三代搜索引擎",在這方面中國搜索走在了前面,已經推出了此類搜索引擎供用戶試用。搜索引擎的智能化體現在兩方面:一是對搜索請求的理解,二是對網頁內容的分析。它利用智能代理技術對用戶的查詢計劃、意圖、興趣方向進行推理,自動進行信息蒐集過濾,自動地將用戶感興趣的、對用戶有用的信息提交給用戶。這其中也包含了對服務多項化、個性化,結果精確化,交叉語言檢索等方面的功能。
5.2. 重視查詢結果的精度,提高檢索的有效性:解決查詢結果過多的現象目前有以下幾種方法:a) 構建基於內容的搜索引擎。基於內容的搜索不是根據字形,而是試圖理解用戶的請求,同時根據文檔的內容選出符合用戶要求的文檔。即通過各種方法獲得用戶沒有在查詢語句中表達出來的真正用途,實現自然語言的智能查詢功能。當前比較成熟的解決方案是依靠語義網絡、漢語分詞、句法分析、處理同義詞等中文信息處理技術最大程度地瞭解用戶需求。b) 將用戶提問轉化爲系統已知的問題,然後對已知問題進行解答,以求降低對自然語言理解技術的依賴性。c) 用正文分類技術將結果分類,使用可視化技術顯示分類結構,用戶可以只瀏覽自己感興趣的類別。d) 進行站點類聚或內容類聚,減少信息的總量。e)讓用戶對返回結果進行選擇,進行二次查詢是一種非常有效的手段。
5.3. 實現交叉語言的檢索:搜索引擎對多種語言的數據庫進行交叉語言信息檢索,返回能夠回答用戶問題的所有語言的文檔。若配上機器翻譯,就可使返回結果以用戶熟悉的語言顯示。雖然該技術目前還處於初步研究階段,其難點在於語言之間在表達方式和語義對應上的不確定性,但其確是發展方向。
5.4. 提供對自然語言檢索的支持:爲了提高搜索引擎對用戶檢索提問的理解,就必須有一個好的檢索提問語言,爲了克服關鍵詞檢索和目錄查詢的缺點,現在已經出現了自然語言智能答詢。如Google有專用於回答問題的Google Answer,微軟有AnswerBot等。用戶可以輸入簡單的疑問句,比如"how can kill virus of computer?"。搜索引擎在對提問進行結構和內容的分析之後,或直接給出提問的答案,或引導用戶從幾個可選擇的問題中進行再選擇。自然語言的優勢在於,一是使網絡交流更加人性化,二是使查詢變得更加方便、直接、有效。就以上面的例子來講,如果用關鍵詞查詢,多半人會用"virus"這個詞來檢索,結果中必然會包括各類病毒的介紹、病毒是怎樣產生的等等許多無效信息,而用"how can kill virus of computer?",搜索引擎會將怎樣殺病毒的信息提供給用戶,提高了檢索效率。
5.5. 多媒體搜索引擎:網絡資源豐富多彩,具有很多類型的信息,用戶需要的信息也不完全是網頁的形式,從用戶的角度來看,必然要求搜索引擎能夠覆蓋更多的網絡資源。現在有很多搜索引擎已經提供了網頁、新聞、圖片、音樂等資源搜索,當然範圍還可以更廣,再如可以搜索新聞組、軟件、FTP、Flash、論文等等。
5.6. 專業化搜索引擎:是爲了專門收錄某一行業、某一學科、某一主題和某一地區的信息而建立,非常實用,如有商務查詢、企業查詢、人名查詢、電子郵件地址查詢和招聘信息查詢等等。這種專業化的搜索引擎是將來的方向之一。
5.7. 桌面型搜索引擎:這類引擎實際上是一個軟件,下載安裝後放在電腦桌面上,用戶不用頻繁打開瀏覽器,而是直接通過只要通過它就能完全實現搜索過程,更甚者它可以同時搜索本地、局域網和互聯網上的信息。它完全越過傳統的搜索模式,越過瀏覽器,真正實現讓搜索無處不在。搜索引擎脫離瀏覽器是一個發展趨勢,Google、Yahoo等都有計劃地推出屬於自己的桌面型搜索軟件,而微軟同樣打算把搜索設計到桌面上。國內有中國搜索推出的"網絡豬"軟件可用。
 此外還有一些其它值得注意的技術發展,如元搜索引擎,移動代理和XML技術,語音檢索技術等。隨着技術的不斷髮展進步,搜索引擎將會成爲一個人們網際遨遊的好幫手。


6. 參考文獻

[1] 李曉明,劉建國  搜索引擎技術及趨勢
[2] 搜索引擎直通車  搜索引擎發展史 http://www.se-express.com/about/about.htm
[3] 博客中國  前生今世——搜索引擎發展史http://www.blogchina.com/new/source/130.html
[4] 莊毅,黎浩宏 引擎技術現狀及發展動向 計算機時代 2002年第8期
[5] 王紅梅,朱洪秀,王凌 對中文搜索引擎未來發展的探討 東北電力學院學報2001年12月第21卷第4期
[6] 張曉剛,李明樹 智能搜索引擎技術的研究與發展 計算機工程與應用 2001年第24期
[7] 馬彪,李恆 搜索引擎的性能評價 新世紀圖書館 2003年第6期
[8] 鳳元傑,劉正春,王堅毅 搜索引擎主要性能評價指標體系研究 情報學報 2004年2月第23卷第1期
[9] 凌美秀 關於搜索引擎當前存在的主要問題及其發展趨勢的探討 高校圖書館工作 2001年第5期第21卷
[10] 蔡瑞平,鍾哲釋 搜索引擎的檢索功能特徵及技巧  圖書與情報2003年4月
[11] 彭洪匯,林作銓 Internet上的搜索引擎和元搜索引擎 計算機科學2002 Vol. 29 No. 9
[12] 李遠明 試析搜索引擎技術及其未來發展趨勢 情報檢索 2002 No.7
[13] 盧世光,丁方忠 搜索引擎使用技術回顧和發展趨勢探討 廣東通信技術 2002 Vol.19 No.5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章