亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種可擴展、可定制的主題集中式萬維網爬蟲設置方法

文檔序號:6388355閱讀:343來源:國知局
專利名稱:一種可擴展、可定制的主題集中式萬維網爬蟲設置方法
技術領域
本發(fā)明涉及萬維網(WWW)上對網頁資源進行自動收集的機制。特別涉及對可擴展、可定制的主題集中式萬維網爬蟲設置方法。
二、技術背景萬維網爬蟲(Web Crawler)是一種在萬維網上可以對網頁資源進行自動收集的軟件。它主要應用在以下幾個方面●為搜索引擎對萬維網上的網頁資源進行索引提供網頁來源。
●協(xié)助特定用戶收集特定的網頁集。
●協(xié)助人們進行對萬維網現(xiàn)狀進行統(tǒng)計分析,等等人們的目的不同,會導致對所使用的萬維網爬蟲的要求不同。人們會有這樣的需要,即對某種主題比較關注,或者人們要獲取較大量的某領域下的萬維網信息,這種情況下,就需要有一種特定的爬蟲來滿足這種需要。
在各種爬蟲中,有一類爬蟲稱為主題集中式的萬維網爬蟲。它根據(jù)以上人們的需要而產生。它根據(jù)一個初始網頁集,利用初始網頁集中的超鏈,采取一定的策略,專門在網上爬行與初始網頁集比較相關的網頁,而對于不怎么相關的網頁,它會舍棄。
關于這類爬蟲,有關人員做了相關研究?!癋ish”系統(tǒng)是最早的“主題集中式爬蟲”之一(P.De Bra,G.Houben,et al,Information Retrieval inDistributed Hypertexts,Proceedings of the 4thRIAO Conference,pp.481-491,1994)。該系統(tǒng)采用深度優(yōu)先方法對萬維網資源進行游歷,對網頁的相關度評價采用基于關鍵字和正則表達式的方法。“Shark”[M.Hersovici,M.Jacovi,et al,The Shark-Search Algorithm-An ApplicationTailored WebSite Mapping,Proceedings of 7thInternational World Wide Web Conference,1998]搜索算法是在“Fish”基礎上的改進。這種改進表現(xiàn)在兩個方面。首先,它采用了向量空間模型來對網頁的主題的相關度進行評價,這比起“Fish”中基于關鍵字和正則表達式的方法,更有彈性;其次,“Shark”算法精化了對需要爬行的超鏈的評價,通過分析超鏈的錨文本來評價它,而不是根據(jù)包含超鏈的整個網頁來做判斷。
IBM的Soumen Chakrabati和他的同事也提出了一種“主題集中式的爬蟲”系統(tǒng)[S.Chakrabarti,M.Van Der Berg,and B.Dom,F(xiàn)ocused CrawlingA NewApproach to Topic-specific Resource Discovery,Proceeding of the 8thInternational World Wide Web Conference,1999]。這個系統(tǒng)有三個重要的部分分類器(classifier),“蒸餾器”(distiller)和爬蟲(crawler),不同的部分完成不同的工作,分別進行對網頁相關性的判定,對網頁重要性的判定,以及對隊列中網頁的下載。
以上,在Fish和Shark系統(tǒng)中,對網頁的擴展是基于相關度的,而不具備對網頁重要度的考慮。IBM提出的爬蟲系統(tǒng),綜合考慮了網頁相關度和重要度,但是在重要度的計算中,采用了一種需要進行迭代計算的HIT算法變種,有很大的時間開銷。
另一種PageRank技術,是從分析網頁超鏈結構的角度入手的。其分析方法是一個網頁,如果被若干個網頁引用,那么它的重要度就大致由那若干個網頁的重要度決定。如果一個網頁指向若干個網頁,那它就會把自己的重要度分布給那若干個網頁。這是PageRank算法的基本思想(L.Page,S.Brin,R.Motwani,and T.Winograd.The PageRank citation rankingBringing order to the web.Technical Report,Stanford University,Stanford,CA.1998)。由于PageRank需要全局的矩陣迭代,計算量比較大,一般是每隔一段爬行時間才進行的。

發(fā)明內容
本發(fā)明的目的是克服以上的不足,提出一種可擴展、可定制的主題集中式萬維網爬蟲設計方法。
我們發(fā)明了新的設計方法,可以據(jù)此設計可擴展、可定制的主題集中式萬維網爬蟲系統(tǒng)。這樣的系統(tǒng),可以兼顧對相關網頁的重要度和相關度的判斷,來決定是否采用該網頁,在效率上,它不需要對網頁集做全局的迭代運算,有較快的速度表現(xiàn)。
一種可擴展、可定制的主題集中式萬維網爬蟲系統(tǒng)設置方法,包括分析網頁的相關度和網頁擴展,以Rc(P)表示網頁與初始網頁集的相關度,利用Ra(P)可以建立這樣的預測機制,因為Ra(P)可以通過分析有超鏈指向P的網頁得到。以向量空間模型,以下述公式計算Ra(P)=Σk∈t∩pfkt·fkpΣk∈tfkt2·Σk∈pfkp2]]>其中,t表示主題的關鍵字集合,p表示指向網頁P的超鏈的錨文本及周邊的文本的關鍵字集合,f表示關鍵字在相應部分出現(xiàn)的頻率;每次網頁擴展都將會進行一次計算調整,但計算只發(fā)生在所涉及到的網頁,排序調整也可控制在未被訪問的若干網頁中;這樣得到的爬行方法我們稱之為TimelyRank(TR)。TR在每次分析網頁時進行調整,公式如下TR(p,tp)=TR(p,tp-1)+TR(d,td)其中,TR(p,t)表示網頁p在時刻tp的TimelyRank值,ti=0,1,2,…,表示網頁i的邏輯時間,每次對網頁i進行TimelyRank值計算,它的邏輯時間就增加1,ti=0時,網頁i有初始的TimelyRank值;d表示指向網頁p的網頁。
在網頁的相關度分析中,本方法采取的是預測方法,對網頁在下載前就進行評價,這樣可避免較大的網絡開銷和處理時間。預測是依據(jù)是待下載的網頁的被引用的錨文本及周圍相關的文本,分析他們與原始網頁集的相關性,采用的方法借鑒向量空間模型。
在對網頁的重要度分析中,本發(fā)明方法采用的是PageRank的簡化方法。PageRank算法和HITS方法(J.Kleinberg,Authoritative sources in ahyperlinked environment.Proceeding of 9thACM-SIAM Symposium on DiscreteAlgorithms,1998)類似,需要全局的矩陣迭代,計算量比較大,一般是每隔一段爬行時間才進行的。本方法簡化后的算法,我們稱之為TimelyRank。采用這個算法,是在每次對網頁進行擴展的時候采取一次計算調整,計算只發(fā)生在所涉及到的網頁,排序調整也可控制在未被訪問的若干網頁中。這樣的話,原有的PageRank的迭代在我們的方法中就是在對網頁擴展中無形地發(fā)生了,只不過這種迭代不是從全局出發(fā)。
本方法也考慮了對所爬行網頁深度的評價,一般的,離原始網頁集越遠,也即爬行的深度越深,那網頁的相關性就可能越低。
需要強調的是,本方法對以上的評價進行了綜合,以此對待下載的網頁進行評價。而這種綜合,可以根據(jù)應用的偏好進行調節(jié),以體現(xiàn)哪種評價需要被著重考慮。
除了在評價策略上有獨到的地方,系統(tǒng)的整體設計方法也體現(xiàn)了很大的可擴展性。對于簡單的應用,不需要爬行很多網頁資源的情況下,可以采用直接在內存中展開分析的方法,把獲得的網頁以文件的形式存放在文件系統(tǒng)上;而如果要轉到比較復雜的應用上,需要把網頁資源保存到數(shù)據(jù)庫中,并且需要對網頁進行緩存,這種情況下,只需替換掉相應的部件,就可以完成轉變。
本發(fā)明的優(yōu)點本發(fā)明所提出的設計方法,據(jù)此設計的可擴展、可定制的主題集中式萬維網爬蟲系統(tǒng),有如下的優(yōu)點■混合策略。通過混合策略,我們兼顧了擴展中需要對網頁的相關性和重要性兩方面的評價。
■可調節(jié)性。通過調整參數(shù),我們可以方便地進行策略調整,加強或減弱某種策略對擴展的影響,因此具有很強的靈活性。
■健壯性。這是混合策略帶來的好處。單一策略對網頁的評價比較片面,例如,擴展時僅考慮網頁的重要性,忽略了相關性,就容易導致主題的偏移。而混合策略下,這種片面性將被減小,這就使擴展具有比較好的健壯性。
■較小的網絡開銷。在我們系統(tǒng)中,是通過對網頁中的超鏈進行綜合評價,以決定是否擴展。因此,評價低的超鏈被優(yōu)先擴展的可能性就低了,被優(yōu)先擴展的超鏈都是評價較高的網頁。這樣就提高了網絡使用效率,減少了不必要的網絡開銷。
■較小的實現(xiàn)代價。我們沒有采用復雜的分類器,避免了采集樣本,訓練分類器的麻煩。另外,在計算網頁重要度時,我們做了簡化,盡管損失了一些精度,但是這樣避免了定期的做全局的矩陣計算,降低了實現(xiàn)難度。
■可擴展性。這是從模塊的設計角度看的。我們運用設計模式的思想,對擴展過程中的通用操作進行提煉,將它們與抽象的擴展策略分離開來。這樣,在今后就可以方便地進行其他策略的實現(xiàn),因此有很強的擴展性。


圖1為利用混合游歷策略進行網頁擴展的偽代碼描述圖2為本發(fā)明Dolphin Crawler設計框架3主題初始網頁集圖4網頁集的主題平均相關性實驗比較五具體實施方式
我們先分別從相關度、重要度方面進行說明。
分析網頁的相關度。Rc(P)表示網頁與主題(即初始網頁集)的相關度,當網頁還未下載時,Rc(P)是無法知道的;而如果將網頁下載下來對它進行相關度分析,就會增加系統(tǒng)的開銷。因為有可能下載下來的很多網頁根本就不相關,這樣就降低了系統(tǒng)的效率。因此,有必要利用一種預測機制,對網頁在下載前就進行評價。利用Ra(P)可以建立這樣的預測機制,因為Ra(P)可以通過分析有超鏈指向P的網頁得到。借鑒向量空間模型,可用如下公式來計算它Ra(P)=Σk∈t∩pfkt·fkpΣk∈tfkt2·Σk∈pfkp2]]>其中,t表示主題的關鍵字集合,p表示指向網頁P的超鏈的錨文本及周邊的文本的關鍵字集合,f表示關鍵字在相應部分出現(xiàn)的頻率。
在考慮相關度時,還有一個因素,即對所爬行網頁深度的評價,爬行深度越深,一般來說,相關的程度就越低。用Rd(P)表示這個評價。它可用如下的公式表示Rd(P)=1/d其中,d為P與“根網頁”的最近超鏈距離,當P屬于根網頁集時,則d=1。
分析網頁的重要性。在討論評價網頁的重要性前,我們先介紹一下PageRank。PageRank是從分析網頁超鏈結構的角度入手的。一個網頁,如果被若干個網頁引用,那么它的重要度就大致由那若干個網頁的重要度決定。如果一個網頁指向若干個網頁,那它就會把自己的重要度分布給那若干個網頁。
由于PageRank需要全局的矩陣迭代,計算量比較大,一般是每隔一段爬行時間才進行的。我們從提高效率的角度出發(fā),對它進行了簡化。簡化后的PageRank,我們稱之為TimelyRank(TR)。TR在每次分析網頁時進行調整,公式如下TR(p,tp)=TR(p,tp-1)+TR(d,td)其中,TR(p,t)表示網頁p在時刻tp的TimelyRank值,ti=0,1,2,…,表示網頁i的邏輯時間,每次對網頁i進行TimelyRank值計算,它的邏輯時間就增加1,ti=0時,網頁i有初始的TimelyRank值;d表示指向網頁p的網頁。
從公式可見,TR繼承了PageRank的思想,但在計算方式上做了變動。每次擴展都將會進行一次計算調整,但計算只發(fā)生在所涉及到的網頁,排序調整也可控制在未被訪問的若干網頁中。
綜合以上對網頁相關度和重要度的分析,我們設計了混合游歷策略。在該策略中,我們使用如下的公式作為選擇未訪問網頁的依據(jù)D(p,t)=α·Ra(p)+β·Rd(p)+γ·TR(p,t)其中,0<α,β,γ<1,且α+β+γ=1,作為對不同評價的權值調整。
圖1給出了利用混合游歷策略進行網頁擴展的偽代碼描述。
以上討論了可調節(jié)的爬尋網頁的綜合策略。以下主要說明在使用以上策略設計爬蟲系統(tǒng)的可擴展的體系結構。圖2即為設計框架圖。
一般的,對于一個爬蟲系統(tǒng)來說,其運作流程大體是差不多的首先獲得要擴展的URL,通過對它進行擴展,得到網頁數(shù)據(jù);然后,對網頁數(shù)據(jù)進行解析,分析出其中潛在需要擴展的超鏈和這些超鏈相關的信息(如錨文本),最后將這些超鏈存入一個庫中。我們根據(jù)爬蟲系統(tǒng)的這一特點,對流程進行了抽象,設計成爬蟲系統(tǒng)的框架。這個框架由一個具體的Crawler控制類和三個抽象的協(xié)作部分組成,這三個抽象部分是網頁拾取器(Fetcher)、網頁解析器(PageParser)、超鏈圖(URLGraph)。對于網頁拾取器、網頁解析器、以及超鏈圖三部分的設計擴展接口良好。例如,如果只需要將爬行到的網頁簡單的存放到文件系統(tǒng)上,可使用簡單的網頁拾取器,如果需要將爬行到的網頁保存到數(shù)據(jù)庫中,或者進行緩存、壓縮,則可以使用復雜的網頁拾取器;如果要個性化對網頁的分析,可以使用定制的網頁解析器替換掉現(xiàn)存的網頁解析器;如果對分析的中間結果不感興趣,且爬行量不是很大,可以使用在內存中展開分析數(shù)據(jù)的超鏈圖,這樣可以有很好的速度表現(xiàn),如果需要進行大容量的爬行,且需要對分析結果進行分析并保存,可以使用基于數(shù)據(jù)庫的超鏈圖實現(xiàn)。
網頁拾取器的任務就是根據(jù)URL獲得網頁內容,根據(jù)具體的情況,可以有不同的實現(xiàn)。比如可設計從本地數(shù)據(jù)庫緩存中獲得網頁的拾取器(DB Fetcher),也可設計從萬維網上直接獲得網頁數(shù)據(jù)的拾取器(Net Fetcher),或者混和的拾取器。
網頁解析器的任務就是對得到的網頁進行內容上的初步分析,獲得其中的超鏈及相關的信息。這允許我們可以根據(jù)需要,設計特殊的網頁解析器,如對超鏈文本距離進行加權的網頁解析器(Weighted PageParser)。
超鏈圖的任務就是負責維護解析到的超鏈的結構,并根據(jù)具體需要為Crawler提供可擴展的URL。我們可以將超鏈圖設計成使用外部存儲介質的方式,這樣方便Crawler線程在不同的主機上分布運行;我們也可以將它設計成使用內存方式,這樣允許小規(guī)模的爬行在多線程環(huán)境下快速執(zhí)行;另外,我們可以在不同的超鏈圖實現(xiàn)中采用有針對性的排序算法,以決定需要按照什么策略進行擴展。
我們設計了實驗來驗證爬蟲的有效性。在實驗中,我們主要從兩個方面對實驗結果進行了評價。一個方面是評價Crawler在維持主題相關性方面的效果;另一方面是評價Crawler對重要網頁的挖掘能力。
首先,分析Crawler在維持主題相關性方面的效果。我們參考了文獻(Filippo Menczer,Gautam Pant,et al,Evaluating Topic-Driven WebCrawler,In Proc.24th Annual Intl.ACM SIGIR Conf.on Research andDevelopment in Information Retrieval,2001)的一種方法,對主題相關性進行評價。這個方法評價網頁集隨時間變化的平均相關度,采用如下公式進行計算sim(q,S(t))=1|S(t)|Σp∈S(t)Σk∈p∩qwkqtfidfwkptfidfΣk∈p(wkptfidf)2Σk∈q(wkqtfidf)2]]>其中,q表示某個主題,它由若干個該主題下具有代表性的網頁構成;S(t)表示在時刻t為止爬行到的網頁集;wkdtfidf表示單詞k在文檔d中的tf*idf權重,它用如下公式計算wkdtfidf=fkd·(1+ln(|S|nk))]]>其中,fkd是單詞k在文檔d中出現(xiàn)的頻度;|S|是網頁集S的大??;nk是單詞k在網頁集S中出現(xiàn)的文檔頻度。
我們選擇四個主題進行了實驗,每個主題使用了3到4個網頁作為主題的初始網頁集,如并參見圖3所示。我們對每個主題進行不同策略權重的爬行,即選擇了四種不同的權重參數(shù)向量(α,β,γ),然后對爬行結果進行如上的相關度分析,并按照對應的權重參數(shù)對四個主題的結果進行了平均,以減少單個主題結果的隨機性。實驗結果如如圖所示。并參見圖3主題初始網頁集。
當α=1.0,β=0.0,γ=0.0時,根據(jù)公式,爬行的策略可以認為是錨文本預測相關度優(yōu)先;當α=0.0,β=1.0,γ=0.0時,可以認為是廣度優(yōu)先策略;當α=0.0,β=0.0,γ=1.0時,爬行的策略可以認為是鏈接度優(yōu)先;而當α=0.4,β=0.3,γ=0.3時,可以認為是綜合策略。
分析如圖。在爬行初期,廣度優(yōu)先策略對應的網頁集,它的主題相關度相對較高,綜合策略和錨文本預測相關度優(yōu)先次之,而鏈接度優(yōu)先最后。當爬行到一定程度后,廣度優(yōu)先策略對應的網頁集,它的相關度有較大的下降,鏈接度優(yōu)先也有一定的下降趨勢,綜合策略及錨文本預測相關度優(yōu)先,它們對應的網頁集相關度盡管也在下降,但下降趨勢相對比較緩慢且穩(wěn)定。如圖4網頁集的主題平均相關性實驗比較圖。
廣度優(yōu)先策略在初始時相關度效果較好,而在后期效果下降很大,這是由它的本性決定的。廣度優(yōu)先的本性,就是某段時間集中在一個站點的相關網頁上爬行,如果這個站點恰好是與主題相近的站點(這種情況一般發(fā)生在開始階段),那么,由于同一個網站所使用的詞匯都有很大相似性,因此它在這個階段生成的網頁集就有很大的相關性。而當爬蟲爬出主題網站,爬到一個不相關的網站,這時,網頁集的平均相關度呈很大的下降趨勢。
其次,分析爬蟲對重要網頁的挖掘能力。在進行此項評價前,有必要對“重要網頁”做個解釋。如果根據(jù)人們的主觀評價,來確定一個網頁是否重要,以此獲得一個重要網頁列表,這樣顯然不夠客觀。因此,我們是使用HITS算法(J.Kleinberg,Authoritative sources in a hyperlinked environment.Proceeding of 9thACM-SIAM Symposium on Discrete Algorithms,1998)來獲得重要網頁列表,該算法是通過網頁集合中的超鏈結構信息來計算網頁重要性的,因此具有一定的客觀性。合并每個主題下各個爬行策略獲得的網頁集,得到一個綜合的網頁集,對該網頁集進行HITS計算,我們就可獲得每個主題對應的重要網頁列表,作為評價爬蟲挖掘重要網頁能力的依據(jù)。好的游歷策略應該可以盡可能早地訪問到這些重要網頁;并且,在游歷過程中,應該可以盡可能多地覆蓋到這些網頁。
圖5所反映的就是不同策略對重要網頁的發(fā)現(xiàn)能力。其中可見,鏈接度優(yōu)先策略在這方面表現(xiàn)較好,綜合策略次之,錨文本預測相關度策略的表現(xiàn)更次,而廣度優(yōu)先策略的表現(xiàn)在初始階段不錯,但到后期效果較差。
權利要求
1.一種可擴展、可定制的主題集中式萬維網爬蟲系統(tǒng)設置方法,其特征是包括分析網頁的相關度和網頁擴展,以Rc(P)表示網頁與初始網頁集的相關度,利用Ra(P)可以建立這樣的預測機制,因為Ra(P)可以通過分析有超鏈指向P的網頁得到;向量空間模型,以下述公式計算Ra(P)=Σk∈t∩pfkt·fkpΣk∈tfkt2·Σk∈pfkp2]]>其中,t表示主題的關鍵字集合,p表示指向網頁P的超鏈的錨文本及周邊的文本的關鍵字集合,f表示關鍵字在相應部分出現(xiàn)的頻率;每次網頁擴展都將會進行一次計算調整,但計算只發(fā)生在所涉及到的網頁,排序調整也可控制在未被訪問的若干網頁中;這樣得到的爬行方法稱之為TimelyRank(TR);TR在每次分析網頁時進行調整,公式如下TR(p,tp)=TR(p,tp-1)+TR(d,td)其中,TR(p,t)表示網頁p在時刻tp的TimelyRank值,ti=0,1,2,...,表示網頁i的邏輯時間,每次對網頁i進行TimelyRank值計算,它的邏輯時間就增加1,ti=0時,網頁i有初始的TimelyRank值;d表示指向網頁p的網頁。
2.由權利要求1所述的可擴展、可定制的主題集中式萬維網爬蟲系統(tǒng)設置方法,其特征是對網頁相關度和重要度的分析使用如下的公式作為選擇未訪問網頁的依據(jù)D(p,t)=α·Ra(p)+β·Rd(p)+γ·TR(p,t)其中,0<α,β,γ<1,且α+β+γ=1,作為對不同評價的權值調整。
3.由權利要求1所述的可擴展、可定制的主題集中式萬維網爬蟲系統(tǒng)設置方法,其特征是系統(tǒng)可以劃分成網頁拾取器、網頁解析器、以及超鏈圖等若干部分。對于網頁拾取器、網頁解析器、以及超鏈圖三部分的設計擴展接口良好。例如,如果只需要將爬行到的網頁簡單的存放到文件系統(tǒng)上,可使用簡單的網頁拾取器,如果需要將爬行到的網頁保存到數(shù)據(jù)庫中,或者進行緩存、壓縮,則可以使用復雜的網頁拾取器;如果要個性化對網頁的分析,可以使用定制的網頁解析器替換掉現(xiàn)存的網頁解析器;如果對分析的中間結果不感興趣,且爬行量不是很大,可以使用在內存中展開分析數(shù)據(jù)的超鏈圖,這樣可以有很好的速度表現(xiàn),如果需要進行大容量的爬行,且需要對分析結果進行分析并保存,可以使用基于數(shù)據(jù)庫的超鏈圖實現(xiàn)。
全文摘要
一種可擴展、可定制的主題集中式萬維網爬蟲系統(tǒng)設置方法,包括分析網頁的相關度和網頁擴展,以R
文檔編號G06F17/30GK1564157SQ200410014399
公開日2005年1月12日 申請日期2004年3月23日 優(yōu)先權日2004年3月23日
發(fā)明者潘金貴, 王超, 丁艷 申請人:南京大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1