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