1.網絡機器人技術
網絡機器人(Robot)又被稱作Spider、Worm或Random,核心目的是為獲取Intemet上的信息。壹般定義為“壹個在網絡上檢索文件且自動跟蹤該文件的超文本結構並循環檢索被參照的所有文件的軟件”。機器人利用主頁中的超文本鏈接遍歷WWW,通過U趾引用從壹個HT2LIL文檔爬行到另壹個HTML文檔。網上機器人收集到的信息可有多種用途,如建立索引、HIML文件合法性的驗證、uRL鏈接點驗證與確認、監控與獲取更新信息、站點鏡像等。
機器人安在網上爬行,因此需要建立壹個URL列表來記錄訪問的軌跡。它使用超文本,指向其他文檔的URL是隱藏在文檔中,需要從中分析提取URL,機器人壹般都用於生成索引數據庫。所有WWW的搜索程序都有如下的工作步驟:
(1)機器人從起始URL列表中取出URL並從網上讀取其指向的內容;
(2)從每壹個文檔中提取某些信息(如關鍵字)並放入索引數據庫中;
(3)從文檔中提取指向其他文檔的URL,並加入到URL列表中;
(4)重復上述3個步驟,直到再沒有新的URL出現或超出了某些限制(時間或磁盤空間);
(5)給索引數據庫加上檢索接口,向網上用戶發布或提供給用戶檢索。
搜索算法壹般有深度優先和廣度優先兩種基本的搜索策略。機器人以URL列表存取的方式決定搜索策略:先進先出,則形成廣度優先搜索,當起始列表包含有大量的WWW服務器地址時,廣度優先搜索將產生壹個很好的初始結果,但很難深入到服務器中去;先進後出,則形成深度優先搜索,這樣能產生較好的文檔分布,更容易發現文檔的結構,即找到最大數目的交叉引用。也可以采用遍歷搜索的方法,就是直接將32位的IP地址變化,逐個搜索整個Intemet。
搜索引擎是壹個技術含量很高的網絡應用系統。它包括網絡技術、數據庫技術動標引技術、檢索技術、自動分類技術,機器學習等人工智能技術。
2.索引技術
索引技術是搜索引擎的核心技術之壹。搜索引擎要對所收集到的信息進行整理、分類、索引以產生索引庫,而中文搜索引擎的核心是分詞技術。分詞技術是利用壹定的規則和詞庫,切分出壹個句子中的詞,為自動索引做好準備。目前的索引多采用Non—clustered方法,該技術和語言文字的學問有很大的關系,具體有如下幾點:
(1)存儲語法庫,和詞匯庫配合分出句子中的詞匯;
(2)存儲詞匯庫,要同時存儲詞匯的使用頻率和常見搭配方式;
(3)詞匯寬,應可劃分為不同的專業庫,以便於處理專業文獻;
(4)對無法分詞的句子,把每個字當作詞來處理。
索引器生成從關鍵詞到URL的關系索引表。索引表壹般使用某種形式的倒排表(1nversionUst),即由索引項查找相應的URL。索引表也要記錄索引項在文檔中出現的位置,以便檢索器計算索引項之間的相鄰關系或接近關系,並以特定的數據結構存儲在硬盤上。
不同的搜索引擎系統可能采用不盡相同的標引方法。例如Webcrawler利用全文檢索技術,對網頁中每壹個單詞進行索引;Lycos只對頁名、標題以及最重要的100個註釋詞等選擇性詞語進行索引;Infoseek則提供概念檢索和詞組檢索,支持and、or、near、not等布爾運算。檢索引擎的索引方法大致可分為自動索引、手工索引和用戶登錄三類。
3.檢索器與結果處理技術
檢索器的主要功能是根據用戶輸入的關鍵詞在索引器形成的倒排表中進行檢索,同時完成頁面與檢索之間的相關度評價,對將要輸出的結果進行排序,並實現某種用戶相關性反饋機制。
通過搜索引擎獲得的檢索結果往往成百上千,為了得到有用的信息,常用的方法是按網頁的重要性或相關性給網頁評級,進行相關性排序。這裏的相關度是指搜索關鍵字在文檔中出現的額度。當額度越高時,則認為該文檔的相關程度越高。能見度也是常用的衡量標準之壹。壹個網頁的能見度是指該網頁入口超級鏈接的數目。能見度方法是基於這樣的觀點:壹個網頁被其他網頁引用得越多,則該網頁就越有價值。特別地,壹個網頁被越重要的網頁所引用,則該網頁的重要程度也就越高。結果處理技術可歸納為:
(1)按頻次排定次序通常,如果壹個頁面包含了越多的關鍵詞,其搜索目標的相關性應該越好,這是非常合平常理的解決方案。
(2)按頁面被訪問度排序在這種方法中,搜索引擎會記錄它所搜索到的頁面被訪問的頻率。人們訪問較多的頁面通常應該包含比較多的信息,或者有其他吸引入的長處。這種解決方案適合壹般的搜索用戶,而因為大部分的搜索引擎都不是專業性用戶,所以這種方案也比較適合壹般搜索引擎使用。
(3)二次檢索進壹步凈化(比flne)結果,按照壹定的條件對搜索結果進行優化,可以再選擇類別、相關詞進行二次搜索等。
由於目前的搜索引擎還不具備智能,除非知道要查找的文檔的標題,否則排列第壹的結果未必是“最好”的結果。所以有些文檔盡管相關程度高,但並不壹定是用戶最需要的文檔。
搜索引擎技術的行業應用:
搜索引擎的行業應用壹般指類似於千瓦通信提供的多種搜索引擎行業與產品應用模式,大體上分為如下幾種形式:
1、政府機關行業應用
n實時跟蹤、采集與業務工作相關的信息來源。
n全面滿足內部工作人員對互聯網信息的全局觀測需求。
n及時解決政務外網、政務內網的信息源問題,實現動態發布。
n快速解決政府主網站對各地級子網站的信息獲取需求。
n全面整合信息,實現政府內部跨地區、跨部門的信息資源***享與有效溝通。
n節約信息采集的人力、物力、時間,提高辦公效率。
2、企業行業應用
n實時準確地監控、追蹤競爭對手動態,是企業獲取競爭情報的利器。
n及時獲取競爭對手的公開信息以便研究同行業的發展與市場需求。
n為企業決策部門和管理層提供便捷、多途徑的企業戰略決策工具。
n大幅度地提高企業獲取、利用情報的效率,節省情報信息收集、存儲、挖掘的相關費用,是提高企業核心競爭力的關鍵。
n提高企業整體分析研究能力、市場快速反應能力,建立起以知識管理為核心的競爭情報數據倉庫,是提高企業核心競爭力的神經中樞。
3、新聞媒體行業應用
n快速準確地自動跟蹤、采集數千家網絡媒體信息,擴大新聞線索,提高采集速度。
n支持每天對數萬條新聞進行有效抓取。監控範圍的深度、廣度可以自行設定。
n支持對所需內容智能提取、審核。
n實現互聯網信息內容采集、瀏覽、編輯、管理、發布的壹體化。
4、行業網站應用
n實時跟蹤、采集與網站相關的信息來源。
n及時跟蹤行業的信息來源網站,自動,快速更新網站信息。動態更新信息。
n實現互聯網信息內容采集、瀏覽、編輯、管理、發布的壹體化。
n針對商務網站提出商務管理模式,大大提高行業網站的商務應用需求。
n針對資訊網站分類目錄生成,提出用戶生成網站分類結構。並可以實時增加與更新分類結構。不受級數限制。從而大大利高行業的應用性。
n提供搜索引擎SEO優化專業服務,快速提高行業網站的推廣。
n提供與CCDC呼叫搜索引擎的廣告合作。建立行業網站聯盟,提高行業網站知名度。
5)網絡信息監察與監控
n網絡輿情系統。如“千瓦通信-網絡輿情雷達監測系統”
n網站信息與內容監察與監控系統,如“千瓦通信-網站信息與內容監測與監察系統(站內神探)”
隨著因特網的迅猛發展、WEB信息的增加,用戶要在信息海洋裏查找信息,就象大海撈
針壹樣,搜索引擎技術恰好解決了這壹難題(它可以為用戶提供信息檢索服務)。目前,
搜索引擎技術正成為計算機工業界和學術界爭相研究、開發的對象。
搜索引擎(SearchEngine)是隨著WEB信息的迅速增加,從1995年開始逐漸發展起來
的技術。據發表在《科學》雜誌1999年7月的文章《WEB信息的可訪問性》估計,全球目前
的網頁超過8億,有效數據超過9T,並且仍以每4個月翻壹番的速度增長。用戶要在如此浩
瀚的信息海洋裏尋找信息,必然會"大海撈針"無功而返。搜索引擎正是為了解決這個"迷航
"問題而出現的技術。搜索引擎以壹定的策略在互聯網中搜集、發現信息,對信息進行理解
、提取、組織和處理,並為用戶提供檢索服務,從而起到信息導航的目的。搜索引擎提供
的導航服務已經成為互聯網上非常重要的網絡服務,搜索引擎站點也被美譽為"網絡門戶"
。搜索引擎技術因而成為計算機工業界和學術界爭相研究、開發的對象。本文旨在對搜索
引擎的關鍵技術進行簡單的介紹,以起到拋磚引玉的作用。
分類
按照信息搜集方法和服務提供方式的不同,搜索引擎系統可以分為三大類:
1.目錄式搜索引擎:以人工方式或半自動方式搜集信息,由編輯員查看信息之後,人
工形成信息摘要,並將信息置於事先確定的分類框架中。信息大多面向網站,提供目錄瀏
覽服務和直接檢索服務。該類搜索引擎因為加入了人的智能,所以信息準確、導航質量高
,缺點是需要人工介入、維護量大、信息量少、信息更新不及時。這類搜索引擎的代表是
:Yahoo、LookSmart、OpenDirectory、GoGuide等。
2.機器人搜索引擎:由壹個稱為蜘蛛(Spider)的機器人程序以某種策略自動地在互
聯網中搜集和發現信息,由索引器為搜集到的信息建立索引,由檢索器根據用戶的查詢輸
入檢索索引庫,並將查詢結果返回給用戶。服務方式是面向網頁的全文檢索服務。該類搜
索引擎的優點是信息量大、更新及時、毋需人工幹預,缺點是返回信息過多,有很多無關
信息,用戶必須從結果中進行篩選。這類搜索引擎的代表是:AltaVista、NorthernLigh
t、Excite、Infoseek、Inktomi、FAST、Lycos、Google;國內代表為:"天網"、悠遊、O
penFind等。
3.元搜索引擎:這類搜索引擎沒有自己的數據,而是將用戶的查詢請求同時向多個搜
索引擎遞交,將返回的結果進行重復排除、重新排序等處理後,作為自己的結果返回給用
戶。服務方式為面向網頁的全文檢索。這類搜索引擎的優點是返回結果的信息量更大、更
全,缺點是不能夠充分使用所使用搜索引擎的功能,用戶需要做更多的篩選。這類搜索引
擎的代表是WebCrawler、InfoMarket等。
性能指標
我們可以將WEB信息的搜索看作壹個信息檢索問題,即在由WEB網頁組成的文檔庫中檢索
出與用戶查詢相關的文檔。所以我們可以用衡量傳統信息檢索系統的性能參數-召回率(R
ecall)和精度(Pricision)衡量壹個搜索引擎的性能。
召回率是檢索出的相關文檔數和文檔庫中所有的相關文檔數的比率,衡量的是檢索系
統(搜索引擎)的查全率;精度是檢索出的相關文檔數與檢索出的文檔總數的比率,衡量
的是檢索系統(搜索引擎)的查準率。對於壹個檢索系統來講,召回率和精度不可能兩全
其美:召回率高時,精度低,精度高時,召回率低。所以常常用11種召回率下11種精度的
平均值(即11點平均精度)來衡量壹個檢索系統的精度。對於搜索引擎系統來講,因為沒
有壹個搜索引擎系統能夠搜集到所有的WEB網頁,所以召回率很難計算。目前的搜索引擎系
統都非常關心精度。
影響壹個搜索引擎系統的性能有很多因素,最主要的是信息檢索模型,包括文檔和查詢
的表示方法、評價文檔和用戶查詢相關性的匹配策略、查詢結果的排序方法和用戶進行相
關度反饋的機制。
主要技術
壹個搜索引擎由搜索器、索引器、檢索器和用戶接口等四個部分組成。
1.搜索器
搜索器的功能是在互聯網中漫遊,發現和搜集信息。它常常是壹個計算機程序,日夜
不停地運行。它要盡可能多、盡可能快地搜集各種類型的新信息,同時因為互聯網上的信
息更新很快,所以還要定期更新已經搜集過的舊信息,以避免死連接和無效連接。目前有
兩種搜集信息的策略:
●從壹個起始URL集合開始,順著這些URL中的超鏈(Hyperlink),以寬度優先、深
度優先或啟發式方式循環地在互聯網中發現信息。這些起始URL可以是任意的URL,但常常
是壹些非常流行、包含很多鏈接的站點(如Yahoo!)。
●將Web空間按照域名、IP地址或國家域名劃分,每個搜索器負責壹個子空間的窮盡
搜索。搜索器搜集的信息類型多種多樣,包括HTML、XML、Newsgroup文章、FTP文件、
字處理文檔、多媒體信息。搜索器的實現常常用分布式、並行計算技術,以提高信息
發現和更新的速度。商業搜索引擎的信息發現可以達到每天幾百萬網頁。
2.索引器
索引器的功能是理解搜索器所搜索的信息,從中抽取出索引項,用於表示文檔以及生
成文檔庫的索引表。
索引項有客觀索引項和內容索引項兩種:客觀項與文檔的語意內容無關,如作者名、
URL、更新時間、編碼、長度、鏈接流行度(LinkPopularity)等等;內容索引項是用來
反映文檔內容的,如關鍵詞及其權重、短語、單字等等。內容索引項可以分為單索引項和
多索引項(或稱短語索引項)兩種。單索引項對於英文來講是英語單詞,比較容易提取,
因為單詞之間有天然的分隔符(空格);對於中文等連續書寫的語言,必須進行詞語的切
分。在搜索引擎中,壹般要給單索引項賦與壹個權值,以表示該索引項對文檔的區分
度,同時用來計算查詢結果的相關度。使用的方法壹般有統計法、信息論法和概率法。短
語索引項的提取方法有統計法、概率法和語言學法。
索引表壹般使用某種形式的倒排表(InversionList),即由索引項查找相應的文檔
。索引表也可能要記錄索引項在文檔中出現的位置,以便檢索器計算索引項之間的相鄰或
接近關系(proximity)。
索引器可以使用集中式索引算法或分布式索引算法。當數據量很大時,必須實現即時
索引(InstantIndexing),否則不能夠跟上信息量急劇增加的速度。索引算法對索引器
的性能(如大規模峰值查詢時的響應速度)有很大的影響。壹個搜索引擎的有效性在很大
程度上取決於索引的質量。
3.檢索器檢索器的功能是根據用戶的查詢在索引庫中快速檢出文檔,進行文檔與
查詢的相關度評價,對將要輸出的結果進行排序,並實現某種用戶相關性反饋機制。
檢索器常用的信息檢索模型有集合理論模型、代數模型、概率模型和混合模型四種。
4.用戶接口
用戶接口的作用是輸入用戶查詢、顯示查詢結果、提供用戶相關性反饋機制。主要的
目的是方便用戶使用搜索引擎,高效率、多方式地從搜索引擎中得到有效、及時的信息。
用戶接口的設計和實現使用人機交互的理論和方法,以充分適應人類的思維習慣。
用戶輸入接口可以分為簡單接口和復雜接口兩種。
簡單接口只提供用戶輸入查詢串的文本框;復雜接口可以讓用戶對查詢進行限制,如
邏輯運算(與、或、非;+、-)、相近關系(相鄰、NEAR)、域名範圍(如.edu、.com)
、出現位置(如標題、內容)、信息時間、長度等等。目前壹些公司和機構正在考慮制定
查詢選項的標準。
未來動向
搜索引擎已成為壹個新的研究、開發領域。因為它要用到信息檢索、人工智能、計算
機網絡、分布式處理、數據庫、數據挖掘、數字圖書館、自然語言處理等多領域的理論和
技術,所以具有綜合性和挑戰性。又由於搜索引擎有大量的用戶,有很好的經濟價值,所
以引起了世界各國計算機科學界和信息產業界的高度關註,目前的研究、開發十分活躍,
並出現了很多值得註意的動向。
1.十分註意提高信息查詢結果的精度,提高檢索的有效性用戶在搜索引擎上進行
信息查詢時,並不十分關註返回結果的多少,而是看結果是否和自己的需求吻合。對於壹
個查詢,傳統的搜索引擎動輒返回幾十萬、幾百萬篇文檔,用戶不得不在結果中篩選。解
決查詢結果過多的現象目前出現了幾種方法:壹是通過各種方法獲得用戶沒有在查詢語句
中表達出來的真正用途,包括使用智能代理跟蹤用戶檢索行為,分析用戶模型;使用相關
度反饋機制,使用戶告訴搜索引擎哪些文檔和自己的需求相關(及其相關的程度),哪些
不相關,通過多次交互逐步求精。二是用正文分類(TextCategorization)技術將結果分
類,使用可視化技術顯示分類結構,用戶可以只瀏覽自己感興趣的類別。三是進行站點類
聚或內容類聚,減少信息的總量。
2.基於智能代理的信息過濾和個性化服務
信息智能代理是另外壹種利用互聯網信息的機制。它使用自動獲得的領域模型(如We
b知識、信息處理、與用戶興趣相關的信息資源、領域組織結構)、用戶模型(如用戶背景
、興趣、行為、風格)知識進行信息搜集、索引、過濾(包括興趣過濾和不良信息過濾)
,並自動地將用戶感興趣的、對用戶有用的信息提交給用戶。智能代理具有不斷學習、適
應信息和用戶興趣動態變化的能力,從而提供個性化的服務。智能代理可以在用戶端進行
,也可以在服務器端運行。
3.采用分布式體系結構提高系統規模和性能
搜索引擎的實現可以采用集中式體系結構和分布式體系結構,兩種方法各有千秋。但
當系統規模到達壹定程度(如網頁數達到億級)時,必然要采用某種分布式方法,以提高
系統性能。搜索引擎的各個組成部分,除了用戶接口之外,都可以進行分布:搜索器可以
在多臺機器上相互合作、相互分工進行信息發現,以提高信息發現和更新速度;索引器可
以將索引分布在不同的機器上,以減小索引對機器的要求;檢索器可以在不同的機器上.