摘 要:隨著網絡信息量的爆炸式增長,人們查找信息越來越難。Web搜索引擎的出現(xiàn)在一定程度上解決了這種矛盾,介紹中文搜索引擎技術時,首先講述搜索引擎的發(fā)展簡史和基本框架,然后介紹各組成部分的工作原理和關鍵技術。最后對中文搜索引擎的發(fā)展進行展望,總結出中文搜索引擎的主要發(fā)展方向是:個性化搜索、智能化搜索、多媒體搜索、對等搜索。
關鍵詞:搜索引擎;信息檢索;互聯(lián)網;網絡信息量
中圖分類號:TP393
文獻標識碼:A
文章編號:1004—373X(2008)04—074—04
伴隨著互聯(lián)網的爆炸性發(fā)展,網絡用戶想找到所需的資料如同大海撈針,為了滿足人們信息檢索需求,專業(yè)搜索網站應運而生了。搜索引擎(search engine)是一個信息處理系統(tǒng),他以一定的策略在互聯(lián)網中搜集信息,對信息進行理解、提取、組織和處理,并為用戶提供檢索服務,從而起到信息導航的目的,從用戶的角度來看,他就是一個幫助人們進行信息檢索的工具。搜索引擎以傳統(tǒng)信息檢索技術的索引模型、匹配策略等技術為基礎,涉及數(shù)據庫、信息檢索、人工智能、統(tǒng)計數(shù)據分析、數(shù)據挖掘、計算機網絡等諸多領域的理論和技術。
本文回顧了搜索引擎發(fā)展的簡史,介紹他的分類和關鍵技術,并對中文搜索引擎各組成部分進行分析,最后指出了中文搜索引擎的發(fā)展趨勢。
1 搜索引擎的發(fā)展、分類和性能指標
1.1發(fā)展簡史
1990年由蒙特利爾的大學生Alan Emtage等人發(fā)明的Archie是搜索引擎始祖,他依靠腳本程序自動搜索網上的文件,然后對有關信息進行索引,供使用者以一定的表達式查詢。后來,一些開發(fā)機器人(Robot)程序的編程者提出了設想:既然所有網頁都可能有指向其他網站的鏈接,那么從跟蹤一個網站的鏈接開始,就有可能檢索整個互聯(lián)網。最早現(xiàn)代意義上的搜索引擎出現(xiàn)于1994年7月,當時Michael Mauldin將John Leavitt的Robot程序接入到其索引程序中,創(chuàng)建了大家現(xiàn)在熟知的Lycos。同年4月,斯坦福大學的David Filo和楊致遠共同創(chuàng)辦了超級目錄索引Yahoo,并成功地使搜索引擎的概念深入人心,Yahoo也被稱為第一代搜索引擎,從此搜索引擎的發(fā)展進入了黃金時代。1998年9月,同樣是Stanford大學兩位博士生Larry Page和Sergey Brin成功開發(fā)了新一代搜索引擎一一Google,具有比Yahoo使用的技術更快、更準確的特點,被視為第二代搜索引擎的代表。隨著互聯(lián)網規(guī)模的急劇膨脹,搜索引擎之間也開始出現(xiàn)了分工協(xié)作,并有了專業(yè)的搜索引擎技術和搜索數(shù)據庫服務提供商。
1.2搜索引擎的類別
根據搜索引擎的系統(tǒng)結構、信息搜集方法、服務提供方式的區(qū)別,搜索引擎分為以下類別:
(1)機器人搜索引擎:機器人是指某個不斷重復執(zhí)行某項任務的自動程序,基于機器人的搜索引擎多提供對全文的檢索,有時也叫作全文搜索引擎。機器人程序以某種策略對Internet進行定期搜索,對一定IP地址范圍內的互聯(lián)網站進行檢索,一旦發(fā)現(xiàn)新的網站,他會自動提取網站的信息和網址加入自己的數(shù)據庫,由索引器建立索引。對用戶查詢則由檢索器檢索索引庫,最后將查詢結果返回給用戶。該類搜索引擎的優(yōu)點是信息量大、更新及時、不需人工干預;缺點是返回信息量大,且有很多無關信息,用戶必須從結果中進行篩選。Google、百度就是這類搜索引擎的代表。
(2)目錄式搜索引擎:以人工方式或半自動方式搜集信息,由編輯員查看信息之后,人工形成信息摘要,并將信息按照主題分成若干個大類,每個大類再依次細分,使信息形成按主題分類和組織的樹型結構。信息大多面向網站,提供目錄瀏覽服務和直接檢索服務。由于目錄式搜索引擎的信息分類有人的參與,因此其搜索的準確度是相當高的,缺點是人工維護、信息量少、信息更新慢。典型代表是:Yahoo(現(xiàn)已采用Robot技術)、LookSmart等
(3)元搜索引擎:這類搜索引擎沒有自己的數(shù)據,而是將用戶的查詢請求向多個的獨立搜索引擎遞交,再對返回的結果進行重復排除、重新排序等處理后,作為自己的結果返回給用戶。優(yōu)點是返回結果的信息量更大、更全,缺點是用戶需要做更多的篩選。元搜索引擎的搜索效果始終不理想,目前還沒有任何一個元搜索引擎取得強勢地位。
1.3搜索引擎的性能指標
搜索引擎性能評價既要參考傳統(tǒng)型文獻檢索工具的質量評價標準,如:信息組織加工及檢索服務提供方式等,又要立足于用戶的立場,即能滿足大多數(shù)網絡用戶要求的搜索引擎就是一個好的搜索引擎。
在通常情況下,我們可以從以下幾個方面來衡量一個搜索引擎的性能:
查全率 指搜索引擎提供的檢索結果中相關文檔數(shù)與網絡中存在的相關文檔數(shù)之比,他是搜索引擎對網絡信息覆蓋率的真實反映。
查準率 是搜索引擎提供的檢索結果與用戶信息需求的匹配程度,也是檢索結果中有效文檔數(shù)與搜索引擎提供的全部文檔數(shù)之比。
響應時間 一般而言取決于2個因素,即與帶寬有關的網絡速度和搜索引擎本身的速度,只有在二者均獲得可靠的技術支持的情況下,才能保證理想的檢索速度。對搜索引擎來講,查全率和查準率很難做到兩全其美,影響搜索引擎的性能的主要是信息檢索模型,包括文檔和查詢的表示方法、評價文檔和用戶查詢相關性的匹配策略、查詢結果的排序方法和用戶進行相關度反饋的機制。
2 搜索引擎系統(tǒng)架構和關鍵技術
搜索引擎一般由搜索器、分析器、索引器、檢索器和用戶接口等5大部分組成,其工作原理如圖1所示:
2.1搜索器
搜索器是通過網頁的鏈接地址來尋找網頁的計算機程序,他從網站的某一個頁面開始,讀取網頁的內容,找到網頁中的其他鏈接地址,然后通過這些鏈接地址尋找下一個網頁。在搜索器實現(xiàn)時,系統(tǒng)中維護一個超鏈隊列,其中包含一些起始URL,搜索器從這些URL出發(fā),下載相應的頁面,并從中抽取出新的超鏈加入隊列中,上述過程不斷重復直到隊列為空。為提高效率,搜索引擎還將Web空間按照域名、IP地址或國家域名進行劃分,使用多個搜索器并行工作,讓每個搜索器負責一個子空間的搜索。由于互聯(lián)網上的信息太多,因此搜索器必須采用一定的搜索策略對互聯(lián)網進行遍歷并下載文檔搜索器,目前一般采用以廣度優(yōu)先搜索策略為主、線性搜索策略為輔的搜索策略。搜索器主要的搜索策略有:
線性搜索策略 線形搜索策略的基本思想是從一個起始的IP地址出發(fā),按IP地址遞增的方式搜索后續(xù)的每一個IP地址中的信息,完全不考慮各站點的HTML文件中含有的超鏈地址。該策略只適用于小范圍的全面搜索,可以發(fā)現(xiàn)被引用較少的新HTML文件信息源。
廣度優(yōu)先搜索策略廣度優(yōu)先搜索策略是先抓取起始網頁中鏈接的所有網頁,然后再選擇其中的一個鏈接網頁,繼續(xù)抓取在此網頁中鏈接的所有網頁。廣度優(yōu)先搜索策略容易實現(xiàn)并被廣泛采用,但是需要花費較長時間才能到達深層的Web文件。
深度優(yōu)先搜索策略 深度優(yōu)先搜索策略是早期開發(fā)搜索器使用較多的一種方法,他順著HTML文件上的超鏈走到不能再深入為止,然后返回到上一個結點的HT—ML文件,再繼續(xù)選擇該HTML文件中的其他超鏈。深度優(yōu)先搜索適宜遍歷一個指定的站點,但不適合于搜索相當深的Web結構。
2.2 分析器
分析器對搜索器找到的網頁信息進行分析,以便建立索引。其分析技術包括:分詞、過濾、轉換等。通常選用“詞”作為文本特征的元數(shù)據,在分詞時,大部分系統(tǒng)從全文中抽取詞條,也有部分系統(tǒng)只從文檔的某些部分(如標題等)抽取詞條。中文句子的詞語間沒有固定分隔符、漢語語義及結構的復雜性給中文分詞帶來極大困難。
2.3 索引器
索引器的功能是對搜索器所搜索的信息進行分析處理,從中抽取出索引項,用于表示文檔以及生成文檔庫的索引表。索引項有元數(shù)據索引項和內容索引項2種,元數(shù)據索引項與文檔的語意內容無關,如作者名、URL、更新時間、編碼、長度、鏈接流行度等。內容索引項可以分為單索引項和多索引項(或稱短語索引項)2種,用來反映文檔內容,如:關鍵詞及其權重、短語、單字等。為了快速查找到特定的信息,必須將文檔表示為一種便于檢索的方式并存儲在索引數(shù)據庫中。索引數(shù)據庫的格式是一種依賴于索引機制和算法的特殊數(shù)據存儲格式,一個好的索引模型應該易于實現(xiàn)和維護、檢索速度快、空間需求低。搜索引擎普遍借鑒了傳統(tǒng)信息檢索中的索引模型,包括倒排文檔、矢量空間模型、概率模型等。索引器的輸出是索引表,他記錄索引項在文檔中出現(xiàn)的位置,以便檢索器計算索引項之間的相鄰或接近關系,索引表一般使用倒排形式,即由索引項查找相應的文檔。索引器可以使用集中式索引算法或分布式索引算法。一個搜索引擎的有效性在很大程度上取決于索引的質量。
2.4檢索器
檢索器的功能是根據用戶的查詢在索引庫中快速檢出文檔,進行文檔與查詢的相關度評價,對將要輸出的結果進行排序,并實現(xiàn)某種用戶相關性反饋機制。常用的檢索方法有以下幾種:基于關鍵詞的檢索;基于概念的檢索;基于內容的檢索。
如在矢量空間索引模型中,用戶查詢q首先被表示為一個范化矢量V(q)=(t1,w1(q);…;t,wi(q);…;tn,w。(q))。然后按照某種方法來計算用戶查詢與索引數(shù)據庫中每個文檔之間的相關度,而相關度可以表示為查詢矢量v(q)與文檔矢量v(d)之間的夾角余弦,最后將相關度大于閥值的所有文檔按照相關度遞減的順序排列并返還給用戶。
2.5 用戶接口
用戶接口的作用是為用戶提供可視化的查詢輸入和結果輸出界面,方便用戶輸入查詢條件、顯示查詢結果、提供用戶相關性反饋機制等。用戶接口的設計和實現(xiàn)必須基于人機交互的理論和方法,以適應人類的思維和使用習慣。在查詢界面中,用戶按照搜索引擎的查詢語法制定待檢索詞條及各種簡單或高級檢索條件。在查詢輸出界面中,搜索引擎將檢索結果展現(xiàn)為一個線性的文檔列表,其中包含了文檔的標題、摘要、快照和超鏈等信息,用戶需要逐個瀏覽以找出所需文檔。目前一些公司和機構正在考慮制定查詢選項的標準。
2.6檢索結果排序
對于某個檢索項,通常會返回大量的查詢結果列表,其中混雜著大量的不相關文檔,為了提高查詢效率,搜索引擎要對檢索結果進行相應排序。
(1)基于內容的相關度排序:考慮用戶所查詢的詞條在文檔中的出現(xiàn)情況,包括詞條頻率,逆文檔頻率,詞條位置等因素,根據文檔相關度決定其在檢索結果集中的位置。
(2)基于超鏈的相關度排序:考慮一個頁面被其他站點引用的次數(shù),這基本上反映了該頁面的重要性,超鏈的標記:艾本也對鏈宿頁面起到概括作用。斯坦福大學研究開發(fā)的PageRank算法,不僅考慮Web頁上的標題或文本,還考慮與之相連接的其他網站,通過為Web頁面構造引用圖,綜合頁面的被引用次數(shù),以及鏈源頁面的重要性來判斷鏈宿頁面的重要性,能夠查詢與用戶請求相關的“權威”頁面。
(3)檢索結果的聯(lián)機聚類:用戶查詢相關的文檔通常會聚類的比較近,而遠離與查詢無關的文檔。因此可利用聚類技術將結果文檔集合分成若干組,同一組的文檔內容相似度盡可能地大,組間相似度盡可能地小,用戶只需考慮他所選擇的文檔所在的組。
(4)推測用戶最終目的:通過各種技術推測用戶沒有在查詢語句中表達出來的查詢目的,如使用智能代理跟蹤用戶檢索行為,分析用戶模型,通過同類用戶的行為記錄推薦相關頁面;使用相關度反饋機制,通過對查詢請求的不斷修正以提高系統(tǒng)搜索結果的精確度等。
3 中文分詞技術
中文自動分詞是網頁分析的基礎。在網頁分析的過程中,中文與英文的處理方式不同,這是因為中文信息與英文信息有一個明顯的差別:英文單詞之間有空格,而中文文本中詞與詞之間沒有分割符。這就要求在對中文網頁進行分析之前,先要將網頁中的句子切割成一個個的詞的序列,這就是中文分詞。中文自動分詞涉及到許多自然語言處理技術和評價標準,在搜索引擎中,主要關心中文自動分詞的速度和準確度。現(xiàn)有的分詞算法可分為3大類:基于分詞詞典的機械分詞方法、基于理解的分詞方法和基于統(tǒng)計的分詞方法。
(1)基于分詞詞典的機械分詞方法:這種方法是按照一定的策略將要分析的漢字串與詞典中的詞條進行匹配,是比較成熟的技術,又叫做機械分詞方法。按照不同長度優(yōu)先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配;按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照是否與詞性標注過程相結合,又可以分為單純分詞方法和分詞與標注相結合的一體化方法。常用的幾種機械分詞方法如下:正向最大匹配法(由左到右的方向);逆向最大匹配法(由右到左的方向);最少切分(使每一句中切出的詞數(shù)最小)。實際使用的分詞工具,只是把機械分詞作為一種初分手段,此外還要利用各種其他的語言信息來提高切分的準確率。例如一種方法是特征掃描(或標志切分),首先在待分析字符串中識別和切分出一些帶有明顯特征的詞,以這些詞作為斷點,可將原字符串分為較小的串再來進行機械分詞,從而減少匹配的錯誤率。
(2)基于理解的分詞方法:這種分詞方法是通過讓計算機模擬人對句子的理解,達到識別詞的效果。其基本思想就是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。他通常包括3個部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、控制部分。在控制部分的協(xié)調下,分詞子系統(tǒng)可以獲得有關詞句的句法和語義信息來對分詞歧義進行判斷,即他模擬了人對句子的理解過程。這種分詞方法需要使用大量的語言知識和信息。由于漢語語言知識的籠統(tǒng)、復雜性,目前基于理解的分詞系統(tǒng)還處在試驗階段。
(3)基于統(tǒng)計的分詞方法:這種方法是對語料中的字組頻度進行統(tǒng)計,不需要切分詞典,因此也稱為無詞典分詞方法。從形式上看,詞是穩(wěn)定的字的組合,因此在上下文中,相鄰的字同時出現(xiàn)的次數(shù)越多,就越有可能構成一個詞。因此可以對語料中相鄰共現(xiàn)的各個字的組合的頻度進行統(tǒng)計,計算他們的互現(xiàn)信息?;ガF(xiàn)信息體現(xiàn)了漢字之間結合關系的緊密程度,當緊密程度高于某一個閾值時,便可認為這些字的組合可能構成了一個詞。但該方法時空開銷比較大,而且經常把不是詞的常用字組當成詞,例如“我的”、“之一”等。在搜索引擎領域的實際應用中,一般將機械分詞方法與統(tǒng)計分詞方法相結合,先進行串匹配分詞,然后使用統(tǒng)計方法識別一些未登錄的新詞,這樣既發(fā)揮了匹配分詞速度快、效率高的優(yōu)勢,又利用了統(tǒng)計分詞中新詞自動識別和自動消除分詞歧義的特點。
分詞詞典是影響中文自動分詞的一個重要因素,其規(guī)模一般在6萬條詞左右,若辭典過大,則歧義現(xiàn)象將大大增加;而辭典過小,有些詞切分不出來,同樣影響分詞的精度。因此,分詞詞典中詞條的選擇是非常嚴格的。對于不斷出現(xiàn)新詞的網絡領域,僅使用6萬條詞左右的分詞詞典是不夠的,但隨意向分詞詞典中加入新詞將導致分詞精度下降,一般的解決方法是使用輔助詞典,其規(guī)模在50萬詞條左右。另外,中文自動分詞的難點在于未登錄詞的識別和分詞歧義的處理,如何處理這兩個問題一直是該領域研究的熱點。
4 搜索引擎的技術熱點與發(fā)展趨勢
隨著互聯(lián)網的發(fā)展,針對基于關鍵詞搜索引擎所存在的不足,各搜索引擎網站紛紛向智能化、個性化方面發(fā)展,出現(xiàn)了值得關注的技術熱點。
4.1 多媒體搜索技術
可用于網絡檢索的多媒體信息的內容特征大致包括:圖像的顏色、紋理、形狀等;聲音的音頻、響度、頻度和音色等;影像的視頻特征、運動特征等。這種類型的搜索引擎還不多見,并且主要用于圖像檢索,如QBIC、WeebSeek、ImageRover等。目前的多媒體搜索引擎覆蓋面小,檢索功能不夠完善,效果也不太理想,因此,多媒體搜索技術尤其是音頻、視頻數(shù)據的檢索仍是搜索引擎的一個研究重點。
4.2 用戶行為分析
現(xiàn)在的搜索引擎是以關鍵字作為表達查詢的主要手段的,以按相關度大小排列的文獻列表為展示方式,任何人搜索同一個詞都會得到同樣的結果。為了克服千人一面的不足,人們逐步引入了一些個性化的技術,包括對查詢輸入的修正,查詢結果的聚類等。但是,到目前為止,查詢輸入的主要方式還是關鍵字,查詢輸出的主要也還是文本列表。如何為用戶的學習和工作營造一個個性化的信息空間,是未來搜索引擎應該追求的方向。
4.3智能檢索技術
智能檢索主要包括自然語言處理、個性化搜索等技術。自然語言理解是計算機科學中的一個引人入勝的、富有挑戰(zhàn)性的課題。從計算機科學特別是從人工智能的觀點看,自然語言理解的任務是建立一種計算機模型,這種計算機模型能夠給出像人那樣理解、分析并回答自然語言。以自然語言理解技術為基礎的新一代搜索引擎,稱之為智能搜索引擎。由于他將信息檢索從目前基于關鍵詞層面提高到基于知識(或概念)層面,對知識有一定的理解與處理能力,能夠實現(xiàn)分詞技術、同義詞技術、概念搜索、短語識別以及機器翻譯技術等。因而這種搜索引擎具有信息服務的智能化、人性化特征,允許網民采用自然語言進行信息的檢索,為他們提供更方便、更確切的搜索服務。
4.4 P2P搜索技術
目前的互聯(lián)網是以服務器為中心的,人們向服務器發(fā)送請求,然后瀏覽服務器回應的信息,而對等搜索技術P2P(Peer to Peer)將以用戶為中心,所有的用戶都是平等的伙伴,用戶可以通過P2P共享硬盤上的文件、目錄甚至整個硬盤。把這一理念具體運用到搜索引擎技術上來,P2P將使用戶能夠深度搜索文檔,而且這種搜索無須通過Web服務器,也可以不受文檔格式和宿主設備的限制,具有傳統(tǒng)搜索引擎無可比擬優(yōu)勢。P2P網絡的一個很大的問題在于搜索信息時所產生的網絡通信量非常巨大,在時間和網絡資源方面造成很大的浪費。為方便P2P網絡中的信息檢索,有關專家提出3種建立在特征文件基礎上的檢索機制:對語義路由進行詳細分析,提出了一個建立在此技術和RDF技術基礎上的新方法。
5 結 語
伴隨互聯(lián)網爆炸性的發(fā)展,搜索引擎技術日漸成為互聯(lián)網技術的一個重要研究方向。目前的中文搜索引擎系統(tǒng)在檢索準確性、個性化服務、用戶查詢模式和語言、挖掘用戶反饋等方面仍有一定的不足。如何利用自然語言處理、人工智能、數(shù)據挖掘等技術來提高搜索引擎的性能將是未來中文搜索引擎技術的重要發(fā)展趨勢。