另類搜索資料的方法:網絡爬程序
大比較熟悉使用各種搜索引擎,但是,還有一種更主動和專門的搜索技術:網絡爬。
1 爬技術研究綜述
引言
隨着網絡的迅速展,萬維網成為大量信息的載,如何有效地提取利用這些信息成為一個巨大的挑戰。搜索引擎(search engine),例如傳統的通用搜索引擎altavista,yahoo!和google等,作為一個輔助人們檢索信息的工具成為用戶訪問萬維網的入口和指南。但是,這些通用性搜索引擎也存在着一定的局限性,如:
(1) 不同領域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返的結果包含大量用戶不關心的網頁。
(2) 通用搜索引擎的目標是可能大的網絡覆蓋率,有限的搜索引擎服務器資源與無限的網絡數資源之間的矛盾將進一步加深。
(3) 萬維網數形式的豐富和網絡技術的不斷展,圖片、數庫、音頻/視頻多媒等不同數大量出現,通用搜索引擎往往對這些信息含量密集且具有一定結構的數無能為力,不能很好地現和取。
(4) 通用搜索引擎大多提供基於關鍵字的檢索,難以支持根語義信息提出的查詢。
為瞭解决上述問題,定抓取相關網頁資源的聚焦爬應運而生。聚焦爬是一個自動下載網頁的程序,它根既定的抓取目標,有選擇的訪問萬維網上的網頁與相關的鏈接,取所需要的信息。與通用爬(generalpurpose web crawler)不同,聚焦爬并州不追求大的覆蓋,而將目標定為抓取與某一特定主題內容相關的網頁,為面嚮主題的用戶查詢備數資源。
1 聚焦爬工作原理及關鍵技術概述
網絡爬是一個自動提取網頁的程序,它為搜索引擎從萬維網上下載網頁,是搜索引擎的重要組成。傳統爬從一個或若初始網頁的url開始,獲得初始網頁上的url,在抓取網頁的過程中,不斷從當前頁上抽取新的url放入隊列,直到滿足統的一定停止條件,如圖1(a)流程圖所示。聚焦爬的工作流程較為雜,需要根一定的網頁分析算法過濾與主題無關的鏈接,保留有用的鏈接將其放入等待抓取的url隊列。然,它將根一定的搜索策略從隊列中選擇下一步要抓取的網頁url,重複上述過程,直到達到統的某一條件時停止,如圖1(b)所示。另外,所有被爬抓取的網頁將會被統存貯,進行一定的分析、過濾,建立索引,以便之的查詢和檢索;對於聚焦爬來說,這一過程所得到的分析結果還可能對以的抓取過程給出反饋和指導。
相對於通用網絡爬,聚焦爬還需要解决三個主要問題:
(1) 對抓取目標的描述或定義;
(2) 對網頁或數的分析與過濾;
(3) 對url的搜索策略。
抓取目標的描述和定義是决定網頁分析算法與url搜索策略如何訂的基礎。而網頁分析算法和候選url排序算法是决定搜索引擎所提供的服務形式和爬網頁抓取行為的關鍵所在。這兩個部分的算法又是緊密相關的。
2 抓取目標描述
現有聚焦爬對抓取目標的描述可分為基於目標網頁特、基於目標數模式和基於領域概念3。
基於目標網頁特的爬所抓取、存儲索引的對象一般為網站或網頁。根姓种种氏子樣本取方式可分為:
(1) 預先給定的初始抓取子樣本;
(2) 預先給定的網頁分類目錄和與分類目錄對應的子樣本,如yahoo!分類結構等;
(3) 通過用戶行為確定的抓取目標樣例,分為:
a) 用戶瀏覽過程中顯示標註的抓取樣本;
b) 通過用戶日志挖掘得到訪問模式及相關樣本。
其中,網頁特可以是網頁的內容特,也可以是網頁的鏈接結構特,等等。
現有的聚焦爬對抓取目標的描述或定義可以分為基於目標網頁特,基於目標數模式和基於領域概念三。
基於目標網頁特的爬所抓取、存儲索引的對象一般為網站或網頁。具的方法根姓种种氏子樣本的取方式可以分為:(1)預先給定的初始抓取子樣本;(2)預先給定的網頁分類目錄和與分類目錄對應的子樣本,如yahoo!分類結構等;(3)通過用戶行為確定的抓取目標樣例。其中,網頁特可以是網頁的內容特,也可以是網頁的鏈接結構特,等等。
作者: 齊保元 2006-1-10 10:11 復查此言
2 爬技術研究綜述
基於目標數模式的爬針對的是網頁上的數,所抓取的數一般要符一定的模式,或者可以轉化或映射為目標數模式。
另一種描述方式是建立目標領域的本或詞典,用於從語義角度分析不同特在某一主題中的重要程度。
3 網頁搜索策略
網頁的抓取策略可以分為深度優先、度優先和最佳優先三。深度優先在很多情況下會導致爬的陷入(trapped)問題,目前常見的是度優先和最佳優先方法。
3.1 度優先搜索策略
度優先搜索策略是指在抓取過程中,在完成當前層次的搜索,進行下一層次的搜索。該算法的設計和實現相對簡單。在目前為覆蓋可能多的網頁,一般使用度優先搜索方法。也有很多研究將度優先搜索策略應用於聚焦爬中。其基本思想是認為與初始url在一定鏈接距離內的網頁具有主題相關性的概率很大。另外一種方法是將度優先搜索與網頁過濾技術結使用,先用度優先策略抓取網頁,再將其中無關的網頁過濾掉。這些方法的缺點在於,隨着抓取網頁的增多,大量的無關網頁將被下載過濾,算法的效率將變低。
3.2 最佳優先搜索策略
最佳優先搜索策略按照一定的網頁分析算法,預測候選url與目標網頁的相似度,或與主題的相關性,選取評價最好的一個或幾個url進行抓取。它訪問經過網頁分析算法預測為“有用”的網頁。存在的一個問題是,在爬抓取路徑上的很多相關網頁可能被忽略,因為最佳優先策略是一種局部最優搜索算法。因此需要將最佳優先結具的應用進行改進,以跳出局部最優點。將在第4節中結網頁分析算法作具的討論。研究明,這樣的閉環調整可以將無關網頁數量降低30%~90%。
4 網頁分析算法
網頁分析算法可以歸納為基於網絡拓撲、基於網頁內容和基於用戶訪問行為三類型。
4.1 基於網絡拓撲的分析算法
基於網頁之間的鏈接,通過已知的網頁或數,來對與其有直接或間接鏈接關係的對象(可以是網頁或網站等)作出評價的算法。又分為網頁粒度、網站粒度和網頁塊粒度這三。
4.1.1 網頁(webpage)粒度的分析算法
pagerank和hits算法是最常見的鏈接分析算法,兩者都是通過對網頁間鏈接度的遞歸和規化計算,得到每個網頁的重要度評價。pagerank算法雖然考慮用戶訪問行為的隨機性和sink網頁的存在,但忽略絶大多數用戶訪問時帶有目的性,即網頁和鏈接與查詢主題的相關性。針對這個問題,hits算法提出兩個關鍵的概念:權威型網頁(authority)和中心型網頁(hub)。
基於鏈接的抓取的問題是相關頁主題之間的隧道現象,即很多在抓取路徑上偏離主題的網頁也指目標網頁,局部評價策略中斷在當前路徑上的抓取行為。文獻提出一種基於反鏈接(backlink)的分層式上下文模型(context model),用於描述指目標網頁一定物理跳數半徑內的網頁拓撲圖的中心layer0為目標網頁,將網頁依指目標網頁的物理跳數進行層次分,從外層網頁指內層網頁的鏈接稱為反鏈接。
4.1.2 網站粒度的分析算法
網站粒度的資源現和管理策略也比網頁粒度的更簡單有效。網站粒度的爬抓取的關鍵之處在於站點的分和站點等級(siterank)的計算。siterank的計算方法與pagerank類似,但是需要對網站之間的鏈接作一定程度抽象,在一定的模型下計算鏈接的權重。
網站分情況分為按域名分和按ip地址分兩。文獻討論在分佈式情況下,通過對同一個域名下不同主機、服務器的ip地址進行站點分,構造站點圖,利用類似pagerank的方法評價siterank。同時,根不同文件在各個站點上的分佈情況,構造文檔圖,結siterank分佈式計算得到docrank。文獻證明,利用分佈式的siterank計算,不僅大大降低單機站點的算法代價,而且服單獨站點對整個網絡覆蓋率有限的缺點。附帶的一個優點是,常見pagerank 造假難以對siterank進行欺騙。
4.1.3 網頁塊粒度的分析算法
在一個頁中,往往含有多個指其他頁的鏈接,這些鏈接中衹有一部分是指主題相關網頁的,或根網頁的鏈接錨文本明其具有較高重要性。但是,在pagerank和hits算法中,沒有對這些鏈接作區分,因此常常給網頁分析帶來告等噪聲鏈接的擾。在網頁塊級(blocklevel)進行鏈接分析的算法的基本思想是通過vips網頁分割算法將網頁分為不同的網頁塊(page block),然對這些網頁塊建立pagetoblock和blocktopage的鏈接矩陣,分記為z和x。於是,在pagetopage圖上的網頁塊級的pagerank為wp=x×z;在blocktoblock圖上的blockrank為wb=z×x。已經有人實現塊級的pagerank和hits算法,通過實驗證明,效率和確率都比傳統的對應算法要好。
4.2 基於網頁內容的網頁分析算法
基於網頁內容的分析算法指的是利用網頁內容(文本、數等資源)特進行的網頁評價。網頁的內容從原來的以超文本為主,展到來動態頁(或稱為hidden web)數為主,者的數量約為直接可見頁數(piw,publicly indexable web)的400~500倍。另一方面,多媒數、web service等各種網絡資源形式也日益豐富。因此,基於網頁內容的分析算法也從原來的較為單純的文本檢索方法,展為涵蓋網頁數抽取、機器學習、數挖掘、語義理解等多方法的綜應用。本節根網頁數形式的不同,將基於網頁內容的分析算法,歸納以下三類:第一種針對以文本和超鏈接為主的無結構或結構很簡單的網頁;第二針對從結構化的數源(如rdbms)動態生成的頁,其數不能直接批量訪問;第三針對的數界於第一和第二類數之間,具有較好的結構,顯示遵循一定模式或風格,且可以直接訪問。
4.2.1 基於文本的網頁分析算法
1) 純文本分類與聚類算法
很大程度上用文本檢索的技術。文本分析算法可以快速有效的對網頁進行分類和聚類,但是由於忽略網頁間和網頁內部的結構信息,很少單獨使用。
2) 超文本分類和聚類算法 |