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