隨著因特網(wǎng)的迅猛發(fā)展、WEB信息的增加,用戶要在信息海洋里查找信息,就象大海撈 針一樣,搜索引擎技術恰好解決了這一難題(它可以為用戶提供信息檢索服務)。目前, 搜索引擎技術正成為計算機工業(yè)界和學術界爭相研究、開發(fā)的對象。 搜索引擎是指互聯(lián)網(wǎng)上專門提供檢索服務的一類網(wǎng)站,這些站點的服務器通過網(wǎng)絡搜索軟件(例如網(wǎng)絡搜索機器人)或網(wǎng)絡登錄等方式,將Intemet上大量網(wǎng)站的頁面信息收集到本地,經(jīng)過加工處理建立信息數(shù)據(jù)庫和索引數(shù)據(jù)庫,從而對用戶提出的各種檢索作出響應,提供用戶所需的信息或相關指針。用戶的檢索途徑主要包括自由詞全文檢索、關鍵詞檢索、分類檢索及其他特殊信息的檢索(如企業(yè)、人名、電話黃頁等)。下面以網(wǎng)絡搜索機器人為例來說明搜索引擎技術。
1.網(wǎng)絡機器人技術
網(wǎng)絡機器人(Robot)又被稱作Spider、Worm或Random,核心目的是為獲取Intemet上的信息。一般定義為“一個在網(wǎng)絡上檢索文件且自動跟蹤該文件的超文本結構并循環(huán)檢索被參照的所有文件的軟件”。機器人利用主頁中的超文本鏈接遍歷WWW,通過U趾引用從一個HT2LIL文檔爬行到另一個HTML文檔。網(wǎng)上機器人收集到的信息可有多種用途,如建立索引、HIML文件合法性的驗證、uRL鏈接點驗證與確認、監(jiān)控與獲取更新信息、站點鏡像等。機器人安在網(wǎng)上爬行,因此需要建立一個URL列表來記錄訪問的軌跡。它使用超文本,指向其他文檔的URL是隱藏在文檔中,需要從中分析提取URL,機器人一般都用于生成索引數(shù)據(jù)庫。所有WWW的搜索程序都有如下的工作步驟:
(1)機器人從起始URL列表中取出URL并從網(wǎng)上讀取其指向的內容;
(2)從每一個文檔中提取某些信息(如關鍵字)并放入索引數(shù)據(jù)庫中;
(3)從文檔中提取指向其他文檔的URL,并加入到URL列表中;
(4)重復上述3個步驟,直到再沒有新的URL出現(xiàn)或超出了某些限制(時間或磁盤空間);
(5)給索引數(shù)據(jù)庫加上檢索接口,向網(wǎng)上用戶發(fā)布或提供給用戶檢索。
搜索算法一般有深度優(yōu)先和廣度優(yōu)先兩種基本的搜索策略。機器人以URL列表存取的方式?jīng)Q定搜索策略:先進先出,則形成廣度優(yōu)先搜索,當起始列表包含有大量的WWW服務器地址時,廣度優(yōu)先搜索將產(chǎn)生一個很好的初始結果,但很難深入到服務器中去;先進后出,則形成深度優(yōu)先搜索,這樣能產(chǎn)生較好的文檔分布,更容易發(fā)現(xiàn)文檔的結構,即找到最大數(shù)目的交叉引用。也可以采用遍歷搜索的方法,就是直接將32位的IP地址變化,逐個搜索整個Intemet。
搜索引擎是一個技術含量很高的網(wǎng)絡應用系統(tǒng)。它包括網(wǎng)絡技術、數(shù)據(jù)庫技術動標引技術、檢索技術、自動分類技術,機器學習等人工智能技術。
2.索引技術
索引技術是搜索引擎的核心技術之一。搜索引擎要對所收集到的信息進行整理、分類、索引以產(chǎn)生索引庫,而中文搜索引擎的核心是分詞技術。分詞技術是利用一定的規(guī)則和詞庫,切分出一個句子中的詞,為自動索引做好準備。目前的索引多采用Non—clustered方法,該技術和語言文字的學問有很大的關系,具體有如下幾點:
(1)存儲語法庫,和詞匯庫配合分出句子中的詞匯;
(2)存儲詞匯庫,要同時存儲詞匯的使用頻率和常見搭配方式;
(3)詞匯寬,應可劃分為不同的專業(yè)庫,以便于處理專業(yè)文獻;
(4)對無法分詞的句子,把每個字當作詞來處理。
索引器生成從關鍵詞到URL的關系索引表。索引表一般使用某種形式的倒排表(1nversionUst),即由索引項查找相應的URL。索引表也要記錄索引項在文檔中出現(xiàn)的位置,以便檢索器計算索引項之間的相鄰關系或接近關系,并以特定的數(shù)據(jù)結構存儲在硬盤上。
不同的搜索引擎系統(tǒng)可能采用不盡相同的標引方法。例如Webcrawler利用全文檢索技術,對網(wǎng)頁中每一個單詞進行索引;Lycos只對頁名、標題以及最重要的100個注釋詞等選擇性詞語進行索引;Infoseek則提供概念檢索和詞組檢索,支持and、or、near、not等布爾運算。檢索引擎的索引方法大致可分為自動索引、手工索引和用戶登錄三類。
3.檢索器與結果處理技術
檢索器的主要功能是根據(jù)用戶輸入的關鍵詞在索引器形成的倒排表中進行檢索,同時完成頁面與檢索之間的相關度評價,對將要輸出的結果進行排序,并實現(xiàn)某種用戶相關性反饋機制。
通過搜索引擎獲得的檢索結果往往成百上千,為了得到有用的信息,常用的方法是按網(wǎng)頁的重要性或相關性給網(wǎng)頁評級,進行相關性排序。這里的相關度是指搜索關鍵字在文檔中出現(xiàn)的額度。當額度越高時,則認為該文檔的相關程度越高。能見度也是常用的衡量標準之一。一個網(wǎng)頁的能見度是指該網(wǎng)頁入口超級鏈接的數(shù)目。能見度方法是基于這樣的觀點:一個網(wǎng)頁被其他網(wǎng)頁引用得越多,則該網(wǎng)頁就越有價值。特別地,一個網(wǎng)頁被越重要的網(wǎng)頁所引用,則該網(wǎng)頁的重要程度也就越高。結果處理技術可歸納為:
(1)按頻次排定次序通常,如果一個頁面包含了越多的關鍵詞,其搜索目標的相關性應該越好,這是非常合平常理的解決方案。
(2)按頁面被訪問度排序在這種方法中,搜索引擎會記錄它所搜索到的頁面被訪問的頻率。人們訪問較多的頁面通常應該包含比較多的信息,或者有其他吸引入的長處。這種解決方案適合一般的搜索用戶,而因為大部分的搜索引擎都不是專業(yè)性用戶,所以這種方案也比較適合一般搜索引擎使用。
(3)二次檢索進一步凈化(比flne)結果,按照一定的條件對搜索結果進行優(yōu)化,可以再選擇類別、相關詞進行二次搜索等。
|