程 躍
[摘要]總結(jié)現(xiàn)有面向主題的搜索引擎的技術(shù)特點(diǎn),實(shí)現(xiàn)一個(gè)能滿足基本需求的主題搜索引擎;在該課題中敘述了面向主題搜索引擎的重要性、實(shí)現(xiàn)方法、實(shí)現(xiàn)過(guò)程;主要是web文檔抓取、特征提取、web文檔分類技術(shù);特征值應(yīng)具有明顯的特征,以此提高搜索引擎質(zhì)量;在實(shí)現(xiàn)自動(dòng)web文檔分類時(shí)采用向量空間模型計(jì)算web文檔間的相似度。
[關(guān)鍵詞]主題搜索引擎自動(dòng)分類特征值向量空間模型
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)1210072-01
一、搜索引擎歷史背景
任何搜索引擎的祖先,是1990年由Montreal的McGill University學(xué)生Alan Emtage、Peter Deutsch、Bill Wheelan發(fā)明的Archie(Archie FAQ)。雖然當(dāng)時(shí)World Wide Web還未出現(xiàn),但網(wǎng)絡(luò)中文檔傳輸還是相當(dāng)頻繁的,由于大量的文檔散布在各個(gè)分散的FTP主機(jī)中,查詢起來(lái)很不便,因此Alan Emtage等想到了研發(fā)一個(gè)能夠用文檔名查找文檔的系統(tǒng),于是便有了Archie。Archie是第一個(gè)自動(dòng)索引互聯(lián)網(wǎng)上匿名FTP網(wǎng)站文檔的程式。
根據(jù)搜索引擎所用的技術(shù)原理,主要可以分為以下三類:
1.目錄式搜索引擎:以人工方式或半自動(dòng)方式搜集信息,由編輯員查看信息之后,人工形成信息摘要,并將信息置于事先確定的分類框架中。信息大多面向網(wǎng)站,提供目錄瀏覽服務(wù)和直接檢索服務(wù)。
2.基于Robot搜索引擎:基于Robot的搜索引擎多提供對(duì)全文的檢索,有時(shí)也叫做全文搜索引擎(Full Text)。通過(guò)Robot程序從互聯(lián)網(wǎng)上搜集信息而建立索引數(shù)據(jù)庫(kù),檢索與用戶查詢條件匹配的相關(guān)記錄,然后按一定的排列順序?qū)⒔Y(jié)果返回給用戶。
3.元搜索引擎:這類搜索引擎沒(méi)有自己的數(shù)據(jù)庫(kù),而是將用戶的查詢請(qǐng)求同時(shí)向多個(gè)搜索引擎遞交,將返回的結(jié)果進(jìn)行去重、排序等處理后,作為自己的結(jié)果返回給用戶。服務(wù)方式為面向web文檔的全文檢索。
二、主題搜索引擎
隨著信息多元化的增長(zhǎng),千篇一律的給所有用戶同一個(gè)入口顯然已經(jīng)不能滿足特定用戶更深入的查詢需求。同時(shí),這樣的通用搜索引擎在目前的硬件條件下,要及時(shí)更新以得到互聯(lián)網(wǎng)上較全面的信息是不太可能的。這就需要一個(gè)分類細(xì)致精確、數(shù)據(jù)全面深入、更新及時(shí)的面向主題的搜索引擎。由于主題搜索運(yùn)用了人工分類以及特征提取等智能化策略,因此它比以前普通的搜索引擎更具有特性,能被多數(shù)人接受。起主要特點(diǎn)有:
1.搜索最專業(yè):主題搜索引擎排除了其他雜亂信息的干擾,結(jié)果純正、專業(yè),是各行業(yè)推廣的最佳選擇,也是消費(fèi)者品牌消費(fèi)的最佳參謀和顧問(wèn)。
2.結(jié)果最精準(zhǔn):采用人工分類以及特征值提取等策略,提高搜索引擎的時(shí)效性及準(zhǔn)確性,搜索結(jié)果精、準(zhǔn),不會(huì)出現(xiàn)垃圾信息,凸現(xiàn)了主題搜索引擎的獨(dú)特優(yōu)勢(shì)。
3.結(jié)果最有價(jià)值:品搜呈現(xiàn)給消費(fèi)者的是最新、最旺的搜索結(jié)果,是消費(fèi)者最希望看到的結(jié)果,也是消費(fèi)者最喜歡的結(jié)果。
三、面向主題的搜索引擎的設(shè)計(jì)
(一)數(shù)據(jù)庫(kù)設(shè)計(jì)。本課題中采用MYSQL數(shù)據(jù)庫(kù)存儲(chǔ)相關(guān)數(shù)據(jù),MYSQL數(shù)據(jù)庫(kù)適用于中小型企業(yè),它是一種免費(fèi)的開(kāi)源的數(shù)據(jù)庫(kù),用戶可以根據(jù)自己的需要對(duì)它進(jìn)行完善,它也具有較強(qiáng)的穩(wěn)定性,也能支持很多種語(yǔ)言,能滿足本課題的需要;在實(shí)現(xiàn)該系統(tǒng)的過(guò)程需要?jiǎng)?chuàng)建七個(gè)表用于數(shù)據(jù)存儲(chǔ);sites表用于存放web文檔;links表用于存放web文檔中的鏈接,stop_keywords用于存放停止詞,停止詞是指那些在文檔中經(jīng)常出現(xiàn)但又沒(méi)有任何實(shí)際意義的詞;keywords表用于存放關(guān)鍵詞;categories表用于存放web文檔類別;site_category表用于存放web文檔類別與web文檔間的對(duì)應(yīng)關(guān)系;temp表用于存放待抓取的URL,另外還有未列出的三個(gè)字典表,dictionary表用于存放主詞典,syn_dictionary表用于存放同義詞典,con_dictionary表用于蘊(yùn)含詞典。
(二)選取指定的web文檔。首先需要建立類別,然后為每個(gè)類別選擇具有特定性的URL,把它作為種子URL,搜索URL對(duì)應(yīng)的web文檔,通過(guò)它鏈接的第二層web文檔也作為該類的相關(guān)web文檔,各分類之間所指定的URL應(yīng)具有明顯的區(qū)別,如圖1所示。
(三)為類別添加URL。這些URL對(duì)應(yīng)的web文檔信息將會(huì)被放在它所屬的那個(gè)分類里。本課題中采用人工分類,所以對(duì)種子URL的選取和添加都是通過(guò)人工來(lái)完成;對(duì)URL選取要有強(qiáng)烈的針對(duì)性,以凸顯各分類的特性。
(四)單獨(dú)抓取一個(gè)URL。需要對(duì)單個(gè)web文檔進(jìn)行抓取,利用該模塊就可以避免在站點(diǎn)列表中編輯URL的抓取屬性。
(五)網(wǎng)絡(luò)蜘蛛設(shè)置。顧名思義,網(wǎng)絡(luò)蜘蛛就是在網(wǎng)絡(luò)上爬行的程序,用他來(lái)抓取WEB服務(wù)器上的web文檔,它可以在掃描WEB頁(yè)面的同時(shí)檢索其內(nèi)的超鏈接并加入掃描隊(duì)列等待以后掃描。因?yàn)閃EB中廣泛使用超鏈接,所以一個(gè)Spider程序理論上可以訪問(wèn)整個(gè)WEB頁(yè)面,也很有可能在這些連接過(guò)程形成了一個(gè)環(huán),所以限制網(wǎng)絡(luò)蜘蛛的爬行能防止很多問(wèn)題,包括同一個(gè)web文檔被爬取多次、也避免了浪費(fèi)時(shí)間,其設(shè)置如下圖2所示,在“深度”項(xiàng)填入網(wǎng)絡(luò)蜘蛛的爬取深度。網(wǎng)絡(luò)蜘蛛在爬取過(guò)程中,采用廣度優(yōu)先的爬行策略。
(六)抓取web文檔。抓取web文檔屬于管理模塊,管理控制抓取過(guò)程,是索引模塊部分,可以根據(jù)需要對(duì)選定發(fā)URL分類,并對(duì)其抓取進(jìn)行設(shè)置。
(七)web文檔自動(dòng)分類。把上述(二)內(nèi)得到是web文檔處理后作為訓(xùn)練集,對(duì)訓(xùn)練集的處理包括訓(xùn)練集的分詞,其方法采用的是逆向最大匹配法,并計(jì)算出各個(gè)分詞的向量特征,把每個(gè)Web文檔用特征值表示出來(lái),然后用訓(xùn)練集作為新獲取web文檔分類的標(biāo)準(zhǔn);對(duì)獲取的Web文檔處理后,就可以作為分類新web文檔的依據(jù)。
(八)用戶接口。用戶輸入搜索條件,需要對(duì)搜索的條件進(jìn)行分詞等處理,然后搜索程序?qū)⑼ㄟ^(guò)索引數(shù)據(jù)庫(kù)進(jìn)行檢索,然后把符合查詢要求的數(shù)據(jù)按照一定的策略進(jìn)行分級(jí)排列,并且分頁(yè)顯示給用戶;一個(gè)友好的界面決定著人們對(duì)它的接受程度。對(duì)用戶的請(qǐng)求進(jìn)行處理過(guò)程中,在分詞和分頁(yè)顯示時(shí)是關(guān)鍵,分詞是采用逆向最大匹配法,并使用了詞典作為分詞的依據(jù),這樣雖然有很大局限性,但是分出來(lái)的詞更具有實(shí)際意義。