一路拾遺
          Collect By Finding All The Way ......
          posts - 81,comments - 41,trackbacks - 0
          一、引言
            隨著網(wǎng)絡(luò)的迅速發(fā)展,萬維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。搜索引擎(Search Engine),例如傳統(tǒng)的通用搜索引擎AltaVista,Yahoo!和Google等,作為一個輔助人們檢索信息的工具成為用戶訪問萬維網(wǎng)的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性,如:

            (1) 不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結(jié)果包含大量用戶不關(guān)心的網(wǎng)頁。
            (2) 通用搜索引擎的目標(biāo)是盡可能大的網(wǎng)絡(luò)覆蓋率,有限的搜索引擎服務(wù)器資源與無限的網(wǎng)絡(luò)數(shù)據(jù)資源之間的矛盾將進(jìn)一步加深。
            (3) 萬維網(wǎng)數(shù)據(jù)形式的豐富和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,圖片、數(shù)據(jù)庫、音頻/視頻多媒體等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎往往對這些信息含量密集且具有一定結(jié)構(gòu)的數(shù)據(jù)無能為力,不能很好地發(fā)現(xiàn)和獲取。
            (4) 通用搜索引擎大多提供基于關(guān)鍵字的檢索,難以支持根據(jù)語義信息提出的查詢。
            為了解決上述問題,定向抓取相關(guān)網(wǎng)頁資源聚焦爬蟲應(yīng)運而生。聚焦爬蟲是一個自動下載網(wǎng)頁的程序,它根據(jù)既定的抓取目標(biāo),有選擇的訪問萬維網(wǎng)上的網(wǎng)頁與相關(guān)的鏈接,獲取所需要的信息。與通用爬蟲(generalpurpose web crawler)不同,聚焦爬蟲并不追求大的覆蓋,而將目標(biāo)定為抓取與某一特定主題內(nèi)容相關(guān)的網(wǎng)頁,為面向主題的用戶查詢準(zhǔn)備數(shù)據(jù)資源。

          二、聚焦爬蟲工作原理及關(guān)鍵技術(shù)概述
            網(wǎng)絡(luò)爬蟲是一個自動提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成。傳統(tǒng)爬蟲從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定停止條件,如圖1(a)流程圖所示。聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊列。然后,它將根據(jù)一定的搜索策略從隊列中選擇下一步要抓取的網(wǎng)頁URL,并重復(fù)上述過程,直到達(dá)到系統(tǒng)的某一條件時停止,如圖1(b)所示。另外,所有被爬蟲抓取的網(wǎng)頁將會被系統(tǒng)存貯,進(jìn)行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對于聚焦爬蟲來說,這一過程所得到的分析結(jié)果還可能對以后的抓取過程給出反饋和指導(dǎo)。

            相對于通用網(wǎng)絡(luò)爬蟲,聚焦爬蟲還需要解決三個主要問題:
            (1) 對抓取目標(biāo)的描述或定義;
            (2) 對網(wǎng)頁或數(shù)據(jù)的分析與過濾;
            (3) 對URL的搜索策略。
            抓取目標(biāo)的描述和定義是決定網(wǎng)頁分析算法與URL搜索策略如何制訂的基礎(chǔ)。而網(wǎng)頁分析算法和候選URL排序算法是決定搜索引擎所提供的服務(wù)形式和爬蟲網(wǎng)頁抓取行為的關(guān)鍵所在。這兩個部分的算法又是緊密相關(guān)的。

            2 抓取目標(biāo)描述
            現(xiàn)有聚焦爬蟲對抓取目標(biāo)的描述可分為基于目標(biāo)網(wǎng)頁特征、基于目標(biāo)數(shù)據(jù)模式和基于領(lǐng)域概念3種。
          基于目標(biāo)網(wǎng)頁特征的爬蟲所抓取、存儲并索引的對象一般為網(wǎng)站或網(wǎng)頁。根據(jù)種子樣本獲取方式可分為:
            (1) 預(yù)先給定的初始抓取種子樣本;
            (2) 預(yù)先給定的網(wǎng)頁分類目錄和與分類目錄對應(yīng)的種子樣本,如Yahoo!分類結(jié)構(gòu)等;
            (3) 通過用戶行為確定的抓取目標(biāo)樣例,分為:
                a) 用戶瀏覽過程中顯示標(biāo)注的抓取樣本;
                b) 通過用戶日志挖掘得到訪問模式及相關(guān)樣本。
            其中,網(wǎng)頁特征可以是網(wǎng)頁的內(nèi)容特征,也可以是網(wǎng)頁的鏈接結(jié)構(gòu)特征,等等。
            現(xiàn)有的聚焦爬蟲對抓取目標(biāo)的描述或定義可以分為基于目標(biāo)網(wǎng)頁特征,基于目標(biāo)數(shù)據(jù)模式和基于領(lǐng)域概念三種。
          基于目標(biāo)網(wǎng)頁特征的爬蟲所抓取、存儲并索引的對象一般為網(wǎng)站或網(wǎng)頁。具體的方法根據(jù)種子樣本的獲取方式可以分為:      

          (1)預(yù)先給定的初始抓取種子樣本;
          (2)預(yù)先給定的網(wǎng)頁分類目錄和與分類目錄對應(yīng)的種子樣本,如Yahoo!分類結(jié)構(gòu)等;
          (3)通過用戶行為確定的抓取目標(biāo)樣例。其中,網(wǎng)頁特征可以是網(wǎng)頁的內(nèi)容特征,也可以是網(wǎng)頁的鏈接結(jié)構(gòu)特征,等等。二、爬蟲技術(shù)研究綜述
          基于目標(biāo)數(shù)據(jù)模式的爬蟲針對的是網(wǎng)頁上的數(shù)據(jù),所抓取的數(shù)據(jù)一般要符合一定的模式,或者可以轉(zhuǎn)化或映射為目標(biāo)數(shù)據(jù)模式。

          另一種描述方式是建立目標(biāo)領(lǐng)域的本體或詞典,用于從語義角度分析不同特征在某一主題中的重要程度。

          三、網(wǎng)頁搜索策略
          網(wǎng)頁的抓取策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種。深度優(yōu)先在很多情況下會導(dǎo)致爬蟲的陷入(trapped)問題,目前常見的是廣度優(yōu)先和最佳優(yōu)先方法。
          3.1 廣度優(yōu)先搜索策略
          廣度優(yōu)先搜索策略是指在抓取過程中,在完成當(dāng)前層次的搜索后,才進(jìn)行下一層次的搜索。該算法的設(shè)計和實現(xiàn)相對簡單。在目前為覆蓋盡可能多的網(wǎng)頁,一般使用廣度優(yōu)先搜索方法。也有很多研究將廣度優(yōu)先搜索策略應(yīng)用于聚焦爬蟲中。其基本思想是認(rèn)為與初始URL在一定鏈接距離內(nèi)的網(wǎng)頁具有主題相關(guān)性的概率很大。另外一種方法是將廣度優(yōu)先搜索與網(wǎng)頁過濾技術(shù)結(jié)合使用,先用廣度優(yōu)先策略抓取網(wǎng)頁,再將其中無關(guān)的網(wǎng)頁過濾掉。這些方法的缺點在于,隨著抓取網(wǎng)頁的增多,大量的無關(guān)網(wǎng)頁將被下載并過濾,算法的效率將變低。

          3.2 最佳優(yōu)先搜索策略
          最佳優(yōu)先搜索策略按照一定的網(wǎng)頁分析算法,預(yù)測候選URL與目標(biāo)網(wǎng)頁的相似度,或與主題的相關(guān)性,并選取評價最好的一個或幾個URL進(jìn)行抓取。它只訪問經(jīng)過網(wǎng)頁分析算法預(yù)測為“有用”的網(wǎng)頁。存在的一個問題是,在爬蟲抓取路徑上的很多相關(guān)網(wǎng)頁可能被忽略,因為最佳優(yōu)先策略是一種局部最優(yōu)搜索算法。因此需要將最佳優(yōu)先結(jié)合具體的應(yīng)用進(jìn)行改進(jìn),以跳出局部最優(yōu)點。將在第4節(jié)中結(jié)合網(wǎng)頁分析算法作具體的討論。研究表明,這樣的閉環(huán)調(diào)整可以將無關(guān)網(wǎng)頁數(shù)量降低30%~90%。

          四、網(wǎng)頁分析算法

          網(wǎng)頁分析算法可以歸納為基于網(wǎng)絡(luò)拓?fù)洹⒒诰W(wǎng)頁內(nèi)容和基于用戶訪問行為三種類型。
          4.1 基于網(wǎng)絡(luò)拓?fù)涞姆治鏊惴í?br /> 基于網(wǎng)頁之間的鏈接,通過已知的網(wǎng)頁或數(shù)據(jù),來對與其有直接或間接鏈接關(guān)系的對象(可以是網(wǎng)頁或網(wǎng)站等)作出評價的算法。又分為網(wǎng)頁粒度、網(wǎng)站粒度和網(wǎng)頁塊粒度這三種。
          4.1.1 網(wǎng)頁(Webpage)粒度的分析算法
          PageRank和HITS算法是最常見的鏈接分析算法,兩者都是通過對網(wǎng)頁間鏈接度的遞歸和規(guī)范化計算,得到每個網(wǎng)頁的重要度評價。PageRank算法雖然考慮了用戶訪問行為的隨機性和Sink網(wǎng)頁的存在,但忽略了絕大多數(shù)用戶訪問時帶有目的性,即網(wǎng)頁和鏈接與查詢主題的相關(guān)性。針對這個問題,HITS算法提出了兩個關(guān)鍵的概念:權(quán)威型網(wǎng)頁(authority)和中心型網(wǎng)頁(hub)。

          基于鏈接的抓取的問題是相關(guān)頁面主題團之間的隧道現(xiàn)象,即很多在抓取路徑上偏離主題的網(wǎng)頁也指向目標(biāo)網(wǎng)頁,局部評價策略中斷了在當(dāng)前路徑上的抓取行為。文獻(xiàn)[21]提出了一種基于反向鏈接(BackLink)的分層式上下文模型(Context Model),用于描述指向目標(biāo)網(wǎng)頁一定物理跳數(shù)半徑內(nèi)的網(wǎng)頁拓?fù)鋱D的中心Layer0為目標(biāo)網(wǎng)頁,將網(wǎng)頁依據(jù)指向目標(biāo)網(wǎng)頁的物理跳數(shù)進(jìn)行層次劃分,從外層網(wǎng)頁指向內(nèi)層網(wǎng)頁的鏈接稱為反向鏈接。

          4.1.2 網(wǎng)站粒度的分析算法
          網(wǎng)站粒度的資源發(fā)現(xiàn)和管理策略也比網(wǎng)頁粒度的更簡單有效。網(wǎng)站粒度的爬蟲抓取的關(guān)鍵之處在于站點的劃分和站點等級(SiteRank)的計算。SiteRank的計算方法與PageRank類似,但是需要對網(wǎng)站之間的鏈接作一定程度抽象,并在一定的模型下計算鏈接的權(quán)重。
          網(wǎng)站劃分情況分為按域名劃分和按IP地址劃分兩種。文獻(xiàn)[18]討論了在分布式情況下,通過對同一個域名下不同主機、服務(wù)器的IP地址進(jìn)行站點劃分,構(gòu)造站點圖,利用類似PageRank的方法評價SiteRank。同時,根據(jù)不同文件在各個站點上的分布情況,構(gòu)造文檔圖,結(jié)合SiteRank分布式計算得到DocRank。文獻(xiàn)[18]證明,利用分布式的SiteRank計算,不僅大大降低了單機站點的算法代價,而且克服了單獨站點對整個網(wǎng)絡(luò)覆蓋率有限的缺點。附帶的一個優(yōu)點是,常見PageRank 造假難以對SiteRank進(jìn)行欺騙。
          4.1.3 網(wǎng)頁塊粒度的分析算法
          在一個頁面中,往往含有多個指向其他頁面的鏈接,這些鏈接中只有一部分是指向主題相關(guān)網(wǎng)頁的,或根據(jù)網(wǎng)頁的鏈接錨文本表明其具有較高重要性。但是,在PageRank和HITS算法中,沒有對這些鏈接作區(qū)分,因此常常給網(wǎng)頁分析帶來廣告等噪聲鏈接的干擾。在網(wǎng)頁塊級別(Blocklevel)進(jìn)行鏈接分析的算法的基本思想是通過VIPS網(wǎng)頁分割算法將網(wǎng)頁分為不同的網(wǎng)頁塊(page block),然后對這些網(wǎng)頁塊建立pagetoblock和blocktopage的鏈接矩陣,分別記為Z和X。于是,在pagetopage圖上的網(wǎng)頁塊級別的PageRank為Wp=X×Z;在blocktoblock圖上的BlockRank為Wb=Z×X。已經(jīng)有人實現(xiàn)了塊級別的PageRank和HITS算法,并通過實驗證明,效率和準(zhǔn)確率都比傳統(tǒng)的對應(yīng)算法要好。
          4.2 基于網(wǎng)頁內(nèi)容的網(wǎng)頁分析算法
          基于網(wǎng)頁內(nèi)容的分析算法指的是利用網(wǎng)頁內(nèi)容(文本、數(shù)據(jù)等資源)特征進(jìn)行的網(wǎng)頁評價。網(wǎng)頁的內(nèi)容從原來的以超文本為主,發(fā)展到后來動態(tài)頁面(或稱為Hidden Web)數(shù)據(jù)為主,后者的數(shù)據(jù)量約為直接可見頁面數(shù)據(jù)(PIW,Publicly Indexable Web)的400~500倍。另一方面,多媒體數(shù)據(jù)、Web Service等各種網(wǎng)絡(luò)資源形式也日益豐富。因此,基于網(wǎng)頁內(nèi)容的分析算法也從原來的較為單純的文本檢索方法,發(fā)展為涵蓋網(wǎng)頁數(shù)據(jù)抽取、機器學(xué)習(xí)、數(shù)據(jù)挖掘、語義理解等多種方法的綜合應(yīng)用。本節(jié)根據(jù)網(wǎng)頁數(shù)據(jù)形式的不同,將基于網(wǎng)頁內(nèi)容的分析算法,歸納以下三類:第一種針對以文本和超鏈接為主的無結(jié)構(gòu)或結(jié)構(gòu)很簡單的網(wǎng)頁;第二種針對從結(jié)構(gòu)化的數(shù)據(jù)源(如RDBMS)動態(tài)生成的頁面,其數(shù)據(jù)不能直接批量訪問;第三種針對的數(shù)據(jù)界于第一和第二類數(shù)據(jù)之間,具有較好的結(jié)構(gòu),顯示遵循一定模式或風(fēng)格,且可以直接訪問。

          posted on 2008-07-29 16:53 胖胖泡泡 閱讀(308) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 北流市| 蒲江县| 城固县| 万年县| 郸城县| 海盐县| 开阳县| 南涧| 兴和县| 安溪县| 黎平县| 永寿县| 习水县| 唐河县| 襄城县| 中超| 平南县| 斗六市| 清镇市| 滦南县| 那坡县| 家居| 麻城市| 视频| 鄱阳县| 古蔺县| 丹凤县| 正镶白旗| 武冈市| 安龙县| 白河县| 巧家县| 汶川县| 拜城县| 英吉沙县| 洪洞县| 怀来县| 灵武市| 柯坪县| 沙洋县| 新民市|