專利名稱:一種可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲設(shè)置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及萬維網(wǎng)(WWW)上對(duì)網(wǎng)頁資源進(jìn)行自動(dòng)收集的機(jī)制。特別涉及對(duì)可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲設(shè)置方法。
二、技術(shù)背景萬維網(wǎng)爬蟲(Web Crawler)是一種在萬維網(wǎng)上可以對(duì)網(wǎng)頁資源進(jìn)行自動(dòng)收集的軟件。它主要應(yīng)用在以下幾個(gè)方面●為搜索引擎對(duì)萬維網(wǎng)上的網(wǎng)頁資源進(jìn)行索引提供網(wǎng)頁來源。
●協(xié)助特定用戶收集特定的網(wǎng)頁集。
●協(xié)助人們進(jìn)行對(duì)萬維網(wǎng)現(xiàn)狀進(jìn)行統(tǒng)計(jì)分析,等等人們的目的不同,會(huì)導(dǎo)致對(duì)所使用的萬維網(wǎng)爬蟲的要求不同。人們會(huì)有這樣的需要,即對(duì)某種主題比較關(guān)注,或者人們要獲取較大量的某領(lǐng)域下的萬維網(wǎng)信息,這種情況下,就需要有一種特定的爬蟲來滿足這種需要。
在各種爬蟲中,有一類爬蟲稱為主題集中式的萬維網(wǎng)爬蟲。它根據(jù)以上人們的需要而產(chǎn)生。它根據(jù)一個(gè)初始網(wǎng)頁集,利用初始網(wǎng)頁集中的超鏈,采取一定的策略,專門在網(wǎng)上爬行與初始網(wǎng)頁集比較相關(guān)的網(wǎng)頁,而對(duì)于不怎么相關(guān)的網(wǎng)頁,它會(huì)舍棄。
關(guān)于這類爬蟲,有關(guān)人員做了相關(guān)研究?!癋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)先方法對(duì)萬維網(wǎng)資源進(jìn)行游歷,對(duì)網(wǎng)頁的相關(guān)度評(píng)價(jià)采用基于關(guān)鍵字和正則表達(dá)式的方法。“Shark”[M.Hersovici,M.Jacovi,et al,The Shark-Search Algorithm-An ApplicationTailored WebSite Mapping,Proceedings of 7thInternational World Wide Web Conference,1998]搜索算法是在“Fish”基礎(chǔ)上的改進(jìn)。這種改進(jìn)表現(xiàn)在兩個(gè)方面。首先,它采用了向量空間模型來對(duì)網(wǎng)頁的主題的相關(guān)度進(jìn)行評(píng)價(jià),這比起“Fish”中基于關(guān)鍵字和正則表達(dá)式的方法,更有彈性;其次,“Shark”算法精化了對(duì)需要爬行的超鏈的評(píng)價(jià),通過分析超鏈的錨文本來評(píng)價(jià)它,而不是根據(jù)包含超鏈的整個(gè)網(wǎng)頁來做判斷。
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]。這個(gè)系統(tǒng)有三個(gè)重要的部分分類器(classifier),“蒸餾器”(distiller)和爬蟲(crawler),不同的部分完成不同的工作,分別進(jìn)行對(duì)網(wǎng)頁相關(guān)性的判定,對(duì)網(wǎng)頁重要性的判定,以及對(duì)隊(duì)列中網(wǎng)頁的下載。
以上,在Fish和Shark系統(tǒng)中,對(duì)網(wǎng)頁的擴(kuò)展是基于相關(guān)度的,而不具備對(duì)網(wǎng)頁重要度的考慮。IBM提出的爬蟲系統(tǒng),綜合考慮了網(wǎng)頁相關(guān)度和重要度,但是在重要度的計(jì)算中,采用了一種需要進(jìn)行迭代計(jì)算的HIT算法變種,有很大的時(shí)間開銷。
另一種PageRank技術(shù),是從分析網(wǎng)頁超鏈結(jié)構(gòu)的角度入手的。其分析方法是一個(gè)網(wǎng)頁,如果被若干個(gè)網(wǎng)頁引用,那么它的重要度就大致由那若干個(gè)網(wǎng)頁的重要度決定。如果一個(gè)網(wǎng)頁指向若干個(gè)網(wǎng)頁,那它就會(huì)把自己的重要度分布給那若干個(gè)網(wǎng)頁。這是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需要全局的矩陣迭代,計(jì)算量比較大,一般是每隔一段爬行時(shí)間才進(jìn)行的。
發(fā)明內(nèi)容
本發(fā)明的目的是克服以上的不足,提出一種可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲設(shè)計(jì)方法。
我們發(fā)明了新的設(shè)計(jì)方法,可以據(jù)此設(shè)計(jì)可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲系統(tǒng)。這樣的系統(tǒng),可以兼顧對(duì)相關(guān)網(wǎng)頁的重要度和相關(guān)度的判斷,來決定是否采用該網(wǎng)頁,在效率上,它不需要對(duì)網(wǎng)頁集做全局的迭代運(yùn)算,有較快的速度表現(xiàn)。
一種可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲系統(tǒng)設(shè)置方法,包括分析網(wǎng)頁的相關(guān)度和網(wǎng)頁擴(kuò)展,以Rc(P)表示網(wǎng)頁與初始網(wǎng)頁集的相關(guān)度,利用Ra(P)可以建立這樣的預(yù)測(cè)機(jī)制,因?yàn)镽a(P)可以通過分析有超鏈指向P的網(wǎng)頁得到。以向量空間模型,以下述公式計(jì)算Ra(P)=Σk∈t∩pfkt·fkpΣk∈tfkt2·Σk∈pfkp2]]>其中,t表示主題的關(guān)鍵字集合,p表示指向網(wǎng)頁P(yáng)的超鏈的錨文本及周邊的文本的關(guān)鍵字集合,f表示關(guān)鍵字在相應(yīng)部分出現(xiàn)的頻率;每次網(wǎng)頁擴(kuò)展都將會(huì)進(jìn)行一次計(jì)算調(diào)整,但計(jì)算只發(fā)生在所涉及到的網(wǎng)頁,排序調(diào)整也可控制在未被訪問的若干網(wǎng)頁中;這樣得到的爬行方法我們稱之為TimelyRank(TR)。TR在每次分析網(wǎng)頁時(shí)進(jìn)行調(diào)整,公式如下TR(p,tp)=TR(p,tp-1)+TR(d,td)其中,TR(p,t)表示網(wǎng)頁p在時(shí)刻tp的TimelyRank值,ti=0,1,2,…,表示網(wǎng)頁i的邏輯時(shí)間,每次對(duì)網(wǎng)頁i進(jìn)行TimelyRank值計(jì)算,它的邏輯時(shí)間就增加1,ti=0時(shí),網(wǎng)頁i有初始的TimelyRank值;d表示指向網(wǎng)頁p的網(wǎng)頁。
在網(wǎng)頁的相關(guān)度分析中,本方法采取的是預(yù)測(cè)方法,對(duì)網(wǎng)頁在下載前就進(jìn)行評(píng)價(jià),這樣可避免較大的網(wǎng)絡(luò)開銷和處理時(shí)間。預(yù)測(cè)是依據(jù)是待下載的網(wǎng)頁的被引用的錨文本及周圍相關(guān)的文本,分析他們與原始網(wǎng)頁集的相關(guān)性,采用的方法借鑒向量空間模型。
在對(duì)網(wǎng)頁的重要度分析中,本發(fā)明方法采用的是PageRank的簡(jiǎn)化方法。PageRank算法和HITS方法(J.Kleinberg,Authoritative sources in ahyperlinked environment.Proceeding of 9thACM-SIAM Symposium on DiscreteAlgorithms,1998)類似,需要全局的矩陣迭代,計(jì)算量比較大,一般是每隔一段爬行時(shí)間才進(jìn)行的。本方法簡(jiǎn)化后的算法,我們稱之為TimelyRank。采用這個(gè)算法,是在每次對(duì)網(wǎng)頁進(jìn)行擴(kuò)展的時(shí)候采取一次計(jì)算調(diào)整,計(jì)算只發(fā)生在所涉及到的網(wǎng)頁,排序調(diào)整也可控制在未被訪問的若干網(wǎng)頁中。這樣的話,原有的PageRank的迭代在我們的方法中就是在對(duì)網(wǎng)頁擴(kuò)展中無形地發(fā)生了,只不過這種迭代不是從全局出發(fā)。
本方法也考慮了對(duì)所爬行網(wǎng)頁深度的評(píng)價(jià),一般的,離原始網(wǎng)頁集越遠(yuǎn),也即爬行的深度越深,那網(wǎng)頁的相關(guān)性就可能越低。
需要強(qiáng)調(diào)的是,本方法對(duì)以上的評(píng)價(jià)進(jìn)行了綜合,以此對(duì)待下載的網(wǎng)頁進(jìn)行評(píng)價(jià)。而這種綜合,可以根據(jù)應(yīng)用的偏好進(jìn)行調(diào)節(jié),以體現(xiàn)哪種評(píng)價(jià)需要被著重考慮。
除了在評(píng)價(jià)策略上有獨(dú)到的地方,系統(tǒng)的整體設(shè)計(jì)方法也體現(xiàn)了很大的可擴(kuò)展性。對(duì)于簡(jiǎn)單的應(yīng)用,不需要爬行很多網(wǎng)頁資源的情況下,可以采用直接在內(nèi)存中展開分析的方法,把獲得的網(wǎng)頁以文件的形式存放在文件系統(tǒng)上;而如果要轉(zhuǎn)到比較復(fù)雜的應(yīng)用上,需要把網(wǎng)頁資源保存到數(shù)據(jù)庫中,并且需要對(duì)網(wǎng)頁進(jìn)行緩存,這種情況下,只需替換掉相應(yīng)的部件,就可以完成轉(zhuǎn)變。
本發(fā)明的優(yōu)點(diǎn)本發(fā)明所提出的設(shè)計(jì)方法,據(jù)此設(shè)計(jì)的可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲系統(tǒng),有如下的優(yōu)點(diǎn)■混合策略。通過混合策略,我們兼顧了擴(kuò)展中需要對(duì)網(wǎng)頁的相關(guān)性和重要性兩方面的評(píng)價(jià)。
■可調(diào)節(jié)性。通過調(diào)整參數(shù),我們可以方便地進(jìn)行策略調(diào)整,加強(qiáng)或減弱某種策略對(duì)擴(kuò)展的影響,因此具有很強(qiáng)的靈活性。
■健壯性。這是混合策略帶來的好處。單一策略對(duì)網(wǎng)頁的評(píng)價(jià)比較片面,例如,擴(kuò)展時(shí)僅考慮網(wǎng)頁的重要性,忽略了相關(guān)性,就容易導(dǎo)致主題的偏移。而混合策略下,這種片面性將被減小,這就使擴(kuò)展具有比較好的健壯性。
■較小的網(wǎng)絡(luò)開銷。在我們系統(tǒng)中,是通過對(duì)網(wǎng)頁中的超鏈進(jìn)行綜合評(píng)價(jià),以決定是否擴(kuò)展。因此,評(píng)價(jià)低的超鏈被優(yōu)先擴(kuò)展的可能性就低了,被優(yōu)先擴(kuò)展的超鏈都是評(píng)價(jià)較高的網(wǎng)頁。這樣就提高了網(wǎng)絡(luò)使用效率,減少了不必要的網(wǎng)絡(luò)開銷。
■較小的實(shí)現(xiàn)代價(jià)。我們沒有采用復(fù)雜的分類器,避免了采集樣本,訓(xùn)練分類器的麻煩。另外,在計(jì)算網(wǎng)頁重要度時(shí),我們做了簡(jiǎn)化,盡管損失了一些精度,但是這樣避免了定期的做全局的矩陣計(jì)算,降低了實(shí)現(xiàn)難度。
■可擴(kuò)展性。這是從模塊的設(shè)計(jì)角度看的。我們運(yùn)用設(shè)計(jì)模式的思想,對(duì)擴(kuò)展過程中的通用操作進(jìn)行提煉,將它們與抽象的擴(kuò)展策略分離開來。這樣,在今后就可以方便地進(jìn)行其他策略的實(shí)現(xiàn),因此有很強(qiáng)的擴(kuò)展性。
四
圖1為利用混合游歷策略進(jìn)行網(wǎng)頁擴(kuò)展的偽代碼描述圖2為本發(fā)明Dolphin Crawler設(shè)計(jì)框架3主題初始網(wǎng)頁集圖4網(wǎng)頁集的主題平均相關(guān)性實(shí)驗(yàn)比較五具體實(shí)施方式
我們先分別從相關(guān)度、重要度方面進(jìn)行說明。
分析網(wǎng)頁的相關(guān)度。Rc(P)表示網(wǎng)頁與主題(即初始網(wǎng)頁集)的相關(guān)度,當(dāng)網(wǎng)頁還未下載時(shí),Rc(P)是無法知道的;而如果將網(wǎng)頁下載下來對(duì)它進(jìn)行相關(guān)度分析,就會(huì)增加系統(tǒng)的開銷。因?yàn)橛锌赡芟螺d下來的很多網(wǎng)頁根本就不相關(guān),這樣就降低了系統(tǒng)的效率。因此,有必要利用一種預(yù)測(cè)機(jī)制,對(duì)網(wǎng)頁在下載前就進(jìn)行評(píng)價(jià)。利用Ra(P)可以建立這樣的預(yù)測(cè)機(jī)制,因?yàn)镽a(P)可以通過分析有超鏈指向P的網(wǎng)頁得到。借鑒向量空間模型,可用如下公式來計(jì)算它Ra(P)=Σk∈t∩pfkt·fkpΣk∈tfkt2·Σk∈pfkp2]]>其中,t表示主題的關(guān)鍵字集合,p表示指向網(wǎng)頁P(yáng)的超鏈的錨文本及周邊的文本的關(guān)鍵字集合,f表示關(guān)鍵字在相應(yīng)部分出現(xiàn)的頻率。
在考慮相關(guān)度時(shí),還有一個(gè)因素,即對(duì)所爬行網(wǎng)頁深度的評(píng)價(jià),爬行深度越深,一般來說,相關(guān)的程度就越低。用Rd(P)表示這個(gè)評(píng)價(jià)。它可用如下的公式表示Rd(P)=1/d其中,d為P與“根網(wǎng)頁”的最近超鏈距離,當(dāng)P屬于根網(wǎng)頁集時(shí),則d=1。
分析網(wǎng)頁的重要性。在討論評(píng)價(jià)網(wǎng)頁的重要性前,我們先介紹一下PageRank。PageRank是從分析網(wǎng)頁超鏈結(jié)構(gòu)的角度入手的。一個(gè)網(wǎng)頁,如果被若干個(gè)網(wǎng)頁引用,那么它的重要度就大致由那若干個(gè)網(wǎng)頁的重要度決定。如果一個(gè)網(wǎng)頁指向若干個(gè)網(wǎng)頁,那它就會(huì)把自己的重要度分布給那若干個(gè)網(wǎng)頁。
由于PageRank需要全局的矩陣迭代,計(jì)算量比較大,一般是每隔一段爬行時(shí)間才進(jìn)行的。我們從提高效率的角度出發(fā),對(duì)它進(jìn)行了簡(jiǎn)化。簡(jiǎn)化后的PageRank,我們稱之為TimelyRank(TR)。TR在每次分析網(wǎng)頁時(shí)進(jìn)行調(diào)整,公式如下TR(p,tp)=TR(p,tp-1)+TR(d,td)其中,TR(p,t)表示網(wǎng)頁p在時(shí)刻tp的TimelyRank值,ti=0,1,2,…,表示網(wǎng)頁i的邏輯時(shí)間,每次對(duì)網(wǎng)頁i進(jìn)行TimelyRank值計(jì)算,它的邏輯時(shí)間就增加1,ti=0時(shí),網(wǎng)頁i有初始的TimelyRank值;d表示指向網(wǎng)頁p的網(wǎng)頁。
從公式可見,TR繼承了PageRank的思想,但在計(jì)算方式上做了變動(dòng)。每次擴(kuò)展都將會(huì)進(jìn)行一次計(jì)算調(diào)整,但計(jì)算只發(fā)生在所涉及到的網(wǎng)頁,排序調(diào)整也可控制在未被訪問的若干網(wǎng)頁中。
綜合以上對(duì)網(wǎng)頁相關(guān)度和重要度的分析,我們?cè)O(shè)計(jì)了混合游歷策略。在該策略中,我們使用如下的公式作為選擇未訪問網(wǎng)頁的依據(jù)D(p,t)=α·Ra(p)+β·Rd(p)+γ·TR(p,t)其中,0<α,β,γ<1,且α+β+γ=1,作為對(duì)不同評(píng)價(jià)的權(quán)值調(diào)整。
圖1給出了利用混合游歷策略進(jìn)行網(wǎng)頁擴(kuò)展的偽代碼描述。
以上討論了可調(diào)節(jié)的爬尋網(wǎng)頁的綜合策略。以下主要說明在使用以上策略設(shè)計(jì)爬蟲系統(tǒng)的可擴(kuò)展的體系結(jié)構(gòu)。圖2即為設(shè)計(jì)框架圖。
一般的,對(duì)于一個(gè)爬蟲系統(tǒng)來說,其運(yùn)作流程大體是差不多的首先獲得要擴(kuò)展的URL,通過對(duì)它進(jìn)行擴(kuò)展,得到網(wǎng)頁數(shù)據(jù);然后,對(duì)網(wǎng)頁數(shù)據(jù)進(jìn)行解析,分析出其中潛在需要擴(kuò)展的超鏈和這些超鏈相關(guān)的信息(如錨文本),最后將這些超鏈存入一個(gè)庫中。我們根據(jù)爬蟲系統(tǒng)的這一特點(diǎn),對(duì)流程進(jìn)行了抽象,設(shè)計(jì)成爬蟲系統(tǒng)的框架。這個(gè)框架由一個(gè)具體的Crawler控制類和三個(gè)抽象的協(xié)作部分組成,這三個(gè)抽象部分是網(wǎng)頁拾取器(Fetcher)、網(wǎng)頁解析器(PageParser)、超鏈圖(URLGraph)。對(duì)于網(wǎng)頁拾取器、網(wǎng)頁解析器、以及超鏈圖三部分的設(shè)計(jì)擴(kuò)展接口良好。例如,如果只需要將爬行到的網(wǎng)頁簡(jiǎn)單的存放到文件系統(tǒng)上,可使用簡(jiǎn)單的網(wǎng)頁拾取器,如果需要將爬行到的網(wǎng)頁保存到數(shù)據(jù)庫中,或者進(jìn)行緩存、壓縮,則可以使用復(fù)雜的網(wǎng)頁拾取器;如果要個(gè)性化對(duì)網(wǎng)頁的分析,可以使用定制的網(wǎng)頁解析器替換掉現(xiàn)存的網(wǎng)頁解析器;如果對(duì)分析的中間結(jié)果不感興趣,且爬行量不是很大,可以使用在內(nèi)存中展開分析數(shù)據(jù)的超鏈圖,這樣可以有很好的速度表現(xiàn),如果需要進(jìn)行大容量的爬行,且需要對(duì)分析結(jié)果進(jìn)行分析并保存,可以使用基于數(shù)據(jù)庫的超鏈圖實(shí)現(xiàn)。
網(wǎng)頁拾取器的任務(wù)就是根據(jù)URL獲得網(wǎng)頁內(nèi)容,根據(jù)具體的情況,可以有不同的實(shí)現(xiàn)。比如可設(shè)計(jì)從本地?cái)?shù)據(jù)庫緩存中獲得網(wǎng)頁的拾取器(DB Fetcher),也可設(shè)計(jì)從萬維網(wǎng)上直接獲得網(wǎng)頁數(shù)據(jù)的拾取器(Net Fetcher),或者混和的拾取器。
網(wǎng)頁解析器的任務(wù)就是對(duì)得到的網(wǎng)頁進(jìn)行內(nèi)容上的初步分析,獲得其中的超鏈及相關(guān)的信息。這允許我們可以根據(jù)需要,設(shè)計(jì)特殊的網(wǎng)頁解析器,如對(duì)超鏈文本距離進(jìn)行加權(quán)的網(wǎng)頁解析器(Weighted PageParser)。
超鏈圖的任務(wù)就是負(fù)責(zé)維護(hù)解析到的超鏈的結(jié)構(gòu),并根據(jù)具體需要為Crawler提供可擴(kuò)展的URL。我們可以將超鏈圖設(shè)計(jì)成使用外部存儲(chǔ)介質(zhì)的方式,這樣方便Crawler線程在不同的主機(jī)上分布運(yùn)行;我們也可以將它設(shè)計(jì)成使用內(nèi)存方式,這樣允許小規(guī)模的爬行在多線程環(huán)境下快速執(zhí)行;另外,我們可以在不同的超鏈圖實(shí)現(xiàn)中采用有針對(duì)性的排序算法,以決定需要按照什么策略進(jìn)行擴(kuò)展。
我們?cè)O(shè)計(jì)了實(shí)驗(yàn)來驗(yàn)證爬蟲的有效性。在實(shí)驗(yàn)中,我們主要從兩個(gè)方面對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了評(píng)價(jià)。一個(gè)方面是評(píng)價(jià)Crawler在維持主題相關(guān)性方面的效果;另一方面是評(píng)價(jià)Crawler對(duì)重要網(wǎng)頁的挖掘能力。
首先,分析Crawler在維持主題相關(guān)性方面的效果。我們參考了文獻(xiàn)(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)的一種方法,對(duì)主題相關(guān)性進(jìn)行評(píng)價(jià)。這個(gè)方法評(píng)價(jià)網(wǎng)頁集隨時(shí)間變化的平均相關(guān)度,采用如下公式進(jìn)行計(jì)算sim(q,S(t))=1|S(t)|Σp∈S(t)Σk∈p∩qwkqtfidfwkptfidfΣk∈p(wkptfidf)2Σk∈q(wkqtfidf)2]]>其中,q表示某個(gè)主題,它由若干個(gè)該主題下具有代表性的網(wǎng)頁構(gòu)成;S(t)表示在時(shí)刻t為止爬行到的網(wǎng)頁集;wkdtfidf表示單詞k在文檔d中的tf*idf權(quán)重,它用如下公式計(jì)算wkdtfidf=fkd·(1+ln(|S|nk))]]>其中,fkd是單詞k在文檔d中出現(xiàn)的頻度;|S|是網(wǎng)頁集S的大??;nk是單詞k在網(wǎng)頁集S中出現(xiàn)的文檔頻度。
我們選擇四個(gè)主題進(jìn)行了實(shí)驗(yàn),每個(gè)主題使用了3到4個(gè)網(wǎng)頁作為主題的初始網(wǎng)頁集,如并參見圖3所示。我們對(duì)每個(gè)主題進(jìn)行不同策略權(quán)重的爬行,即選擇了四種不同的權(quán)重參數(shù)向量(α,β,γ),然后對(duì)爬行結(jié)果進(jìn)行如上的相關(guān)度分析,并按照對(duì)應(yīng)的權(quán)重參數(shù)對(duì)四個(gè)主題的結(jié)果進(jìn)行了平均,以減少單個(gè)主題結(jié)果的隨機(jī)性。實(shí)驗(yàn)結(jié)果如如圖所示。并參見圖3主題初始網(wǎng)頁集。
當(dāng)α=1.0,β=0.0,γ=0.0時(shí),根據(jù)公式,爬行的策略可以認(rèn)為是錨文本預(yù)測(cè)相關(guān)度優(yōu)先;當(dāng)α=0.0,β=1.0,γ=0.0時(shí),可以認(rèn)為是廣度優(yōu)先策略;當(dāng)α=0.0,β=0.0,γ=1.0時(shí),爬行的策略可以認(rèn)為是鏈接度優(yōu)先;而當(dāng)α=0.4,β=0.3,γ=0.3時(shí),可以認(rèn)為是綜合策略。
分析如圖。在爬行初期,廣度優(yōu)先策略對(duì)應(yīng)的網(wǎng)頁集,它的主題相關(guān)度相對(duì)較高,綜合策略和錨文本預(yù)測(cè)相關(guān)度優(yōu)先次之,而鏈接度優(yōu)先最后。當(dāng)爬行到一定程度后,廣度優(yōu)先策略對(duì)應(yīng)的網(wǎng)頁集,它的相關(guān)度有較大的下降,鏈接度優(yōu)先也有一定的下降趨勢(shì),綜合策略及錨文本預(yù)測(cè)相關(guān)度優(yōu)先,它們對(duì)應(yīng)的網(wǎng)頁集相關(guān)度盡管也在下降,但下降趨勢(shì)相對(duì)比較緩慢且穩(wěn)定。如圖4網(wǎng)頁集的主題平均相關(guān)性實(shí)驗(yàn)比較圖。
廣度優(yōu)先策略在初始時(shí)相關(guān)度效果較好,而在后期效果下降很大,這是由它的本性決定的。廣度優(yōu)先的本性,就是某段時(shí)間集中在一個(gè)站點(diǎn)的相關(guān)網(wǎng)頁上爬行,如果這個(gè)站點(diǎn)恰好是與主題相近的站點(diǎn)(這種情況一般發(fā)生在開始階段),那么,由于同一個(gè)網(wǎng)站所使用的詞匯都有很大相似性,因此它在這個(gè)階段生成的網(wǎng)頁集就有很大的相關(guān)性。而當(dāng)爬蟲爬出主題網(wǎng)站,爬到一個(gè)不相關(guān)的網(wǎng)站,這時(shí),網(wǎng)頁集的平均相關(guān)度呈很大的下降趨勢(shì)。
其次,分析爬蟲對(duì)重要網(wǎng)頁的挖掘能力。在進(jìn)行此項(xiàng)評(píng)價(jià)前,有必要對(duì)“重要網(wǎng)頁”做個(gè)解釋。如果根據(jù)人們的主觀評(píng)價(jià),來確定一個(gè)網(wǎng)頁是否重要,以此獲得一個(gè)重要網(wǎng)頁列表,這樣顯然不夠客觀。因此,我們是使用HITS算法(J.Kleinberg,Authoritative sources in a hyperlinked environment.Proceeding of 9thACM-SIAM Symposium on Discrete Algorithms,1998)來獲得重要網(wǎng)頁列表,該算法是通過網(wǎng)頁集合中的超鏈結(jié)構(gòu)信息來計(jì)算網(wǎng)頁重要性的,因此具有一定的客觀性。合并每個(gè)主題下各個(gè)爬行策略獲得的網(wǎng)頁集,得到一個(gè)綜合的網(wǎng)頁集,對(duì)該網(wǎng)頁集進(jìn)行HITS計(jì)算,我們就可獲得每個(gè)主題對(duì)應(yīng)的重要網(wǎng)頁列表,作為評(píng)價(jià)爬蟲挖掘重要網(wǎng)頁能力的依據(jù)。好的游歷策略應(yīng)該可以盡可能早地訪問到這些重要網(wǎng)頁;并且,在游歷過程中,應(yīng)該可以盡可能多地覆蓋到這些網(wǎng)頁。
圖5所反映的就是不同策略對(duì)重要網(wǎng)頁的發(fā)現(xiàn)能力。其中可見,鏈接度優(yōu)先策略在這方面表現(xiàn)較好,綜合策略次之,錨文本預(yù)測(cè)相關(guān)度策略的表現(xiàn)更次,而廣度優(yōu)先策略的表現(xiàn)在初始階段不錯(cuò),但到后期效果較差。
權(quán)利要求
1.一種可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲系統(tǒng)設(shè)置方法,其特征是包括分析網(wǎng)頁的相關(guān)度和網(wǎng)頁擴(kuò)展,以Rc(P)表示網(wǎng)頁與初始網(wǎng)頁集的相關(guān)度,利用Ra(P)可以建立這樣的預(yù)測(cè)機(jī)制,因?yàn)镽a(P)可以通過分析有超鏈指向P的網(wǎng)頁得到;向量空間模型,以下述公式計(jì)算Ra(P)=Σk∈t∩pfkt·fkpΣk∈tfkt2·Σk∈pfkp2]]>其中,t表示主題的關(guān)鍵字集合,p表示指向網(wǎng)頁P(yáng)的超鏈的錨文本及周邊的文本的關(guān)鍵字集合,f表示關(guān)鍵字在相應(yīng)部分出現(xiàn)的頻率;每次網(wǎng)頁擴(kuò)展都將會(huì)進(jìn)行一次計(jì)算調(diào)整,但計(jì)算只發(fā)生在所涉及到的網(wǎng)頁,排序調(diào)整也可控制在未被訪問的若干網(wǎng)頁中;這樣得到的爬行方法稱之為TimelyRank(TR);TR在每次分析網(wǎng)頁時(shí)進(jìn)行調(diào)整,公式如下TR(p,tp)=TR(p,tp-1)+TR(d,td)其中,TR(p,t)表示網(wǎng)頁p在時(shí)刻tp的TimelyRank值,ti=0,1,2,...,表示網(wǎng)頁i的邏輯時(shí)間,每次對(duì)網(wǎng)頁i進(jìn)行TimelyRank值計(jì)算,它的邏輯時(shí)間就增加1,ti=0時(shí),網(wǎng)頁i有初始的TimelyRank值;d表示指向網(wǎng)頁p的網(wǎng)頁。
2.由權(quán)利要求1所述的可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲系統(tǒng)設(shè)置方法,其特征是對(duì)網(wǎng)頁相關(guān)度和重要度的分析使用如下的公式作為選擇未訪問網(wǎng)頁的依據(jù)D(p,t)=α·Ra(p)+β·Rd(p)+γ·TR(p,t)其中,0<α,β,γ<1,且α+β+γ=1,作為對(duì)不同評(píng)價(jià)的權(quán)值調(diào)整。
3.由權(quán)利要求1所述的可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲系統(tǒng)設(shè)置方法,其特征是系統(tǒng)可以劃分成網(wǎng)頁拾取器、網(wǎng)頁解析器、以及超鏈圖等若干部分。對(duì)于網(wǎng)頁拾取器、網(wǎng)頁解析器、以及超鏈圖三部分的設(shè)計(jì)擴(kuò)展接口良好。例如,如果只需要將爬行到的網(wǎng)頁簡(jiǎn)單的存放到文件系統(tǒng)上,可使用簡(jiǎn)單的網(wǎng)頁拾取器,如果需要將爬行到的網(wǎng)頁保存到數(shù)據(jù)庫中,或者進(jìn)行緩存、壓縮,則可以使用復(fù)雜的網(wǎng)頁拾取器;如果要個(gè)性化對(duì)網(wǎng)頁的分析,可以使用定制的網(wǎng)頁解析器替換掉現(xiàn)存的網(wǎng)頁解析器;如果對(duì)分析的中間結(jié)果不感興趣,且爬行量不是很大,可以使用在內(nèi)存中展開分析數(shù)據(jù)的超鏈圖,這樣可以有很好的速度表現(xiàn),如果需要進(jìn)行大容量的爬行,且需要對(duì)分析結(jié)果進(jìn)行分析并保存,可以使用基于數(shù)據(jù)庫的超鏈圖實(shí)現(xiàn)。
全文摘要
一種可擴(kuò)展、可定制的主題集中式萬維網(wǎng)爬蟲系統(tǒng)設(shè)置方法,包括分析網(wǎng)頁的相關(guān)度和網(wǎng)頁擴(kuò)展,以R
文檔編號(hào)G06F17/30GK1564157SQ200410014399
公開日2005年1月12日 申請(qǐng)日期2004年3月23日 優(yōu)先權(quán)日2004年3月23日
發(fā)明者潘金貴, 王超, 丁艷 申請(qǐng)人:南京大學(xué)