不同的Web信息檢索系統在工作原理上各不一樣,下面就結合搜索引擎來具體說明一下一般Web信息檢索系統的特點。雖然各個搜索引擎的具體實現不盡相同,但一般包含爬蟲程序、分析程序、索引程序、檢索程序和用戶接口界面5個基本部分,而且大致的工作原理是相同的。
Web搜索引擎主要是通過爬蟲程序定期遍歷互聯網,將網頁的統一資源定位符(URL)、內容和采集時間等相關信息收集到Web服務器上,然后通過必要的信息索引和存儲優化處理,利用特定的檢索界面對Web用戶直接提供服務。這種處理方式在很多方面適應了Web信息的特點。例如,爬蟲程序的定期遍歷可以將不斷動態變化的Web網頁信息采集過來,既能有效反映最新的網頁信息,又能將分布于各地的Web信息統一存儲在搜索引擎的本地服務器上,實現信息資源的本地化,以實現對用戶查詢的快速響應;同時,搜索引擎提供了基于關鍵詞的全文檢索方式,避免了不必要的詞語分析和語義處理,適應半結構化網頁信息的處理特點,而且還能提高信息的查全率。
它的具體工作流程包括以下幾步:
步,由爬蟲程序采用一定的搜索策略對Web網絡進行遍歷并下載網頁,系統中維護一個超鏈隊列或者堆棧,其中包含一些起始URL;爬蟲程序從這些URL出發,下載相應的頁面,并從中抽取出新的超鏈加入到隊列或者堆棧中。上述過程不斷重復直到堆棧為空。為提高效率,搜索引擎中可能會有多個爬蟲程序進程同時遍歷不同的Web子空間。為了便于將來擴展服務,爬蟲程序應能改變搜索范圍和搜索策略,一般采用以寬度優先搜索策略為主、深度優先搜索策略為輔的搜索策略。
第二步,由分析程序對爬蟲程序下載的網頁進行分析以用于索引,網頁分析技術一般包括分詞(有些僅從文檔某些部分抽詞,如Altavista)或者使用停用詞表(stop list)來過濾網頁信息,同時還提供諸如單復數轉換、詞綴去除和同義詞替換等詞語轉換,這些技術的具體實現往往與處理方式以及系統的索引模型密切相關。
第三步,索引程序將網頁信息表示為一種便于檢索的方式并存儲在索引數據庫中。索引的質量是Web信息檢索系統成功的關鍵因素之一。一個好的索引模型應該易于實現和維護、檢索速度更快、空間需求更低。搜索引擎普遍借鑒了傳統信息檢索中的索引模型,包括倒排文檔、向量空間模型和概率模型等。
第四步,檢索程序從索引中找出與用戶查詢請求相關的網頁信息,采用與分析網頁文檔相似的方法來處理用戶查詢請求,最后將相關度大于閾值的所有網頁按照相關度遞減的順序排列并返還給用戶,當然搜索引擎的相關度判斷并不一定與用戶的需求完全吻合。傳統的方式只是利用詞頻和詞語出現的標記和位置來設置權重,新的設置權重方式主要利用基于超鏈分析的方法,然而只有在系統中引入用戶特征模式信息后才能最終為用戶提供個性化的信息檢索服務。
最后,用戶接口為用戶提供可視化的查詢輸入和結果輸出界面。在查詢界面中,用戶按照搜索引擎的查詢語法使用檢索詞語及各種簡單、高級的檢索條件,構造自己的查詢表達式。在輸出界面中,搜索引擎將檢索結果展現為一個線性的網頁列表,其中包含了網頁的標題、摘要和相關超鏈等信息。由于Web信息是動態變化的,因此,Robot分析器和索引器模塊要定期更新數據庫,時間通常約為一個月。索引數據庫越大,更新也越困難。這就使得這種傳統的被動服務方式其實不是非常及時有效,借鑒信息推送服務的思想可以極大地提高Web信息檢索系統的及時性。