摘要:隨著信息技術(shù)的飛速發(fā)展和互聯(lián)網(wǎng)的廣泛普及,信息檢索技術(shù)越來越受到重視。闡述了搜索引擎的產(chǎn)生與發(fā)展,并對搜索引擎的核心技術(shù)、評價指標和工作原理進行了深入研究。介紹了一些著名的搜索引擎。在此基礎(chǔ)上,對搜索引擎的發(fā)展方向進行了預(yù)測。
關(guān)鍵詞:信息技術(shù);信息檢索;搜索引擎
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007—9599 (2012) 14—0000—03
一、引言
信息技術(shù)如今迅速發(fā)展,Internet也得到了廣泛的普及,網(wǎng)絡(luò)上的信息量正在以指數(shù)趨勢上升。其信息來源分布廣泛,種類繁多。如果不能對信息進行有序化管理,用戶將很難從如此海量的信息中提取出他們需要的信息。目前,搜索引擎已經(jīng)成為人們獲取信息的主要手段之一。搜索引擎就是在繁瑣復(fù)雜的互聯(lián)網(wǎng)信息中通過特定的檢索策略,對信息進行搜索與分類,通過分析用戶提交的請求,按照用戶的要求和習(xí)慣進行組織,從而達到用戶快速檢索特定信息的目的。目前搜索引擎提供的搜索方式主要有整句、主題詞、自由詞等等,用以適應(yīng)不同用戶的需求。
二、搜索引擎的產(chǎn)生與發(fā)展
蒙特利爾大學(xué)的Alan Emtage實現(xiàn)了最初的搜索引擎,稱為Archie引擎,Archie引擎可以在特定的網(wǎng)絡(luò)中進行相關(guān)的信息檢索。由于其工作原理與現(xiàn)代搜索引擎非常接近,我們通常認為他開創(chuàng)了現(xiàn)代搜索引擎領(lǐng)域。搜索引擎的發(fā)展大致經(jīng)歷過了三代:
(1)第一代搜索引擎是1994年Michael Mauldin將John Leavitt的“網(wǎng)絡(luò)爬蟲”程序接入到其索引程序中的Lycos。由于結(jié)構(gòu)和技術(shù)相對不成熟,它的搜索速度比較慢,更新速度也不能滿足用戶的檢索要求。
(2)美國斯坦福大學(xué)的David Filo和美籍華人楊致遠合作開發(fā)成功了第二代搜索引擎,它創(chuàng)立了一些用戶關(guān)心的目錄,用戶可以通過目錄進行檢索。
(3)Google的正式推出標志著第三代搜索引擎的誕生。其集成了搜索、分類、多語言支持等功能,同時提供了摘要、排序、快照等功能,另外與強大的硬件系統(tǒng)配合,大大改變了互聯(lián)網(wǎng)用戶檢索網(wǎng)絡(luò)信息的方式。第三代搜索引擎主要結(jié)構(gòu)如圖—1所示。
查詢接口的作用是用戶進行交互,即提取用戶的輸入,并將檢索結(jié)果返回。
檢索器依據(jù)用戶的需求,可以方便地索引庫中查找相應(yīng)的文檔,按照相關(guān)度規(guī)則進行重排后返回。
索引器負責(zé)對文檔建立索引,使文檔以便于檢索的方式重新組織。
分析器負責(zé)對收集器收集的信息進行分析和整理。
信息收集器的主要任務(wù)是對互聯(lián)網(wǎng)上的各種信息進行收集,同時記錄信息URL地址(網(wǎng)絡(luò)爬蟲完成這項工作)。
圖1 搜索引擎結(jié)構(gòu)圖
三、搜索引擎的工作原理
搜索引擎不是搜索互聯(lián)網(wǎng),它搜索的是預(yù)先整理好的索引數(shù)據(jù)庫;同樣,搜索引擎也不能理解網(wǎng)頁上的內(nèi)容,它只能匹配網(wǎng)頁上的文字。搜索引擎的工作流程如圖—2所示。
圖2 搜索引擎的工作流程
搜索引擎的工作流程可主要分為四個步驟:通過網(wǎng)絡(luò)爬蟲(Spider)從互聯(lián)網(wǎng)上根據(jù)相關(guān)算法(深度優(yōu)先、廣度優(yōu)先)抓取網(wǎng)頁,抓取網(wǎng)頁后對網(wǎng)頁中的信息進行加工,加工后將處理后的信息保存到索引數(shù)據(jù)庫中。當(dāng)用戶在索引數(shù)據(jù)庫中搜索查詢相關(guān)的信息資源時,搜索結(jié)果通過搜索引擎的處理后,對返回結(jié)果進行排序,展現(xiàn)給用戶。即:
(1)利用網(wǎng)絡(luò)爬蟲從互聯(lián)網(wǎng)上抓取網(wǎng)頁:利網(wǎng)絡(luò)爬蟲,按照某種搜索策略,沿著URL鏈接爬到其他網(wǎng)頁,重復(fù)這些過程,并把所有爬過的網(wǎng)頁抓取回來。
(2)建立索引數(shù)據(jù)庫:對爬取到的網(wǎng)頁進行分析,提取相關(guān)關(guān)鍵信息,得到每一個網(wǎng)頁針對頁面中文字及鏈接中每一個關(guān)鍵詞的重要性,屏蔽掉不重要的詞語后,用信息建立網(wǎng)頁索引數(shù)據(jù)庫。
(3)處理用戶的查詢請求:系統(tǒng)接收到用戶要查詢的關(guān)鍵字后,調(diào)用檢索器進行搜索,并將返回的結(jié)果進行相關(guān)度排序,最后按照優(yōu)先度降序的方式存儲在返回結(jié)果集合中。
(4)將查詢結(jié)果返回給用戶:搜索結(jié)果以網(wǎng)頁的形式將結(jié)果集中的返回給用戶。方便用戶查看。
按照上面的步驟就可以簡單的架構(gòu)一個搜索引擎系統(tǒng)供用戶使用。目前有很多開源的搜索引擎產(chǎn)品已經(jīng)完成了上述相關(guān)內(nèi)容,使用者只需要進行相應(yīng)的配置就可以使用,大大的簡化了搜索引擎的開發(fā)。目前,比較流行的開源搜索引擎有Nutch、Solr等等。
四、搜索引擎的核心技術(shù)
搜索引擎的核心技術(shù)包括索引技術(shù)和檢索技術(shù)。
(一)索引技術(shù)
順序查找,即通過線性匹配文本進行查找是一種不使用索引進行檢索的例子。它無需對文檔中的信息進行預(yù)處理。這種檢索方式在文本較大時檢索速度會變得非常慢,通常情況下不使用這種檢索方式。
一種解決方法是對文檔進行預(yù)處理,在文檔間建立一種便于檢索的數(shù)據(jù)結(jié)構(gòu),把這種數(shù)據(jù)結(jié)構(gòu)稱為索引。常用的索引方式主要有三種:倒排索引、后綴數(shù)組索引和簽名文件索引。倒排索引的運用最為廣泛。
倒排文件的索引機制是一種面向單詞的機制,它可以極大地提高檢索速度。倒排文件數(shù)據(jù)結(jié)構(gòu)由詞匯和出現(xiàn)情況組成。對于文檔中的每個單詞,都有一個列表來記錄單詞在所有文本中出現(xiàn)的位置(位置可以是單詞的位置,也可以是字符的位置)。倒排索引技術(shù)對關(guān)鍵字的檢索非常有效。倒排索引將文本看成單詞的序列,所以當(dāng)使用倒排索引解決如短語查詢的復(fù)雜查詢時,需要花費較高的代價。使用后綴數(shù)組結(jié)構(gòu)可以有效地解決這些復(fù)雜查詢,但它的生成過程比較復(fù)雜,所以應(yīng)用情況不如倒排文件使用的廣泛。簽名文檔的方式目前已經(jīng)不被使用,故不做相關(guān)的介紹。
(二)檢索技術(shù)
常見的信息檢索模型根據(jù)查找信息的實現(xiàn)方式不同分為:布爾模型、向量空間模型、概率論模型和神經(jīng)網(wǎng)絡(luò)模型等等。其中布爾模型比較廣泛,在實驗環(huán)境中向量空間模型最為流行,下文將主要對布爾模型和向量空間模型進行介紹。
1.布爾模型
在布爾模型中,文檔通過來自一個詞典的一個關(guān)鍵詞條的集合來表示。通過看文檔中的詞條是否滿足查詢的條件來進行查詢與文檔的匹配過程。查詢由一些邏輯操作符號(如AND、OR和NOT)連接起來的關(guān)鍵詞組成的。布爾模型目前被廣泛的應(yīng)用在商用信息獲取系統(tǒng)中。它有很多優(yōu)點,如實現(xiàn)容易、計算代價相對較少、查詢語言容易表達等等,但是,它存在三個方面的缺點:
(1)布爾模型操作符的使用方法較難掌握,因此對于搜索引擎的初學(xué)者來說很難將一個查詢公式化;
(2)查詢串中不能說明關(guān)鍵詞的相對重要性;
(3)很難將文檔進行相關(guān)性來排序。
2.向量空間模型
在向量空間模型用向量表示信息庫中的文本以及用戶的查詢。文檔向量是一個n元組,其中的每個坐標都通過對應(yīng)關(guān)鍵詞的權(quán)重表示。權(quán)重越大,則相應(yīng)關(guān)鍵詞對于該文檔來說越重要。查詢向量與文檔向量相似,查詢向量中的權(quán)重表示對應(yīng)關(guān)鍵詞對于用戶來說的重要程度。
向量模型的優(yōu)點如下:
(1)向量模型可以對查詢向量中關(guān)鍵詞權(quán)重的賦值;
(2)向量模型可以對文檔進行相關(guān)度排序;
(3)向量模型比布爾模型的準確度高。
然而,向量模型也有一些缺點:
(1)向量模型中,關(guān)鍵詞是被假設(shè)為相互獨立的,而實際上一個文檔中的關(guān)鍵詞可能存在一定的聯(lián)系;
(2)查詢中,不能像布爾模型一樣使用關(guān)鍵詞之間的邏輯關(guān)系。
五、搜索引擎的評價指標
目前,互聯(lián)網(wǎng)上存在很多搜索引擎。所以,若對一個搜索引擎的優(yōu)劣進行評價十分具有意義。蘭卡斯特和費恩于1973年提出了5項評價指標來衡量信息檢索系統(tǒng)的性能,它們分別是:查準率、覆蓋范圍、查全率、用戶負擔(dān)、響應(yīng)時間和檢索結(jié)果輸出格式。這些評價指標對于衡量一個搜索引擎的性能具有很大的指導(dǎo)作用。此外還可以從下述幾方面進行評價:死鏈比率、索引數(shù)據(jù)庫更新頻率、數(shù)據(jù)庫的規(guī)模和內(nèi)容、用戶界面等等。目前,查準率、查全率、死鏈比率、響應(yīng)時間、索引庫更新頻率是評價一個搜索引擎優(yōu)劣的最通用的5個性能指標是。
(1)查準率:查準率是搜索結(jié)果中與關(guān)鍵字有關(guān)的信息量與檢索結(jié)果的全部信息量的比值。實際應(yīng)用中,查準率不太容易確定。原因是可能用戶為了查找某一特定信息或類似信息而輸入一個關(guān)鍵詞,所以一般情況下只要檢索到的關(guān)鍵詞的意義與用戶輸入相近,就認為查準率滿足精度要求。
(2)查全率:查全率的定義是搜索引擎查詢到的結(jié)果中的有關(guān)信息數(shù)量和搜索引擎數(shù)據(jù)庫中有關(guān)信息數(shù)量的比值。如果一個搜索引擎的查全率很低,由于用戶通過這種搜索引擎查詢到的信息量太少,導(dǎo)致其沒有太大的使用價值,即用戶很難得到真正有用的信息。
(3)死鏈比率:使用搜索引擎搜索時,永遠無法獲取的結(jié)果我們稱之為死鏈接,搜索引擎沒有及時更新索引數(shù)據(jù)庫是造成死鏈接的主要原因。
(4)響應(yīng)時間:響應(yīng)時間指用戶輸入檢索請求到搜索引擎返回檢索結(jié)果的時間間隔。在用戶選擇搜索引擎時,首先考慮的是搜索引擎本身的響應(yīng)速度,如:一個查全率和查準率都很高的搜索引擎,如果其響應(yīng)速度非常慢,則用戶顯然不會選擇。響應(yīng)時間在很大程度上也受到外界因素的影響,如網(wǎng)絡(luò)狀況等。因此,在對比不同搜索引擎的響應(yīng)時間時,必須在相同的時間,相同的軟硬件條件及相同的檢索請求下進行。
(5)索引庫更新頻率:索引庫更新頻率指的是搜索引擎索引數(shù)據(jù)庫更新周期的長短。用戶能否及時獲得較新的信息直接受到搜索引擎索引數(shù)據(jù)庫更新頻率的影響,所以這項指標尤為重要。
六、著名的搜索引擎介紹
搜索引擎自1994年出現(xiàn)發(fā)展至今,已取得了長足的進步,信息檢索工具、搜索引擎也是層出不窮,下面將簡要介紹一些著名的搜索引擎。
(1)Google:Google是全球最大的機器搜索引擎, Google 每天提供 2 億次查詢服務(wù),占全球搜索引擎查詢市場份額的29.2 %,無可爭議的世界第一; Google 通過對80多億網(wǎng)頁進行整理,為世界各地的用戶提供適需的搜索結(jié)果,而且搜索時間通常不到半秒。
(2)Lycos:Lycos作為全世界最早的搜索引擎之一。每月以 3700 萬次的獨立訪問排名第 5大用戶最常訪問的網(wǎng)站。調(diào)查得知,Lycos主要搜索結(jié)果來自于 Alltheweb 。
(3)AltaVista :AltaVista是全世界功能最完善,搜索精度較高的全文搜索引擎之一。目前, AltaVista數(shù)據(jù)庫已存有超過 12 億個 Web 文件,并且經(jīng)過升級,其搜索精度已達業(yè)界領(lǐng)先水平。不過該搜索引擎已于2003年被Yahoo收購。
(4)百度:百度一直是全球最大的中文搜索引擎,一直占據(jù)著搜索引擎市場的半壁江山。隨著Google在中國市場的持續(xù)挺進和戰(zhàn)略調(diào)整,以及其他搜索引擎(如雅虎中國、網(wǎng)易有道、新浪愛問、騰訊搜搜、中搜等)的異軍突起,百度維持目前的優(yōu)勢壓力越來越大。
七、結(jié)束語
搜索引擎已經(jīng)成為一個新的研究領(lǐng)域。它涉及了信息檢索、分布式處理、數(shù)據(jù)挖掘、自然語言處理等多領(lǐng)域的理論和技術(shù),是一門綜合性極強的技術(shù)。隨著互聯(lián)網(wǎng)上數(shù)據(jù)量的不斷擴大,人們對搜索引擎的要求也越來越高,這將促成搜索引擎的繼續(xù)快速發(fā)展。雖然搜索引擎已經(jīng)有了二十余年的歷史,但是其仍有很多問題還需我們?nèi)ソ鉀Q與研究。
本文介紹了搜索引擎的發(fā)展歷史,研究討論了搜索引擎的工作原理,并對搜索引擎的核心技術(shù)和評價指標做了相關(guān)研討。通過調(diào)研,對幾個著名的搜索引擎進行了介紹。
參考文獻:
[1]馬修軍.多媒體數(shù)據(jù)庫與內(nèi)容檢索[M].北京:北京大學(xué)出版社,2007
[2]焦麗.網(wǎng)絡(luò)搜索引擎研究概述[J].農(nóng)業(yè)圖書情報學(xué)刊,2008,(3)
[3]朱江嶺.網(wǎng)絡(luò)信息資源檢索與利用[M].北京:海洋出版社,2007
[4]雷鳴,王建勇,趙江華等.第三代搜索引擎與天網(wǎng)二期[J].北京大學(xué)學(xué)報(自然科學(xué)版),2001,37(9):735—740
[5]胡冉.關(guān)于搜索引擎的幾個理論問題的綜述[J].晉圖學(xué)刊,2003,74(2):74—77
[6]沈賀丹,潘亞楠,邵良杉.關(guān)于搜索引擎的研究綜述[J].計算機技術(shù)與發(fā)展,2006,16(4):148—152
[7]曾宜禮.搜索引擎技術(shù)綜述[J].科學(xué)情報開發(fā)與經(jīng)濟,2007,16(7):198—199
[8]李悅.搜索引擎技術(shù)的產(chǎn)生與發(fā)展[J].福建電腦,2010,5:34—36
[9]姚樹宇,趙少東一種使用分布式技術(shù)的搜索引擎[J].計算機應(yīng)用與軟件,2005(10)
[10]李小明,閏宏飛,王繼明搜索引擎原理、技術(shù)與系統(tǒng)[J].計算機工程,2005,31(14)
[11]徐寶文,張衛(wèi)豐.搜索引擎與信息獲取技術(shù)[M].清華大學(xué)出版社,2003
[12]王小森,基于Solr的搜索引擎的設(shè)計與實現(xiàn)[D].北京郵電大學(xué)碩士學(xué)位論文
[13]張衛(wèi)峰,徐寶文,周曉宇,許蕾,李東.Web搜索引擎綜述[J].計算機科學(xué),2001,28(9):24—28
[14]都云程,盧獻華.中文搜索引擎現(xiàn)狀與展望[J].中文信息學(xué)報,1999,13(3):61—64
[15]李蕾.中文搜索引擎檢索初探[J].計算機工程與應(yīng)用,2000,36(6)
[16]劉建生,周志輝.個性化搜索引擎綜述[J].計算機與數(shù)字工程,2010,38(10):80—81
[17]歐陽柳波,李學(xué)勇,李國徽,王鑫.專業(yè)搜索引擎搜索策略綜述[J].計算機工程,2004,30(13):32—33