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