WEB超链分析算法纵览
生活随笔
收集整理的這篇文章主要介紹了
WEB超链分析算法纵览
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
| WEB超鏈分析算法縱覽 | ||
| 萬維網(wǎng)WWW(World Wide Web)是一個巨大的,分布全球的信息服務(wù)中心,正在以飛快的速度擴展。1998年WWW上擁有約3.5億個文檔[14],每天增加約1百萬的文檔[6],不到9個月的時間文檔總數(shù)就會翻一番[14]。WEB上的文檔和傳統(tǒng)的文檔比較,有很多新的特點,它們是分布的,異構(gòu)的,無結(jié)構(gòu)或者半結(jié)構(gòu)的,這就對傳統(tǒng)信息檢索技術(shù)提出了新的挑戰(zhàn)。 傳統(tǒng)的WEB搜索引擎大多數(shù)是基于關(guān)鍵字匹配的,返回的結(jié)果是包含查詢項的文檔,也有基于目錄分類的搜索引擎。這些搜索引擎的結(jié)果并不令人滿意。有些站點有意提高關(guān)鍵字出現(xiàn)的頻率來提高自身在搜索引擎中的重要性,破壞搜索引擎結(jié)果的客觀性和準確性。另外,有些重要的網(wǎng)頁并不包含查詢項。搜索引擎的分類目錄也不可能把所有的分類考慮全面,并且目錄大多靠人工維護,主觀性強,費用高,更新速度慢[2]。 最近幾年,許多研究者發(fā)現(xiàn),WWW上超鏈結(jié)構(gòu)是個非常豐富和重要的資源,如果能夠充分利用的話,可以極大的提高檢索結(jié)果的質(zhì)量。基于這種超鏈分析的思想,Sergey Brin和Lawrence Page在1998年提出了PageRank算法[1] ,同年J. Kleinberg提出了HITS算法[5],其它一些學(xué)者也相繼提出了另外的鏈接分析算法,如SALSA,PHITS,Bayesian等算法。這些算法有的已經(jīng)在實際的系統(tǒng)中實現(xiàn)和使用,并且取得了良好的效果。 文章的第2部分按照時間順序詳細剖析了各種鏈接分析算法,對不同的算法進行了比較。第3部分對這些算法做了評價和總結(jié),指出了存在的問題和改進方向。 2.WEB超鏈分析算法 2.1 Google和PageRank算法 搜索引擎Google最初是斯坦福大學(xué)的博士研究生Sergey Brin和Lawrence Page實現(xiàn)的一個原型系統(tǒng)[2],現(xiàn)在已經(jīng)發(fā)展成為WWW上最好的搜索引擎之一。Google的體系結(jié)構(gòu)類似于傳統(tǒng)的搜索引擎,它與傳統(tǒng)的搜索引擎最大的不同處在于對網(wǎng)頁進行了基于權(quán)威值的排序處理,使最重要的網(wǎng)頁出現(xiàn)在結(jié)果的最前面。Google通過PageRank元算法計算出網(wǎng)頁的PageRank值,從而決定網(wǎng)頁在結(jié)果集中的出現(xiàn)位置,PageRank值越高的網(wǎng)頁,在結(jié)果中出現(xiàn)的位置越前。 2.1.1 PageRank算法 PageRank算法基于下面2個前提: 前提1:一個網(wǎng)頁被多次引用,則它可能是很重要的;一個網(wǎng)頁雖然沒有被多次引用,但是被重要的網(wǎng)頁引用,則它也可能是很重要的;一個網(wǎng)頁的重要性被平均的傳遞到它所引用的網(wǎng)頁。這種重要的網(wǎng)頁稱為權(quán)威(Authoritive)網(wǎng)頁。 前提2:假定用戶一開始隨機的訪問網(wǎng)頁集合中的一個網(wǎng)頁,以后跟隨網(wǎng)頁的向外鏈接向前瀏覽網(wǎng)頁,不回退瀏覽,瀏覽下一個網(wǎng)頁的概率就是被瀏覽網(wǎng)頁的PageRank值。 簡單PageRank算法描述如下:u是一個網(wǎng)頁,是u指向的網(wǎng)頁集合,是指向u的網(wǎng)頁集合,是u指向外的鏈接數(shù),顯然=| | ,c是一個用于規(guī)范化的因子(Google通常取0.85),(這種表示法也適用于以后介紹的算法)則u的Rank值計算如下: 這就是算法的形式化描述,也可以用矩陣來描述此算法,設(shè)A為一個方陣,行和列對應(yīng)網(wǎng)頁集的網(wǎng)頁。如果網(wǎng)頁i有指向網(wǎng)頁j的一個鏈接,則,否則=0。設(shè)V是對應(yīng)網(wǎng)頁集的一個向量,有V=cAV,V為A的特征根為c的特征向量。實際上,只需要求出最大特征根的特征向量,就是網(wǎng)頁集對應(yīng)的最終PageRank值,這可以用迭代方法計算。 如果有2個相互指向的網(wǎng)頁a,b,他們不指向其它任何網(wǎng)頁,另外有某個網(wǎng)頁c,指向a,b中的某一個,比如a,那么在迭代計算中,a,b的rank值不分布出去而不斷的累計。如下圖: 為了解決這個問題,Sergey Brin和Lawrence Page改進了算法,引入了衰退因子E(u),E(U)是對應(yīng)網(wǎng)頁集的某一向量,對應(yīng)rank的初始值,算法改進如下: 其中,=1,對應(yīng)的矩陣形式為V’=c(AV’+E)。 另外還有一些特殊的鏈接,指向的網(wǎng)頁沒有向外的鏈接。PageRank計算時,把這種鏈接首先除去,等計算完以后再加入,這對原來計算出的網(wǎng)頁的rank值影響是很小的。 Pagerank算法除了對搜索結(jié)果進行排序外,還可以應(yīng)用到其它方面,如估算網(wǎng)絡(luò)流量,向后鏈接的預(yù)測器,為用戶導(dǎo)航等[2]。 2.1.2 算法的一些問題 Google是結(jié)合文本的方法來實現(xiàn)PageRank算法的[2],所以只返回包含查詢項的網(wǎng)頁,然后根據(jù)網(wǎng)頁的rank值對搜索到的結(jié)果進行排序,把rank值最高的網(wǎng)頁放置到最前面,但是如果最重要的網(wǎng)頁不在結(jié)果網(wǎng)頁集中,PageRank算法就無能為力了,比如在 Google中查詢search engines,像Google,Yahoo,Altivisa等都是很重要的,但是Google返回的結(jié)果中這些網(wǎng)頁并沒有出現(xiàn)。 同樣的查詢例子也可以說明另外一個問題,Google,Yahoo是WWW上最受歡迎的網(wǎng)頁,如果出現(xiàn)在查詢項car的結(jié)果集中,一定會有很多網(wǎng)頁指向它們,就會得到較高的rank值, 事實上他們與car不太相關(guān)。 在PageRank算法的基礎(chǔ)上,其它的研究者提出了改進的PageRank算法。華盛頓大學(xué)計算機科學(xué)與工程系的Matthew Richardson和Pedro Dominggos提出了結(jié)合鏈接和內(nèi)容信息的PageRank算法,去除了PageRank算法需要的前提2,增加考慮了用戶從一個網(wǎng)頁直接跳轉(zhuǎn)到非直接相鄰的但是內(nèi)容相關(guān)的另外一個網(wǎng)頁的情況[3]。斯坦大學(xué)計算機科學(xué)系Taher Haveliwala提出了主題敏感(Topic-sensitive)PageRank算法[4]。斯坦福大學(xué)計算機科學(xué)系A(chǔ)rvind Arasu等經(jīng)過試驗表明,PageRank算法計算效率還可以得到很大的提高[22]。 2.2 HITS算法及其變種 PageRank算法中對于向外鏈接的權(quán)值貢獻是平均的,也就是不考慮不同鏈接的重要性。而WEB的鏈接具有以下特征: 1.有些鏈接具有注釋性,也有些鏈接是起導(dǎo)航或廣告作用。有注釋性的鏈接才用于權(quán)威判斷。 2.基于商業(yè)或競爭因素考慮,很少有WEB網(wǎng)頁指向其競爭領(lǐng)域的權(quán)威網(wǎng)頁。 3.權(quán)威網(wǎng)頁很少具有顯式的描述,比如Google主頁不會明確給出WEB搜索引擎之類的描述信息。 可見平均的分布權(quán)值不符合鏈接的實際情況[17]。J. Kleinberg[5]提出的HITS算法中引入了另外一種網(wǎng)頁,稱為Hub網(wǎng)頁,Hub網(wǎng)頁是提供指向權(quán)威網(wǎng)頁鏈接集合的WEB網(wǎng)頁,它本身可能并不重要,或者說沒有幾個網(wǎng)頁指向它,但是Hub網(wǎng)頁確提供了指向就某個主題而言最為重要的站點的鏈接集合,比一個課程主頁上的推薦參考文獻列表。一般來說,好的Hub網(wǎng)頁指向許多好的權(quán)威網(wǎng)頁;好的權(quán)威網(wǎng)頁是有許多好的Hub網(wǎng)頁指向的WEB網(wǎng)頁。這種Hub與Authoritive網(wǎng)頁之間的相互加強關(guān)系,可用于權(quán)威網(wǎng)頁的發(fā)現(xiàn)和WEB結(jié)構(gòu)和資源的自動發(fā)現(xiàn),這就是Hub/Authority方法的基本思想。 2.2.1 HITS算法 HITS(Hyperlink-Induced Topic Search)算法是利用Hub/Authority方法的搜索方法,算法如下:將查詢q提交給傳統(tǒng)的基于關(guān)鍵字匹配的搜索引擎.搜索引擎返回很多網(wǎng)頁,從中取前n個網(wǎng)頁作為根集(root set),用S表示。S滿足如下3個條件: 1.S中網(wǎng)頁數(shù)量相對較小 2.S中網(wǎng)頁大多數(shù)是與查詢q相關(guān)的網(wǎng)頁 3.S中網(wǎng)頁包含較多的權(quán)威網(wǎng)頁。 通過向S中加入被S引用的網(wǎng)頁和引用S的網(wǎng)頁將S擴展成一個更大的集合T. 以T中的Hub網(wǎng)頁為頂點集Vl,以權(quán)威網(wǎng)頁為頂點集V2,Vl中的網(wǎng)頁到V2中的網(wǎng)頁的超鏈接為邊集E,形成一個二分有向圖SG=(V1,V2,E)。對V1中的任一個頂點v,用h(v)表示網(wǎng)頁v的Hub值,對V2中的頂點u,用a(u)表示網(wǎng)頁的Authority值。開始時h(v)=a(u)=1,對u執(zhí)行I操作修改它的a(u),對v執(zhí)行O操作修改它的h(v),然后規(guī)范化a(u),h(v),如此不斷的重復(fù)計算下面的操作I,O,直到a(u),h(v)收斂。(證明此算法收斂可見) I 操作: (1) O操作: (2) 每次迭代后需要對a(u),h(v)進行規(guī)范化處理: 式(1)反映了若一個網(wǎng)頁由很多好的Hub指向,則其權(quán)威值會相應(yīng)增加(即權(quán)威值增加為所有指向它的網(wǎng)頁的現(xiàn)有Hub值之和)。式(2)反映了若一個網(wǎng)頁指向許多好的權(quán)威頁,則Hub值也會相應(yīng)增加(即Hub值增加為該網(wǎng)頁鏈接的所有網(wǎng)頁的權(quán)威值之和)。 和PageRank算法一樣,可以用矩陣形式來描述算法,這里省略不寫。 HITS算法輸出一組具有較大Hub值的網(wǎng)頁和具有較大權(quán)威值的網(wǎng)頁。 2.2.2 HITS的問題 HITS算法有以下幾個問題: 1.實際應(yīng)用中,由S生成T的時間開銷是很昂貴的,需要下載和分析S中每個網(wǎng)頁包含的所有鏈接,并且排除重復(fù)的鏈接。一般T比S大很多,由T生成有向圖也很耗時。需要分別計算網(wǎng)頁的A/H值,計算量比PageRank算法大。 2.有些時候,一主機A上的很多文檔可能指向另外一臺主機B上的某個文檔,這就增加了A上文檔的Hub值和B上文檔的Authority,相反的情況也如此。HITS是假定某一文檔的權(quán)威值是由不同的單個組織或者個人決定的,上述情況影響了A和B上文檔的Hub和Authority值[7]。 3.網(wǎng)頁中一些無關(guān)的鏈接影響A,H值的計算。在制作網(wǎng)頁的時候,有些開發(fā)工具會自動的在網(wǎng)頁上加入一些鏈接,這些鏈接大多是與查詢主題無關(guān)的。同一個站點內(nèi)的鏈接目的是為用戶提供導(dǎo)航幫助,也與查詢主題不甚無關(guān),還有一些商業(yè)廣告,贊助商和用于友情交換的鏈接,也會降低HITS算法的精度[8]。 4.HITS算法只計算主特征向量,也就是只能發(fā)現(xiàn)T集合中的主社區(qū)(Community),忽略了其它重要的社區(qū)[12]。事實上,其它社區(qū)可能也非常重要。 5.HITS算法最大的弱點是處理不好主題漂移問題(topic drift)[7,8],也就是緊密鏈接TKC(Tightly-Knit Community Effect)現(xiàn)象[8]。如果在集合T中有少數(shù)與查詢主題無關(guān)的網(wǎng)頁,但是他們是緊密鏈接的,HITS算法的結(jié)果可能就是這些網(wǎng)頁,因為HITS只能發(fā)現(xiàn)主社區(qū),從而偏離了原來的查詢主題。下面討論的SALSA算法中解決了TKC問題。 6.用HITS進行窄主題查詢時,可能產(chǎn)生主題泛化問題[5,9],即擴展以后引入了比原來主題更重要的新的主題,新的主題可能與原始查詢無關(guān)。泛化的原因是因為網(wǎng)頁中包含不同主題的向外鏈接,而且新主題的鏈接具有更加的重要性。 2.2.3 HITS的變種 HITS算法遇到的問題,大多是因為HITS是純粹的基于鏈接分析的算法,沒有考慮文本內(nèi)容,繼J. Kleinberg提出HITS算法以后,很多研究者對HITS進行了改進,提出了許多HITS的變種算法,主要有: 2.2.3.1 Monika R. Henzinger和Krishna Bharat對HITS的改進 對于上述提到的HITS遇到的第2個問題,Monika R. Henzinger和Krishna Bharat在[7]中進行了改進。假定主機A上有k個網(wǎng)頁指向主機B上的某個文檔d,則A上的k個文檔對B的Authority貢獻值總共為1,每個文檔貢獻1/k,而不是HITS中的每個文檔貢獻1,總共貢獻k。類似的,對于Hub值,假定主機A上某個文檔t指向主機B上的m個文檔,則B上m個文檔對t的Hub值總共貢獻1,每個文檔貢獻1/m。I,O操作改為如下 I 操作: O操作: 調(diào)整后的算法有效的解決了問題2,稱之為imp算法。 在這基礎(chǔ)上,Monika R. Henzinger和Krishna Bharat還引入了傳統(tǒng)信息檢索的內(nèi)容分析技術(shù)來解決4和5,實際上也同時解決了問題3。具體方法如下,提取根集S中的每個文檔的前1000個詞語,串連起來作為查詢主題Q,文檔Dj和主題Q的相似度按如下公式計算: ,,=項i在查詢Q中的出現(xiàn)次數(shù), =項i在文檔Dj中的出現(xiàn)次數(shù),IDFi是WWW上包含項i的文檔數(shù)目的估計值。 在S擴展到T后,計算每個文檔的主題相似度,根據(jù)不同的閾值(threshold)進行刷選,可以選擇所有文檔相似度的中值,根集文檔相似度的中值,最大文檔相似度的分數(shù),如1/10,作為閾值。根據(jù)不同閾值進行處理,刪除不滿足條件的文檔,再運行imp算法計算文檔的A/H值,這些算法分別稱為med,startmed,maxby10。 在此改進的算法中,計算文檔的相似度時間開銷會很大。 2.2.3.2 ARC算法 IBM Almaden研究中心的Clever工程組提出了ARC(Automatic Resource Compilation)算法,對原始的HITS做了改進,賦予網(wǎng)頁集對應(yīng)的連結(jié)矩陣初值時結(jié)合了鏈接的錨(anchor)文本,適應(yīng)了不同的鏈接具有不同的權(quán)值的情況。 ARC算法與HITS的不同主要有以下3點: 1.由根集S擴展為T時,HITS只擴展與根集中網(wǎng)頁鏈接路徑長度為1的網(wǎng)頁,也就是只擴展直接與S相鄰的網(wǎng)頁,而ARC中把擴展的鏈接長度增加到2,擴展后的網(wǎng)頁集稱為增集(Augment Set)。 2.HITS算法中,每個鏈接對應(yīng)的矩陣值設(shè)為1,實際上每個鏈接的重要性是不同的,ARC算法考慮了鏈接周圍的文本來確定鏈接的重要性。考慮鏈接p->q,p中有若干鏈接標記,文本1<a href=”q”>錨文本</a>文本2,設(shè)查詢項t在文本1,錨文本,文本2,出現(xiàn)的次數(shù)為n(t),則w(p,q)=1+n(t)。文本1和文本2的長度經(jīng)過試驗設(shè)為50字節(jié)[10]。構(gòu)造矩陣W,如果有網(wǎng)頁i->j ,Wi,j=w(i,j),否則Wi,j=0,H值設(shè)為1,Z為W的轉(zhuǎn)置矩陣,迭代執(zhí)行下面3個的操作: (1)A=WH (2)H=ZA (3)規(guī)范化A,H 3.ARC算法的目標是找到前15個最重要的網(wǎng)頁,只需要A/H的前15個值相對大小保持穩(wěn)定即可,不需要A/H整個收斂,這樣2中迭代次數(shù)很小就能滿足,[10]中指出迭代5次就可以,所以ARC算法有很高的計算效率,開銷主要是在擴展根集上。 2.2.3.3 Hub平均( Hub-Averaging-Kleinberg)算法 Allan Borodin等在[11]指出了一種現(xiàn)象,設(shè)有M+1個Hub網(wǎng)頁,M+1個權(quán)威網(wǎng)頁,前M個Hub指向第一個權(quán)威網(wǎng)頁,第M+1個Hub網(wǎng)頁指向了所有M+1個權(quán)威網(wǎng)頁。顯然根據(jù)HITS算法,第一個權(quán)威網(wǎng)頁最重要,有最高的Authority值,這是我們希望的。但是,根據(jù)HITS,第M+1個Hub網(wǎng)頁有最高的Hub值,事實上,第M+1個Hub網(wǎng)頁既指向了權(quán)威值很高的第一個權(quán)威網(wǎng)頁,同時也指向了其它權(quán)威值不高的網(wǎng)頁,它的Hub值不應(yīng)該比前M個網(wǎng)頁的Hub值高。因此,Allan Borodin修改了HITS的O操作: O操作: ,n是(v,u)的個數(shù) 調(diào)整以后,僅指向權(quán)威值高的網(wǎng)頁的Hub值比既指向權(quán)威值高又指向權(quán)威值低的網(wǎng)頁的Hub值高,此算法稱為Hub平均(Hub-Averaging-Kleinberg)算法。 2.2.3.4 閾值(Threshhold—Kleinberg)算法 Allan Borodin等在[11]中同時提出了3種閾值控制的算法,分別是Hub閾值算法,Authority閾值算法,以及結(jié)合2者的全閾值算法。 計算網(wǎng)頁p的Authority時候,不考慮指向它的所有網(wǎng)頁Hub值對它的貢獻,只考慮Hub值超過平均值的網(wǎng)頁的貢獻,這就是Hub閾值方法。 Authority閾值算法和Hub閾值方法類似,不考慮所有p指向的網(wǎng)頁的Authority對p的Hub值貢獻,只計算前K個權(quán)威網(wǎng)頁對它Hub值的貢獻,這是基于算法的目標是查找最重要的K個權(quán)威網(wǎng)頁的前提。 同時使用Authority閾值算法和Hub閾值方法的算法,就是全閾值算法。 2.3 SALSA算法 PageRank算法是基于用戶隨機的向前瀏覽網(wǎng)頁的直覺知識,HITS算法考慮的是Authoritive網(wǎng)頁和Hub網(wǎng)頁之間的加強關(guān)系。實際應(yīng)用中,用戶大多數(shù)情況下是向前瀏覽網(wǎng)頁,但是很多時候也會回退瀏覽網(wǎng)頁。基于上述直覺知識,R. Lempel和S. Moran提出了SALSA(Stochastic Approach for Link-Structure Analysis)算法[8],考慮了用戶回退瀏覽網(wǎng)頁的情況,保留了PageRank的隨機漫游和HITS中把網(wǎng)頁分為Authoritive和Hub的思想,取消了Authoritive和Hub之間的相互加強關(guān)系。 具體算法如下: 1.和HITS算法的第一步一樣,得到根集并且擴展為網(wǎng)頁集合T,并除去孤立節(jié)點。 2.從集合T構(gòu)造無向圖G’=(Vh,Va,E) Vh = { sh | s∈C and out-degree(s) > 0 } ( G’的Hub邊). Va = { sa | s∈C and in-degree(s) > 0 } (G’的Authority邊). E= { (sh , ra) | s->r in T } 這就定義了2條鏈,Authority鏈和Hub鏈。 3.定義2條馬爾可夫鏈的變化矩陣,也是隨機矩陣,分別是Hub矩陣H,Authority矩陣A。 4.求出矩陣H,A的主特征向量,就是對應(yīng)的馬爾可夫鏈的靜態(tài)分布。 5.A中值大的對應(yīng)的網(wǎng)頁就是所要找的重要網(wǎng)頁。 SALSA算法沒有HITS中相互加強的迭代過程,計算量遠小于HITS。SALSA算法只考慮直接相鄰的網(wǎng)頁對自身A/H的影響,而HITS是計算整個網(wǎng)頁集合T對自身AH的影響。 實際應(yīng)用中,SALSA在擴展根集時忽略了很多無關(guān)的鏈接,比如 1.同一站點內(nèi)的鏈接,因為這些鏈接大多只起導(dǎo)航作用。 2.CGI 腳本鏈接。 3.廣告和贊助商鏈接。 試驗結(jié)果表明,對于單主題查詢java,SALSA有比HITS更精確的結(jié)果,對于多主題查詢abortion,HITS的結(jié)果集中于主題的某個方面,而SALSA算法的結(jié)果覆蓋了多個方面,也就是說,對于TKC現(xiàn)象,SALSA算法比HITS算法有更高的健壯性。 2.3.1 BFS(Backword Forward Step)算法 SALSA算法計算網(wǎng)頁的Authority值時,只考慮網(wǎng)頁在直接相鄰網(wǎng)頁集中的受歡迎程度,忽略其它網(wǎng)頁對它的影響。HITS算法考慮的是整個圖的結(jié)構(gòu),特別的,經(jīng)過n步以后,網(wǎng)頁i的Authority的權(quán)重是,為離開網(wǎng)頁i的的路徑的數(shù)目,也就是說網(wǎng)頁j<>i,對i的權(quán)值貢獻等于從i到j(luò)的路徑的數(shù)量。如果從i到j(luò)包含有一個回路,那么j對i的貢獻將會呈指數(shù)級增加,這并不是算法所希望的,因為回路可能不是與查詢相關(guān)的。 因此,Allan Borodin等[11]提出了BFS(Backward Forward Step)算法,既是SALSA的擴展情況,也是HITS的限制情況。基本思想是,SALSA只考慮直接相鄰網(wǎng)頁的影響,BFS擴展到考慮路徑長度為n的相鄰網(wǎng)頁的影響。在BFS中,被指定表示能通過路徑到達i的結(jié)點的集合,這樣j對i的貢獻依賴就與j到i的距離。BFS采用指數(shù)級降低權(quán)值的方式,結(jié)點i的權(quán)值計算公式如下: =|B(i)|+ |BF(i)| +|BFB(i)|+……+|| 算法從結(jié)點i開始,第一步向后訪問,然后繼續(xù)向前或者向后訪問鄰居,每一步遇到新的結(jié)點加入權(quán)值計算,結(jié)點只有在第一次被訪問時加入進去計算。 2.4 PHITS D. Cohn and H. Chang提出了計算Hub和Authority的統(tǒng)計算法PHITS(Probabilistic analogue of the HITS)[12]。他們提出了一個概率模型,在這個模型里面一個潛在的因子或者主題z影響了文檔d到文檔c的一個鏈接,他們進一步假定,給定因子z,文檔c的條件分布P(c|z)存在,并且給定文檔d,因子z的條件分布P(z|d)也存在。 P(d) P(z|d) P(c|z) ,其中 根據(jù)這些條件分布,提出了一個可能性函數(shù)(likelihood function)L, ,M是對應(yīng)的連結(jié)矩陣 然后,PHITS算法使用Dempster等提出的EM算法[20]分配未知的條件概率使得L最大化,也就是最好的解釋了網(wǎng)頁之間的鏈接關(guān)系。算法要求因子z的數(shù)目事先給定。Allan Borodin指出,PHITS中使用的EM算法可能會收斂于局部的最大化,而不是真正的全局最大化[11]。D. Cohn和T. Hofmann還提出了結(jié)合文檔內(nèi)容和超鏈接的概率模型[13]。 2.5 貝葉斯算法 Allan Borodin等提出了完全的貝葉斯統(tǒng)計方法來確定Hub和Authoritive網(wǎng)頁[11]。假定有M個Hub網(wǎng)頁和N個Authority網(wǎng)頁,可以是相同的集合。每個Hub網(wǎng)頁有一個未知的實數(shù)參數(shù),表示擁有超鏈的一般趨勢,一個未知的非負參數(shù),表示擁有指向Authority網(wǎng)頁的鏈接的趨勢。每個Authoritive網(wǎng)頁j,有一個未知的非負參數(shù),表示j的Authority的級別。 統(tǒng)計模型如下,Hub網(wǎng)頁i到Authority網(wǎng)頁j的鏈接的先驗概率如下給定: P(i,j)=Exp(+)/(1+Exp(+)) Hub網(wǎng)頁i到Authority網(wǎng)頁j沒有鏈接時,P(i,j)=1/(1+Exp(+)) 從以上公式可以看出,如果很大(表示Hub網(wǎng)頁i有很高的趨勢指向任何一個網(wǎng)頁),或者和都很大(表示i是個高質(zhì)量Hub,j是個高質(zhì)量的Authority網(wǎng)頁),那么i->j的鏈接的概率就比較大。 為了符合貝葉斯統(tǒng)計模型的規(guī)范,要給2M+N個未知參數(shù)(,,)指定先驗分布,這些分布應(yīng)該是一般化的,不提供信息的,不依賴于被觀察數(shù)據(jù)的,對結(jié)果只能產(chǎn)生很小影響的。Allan Borodin等在中指定滿足正太分布N(μ,),均值μ=0,標準方差δ=10,指定和滿足Exp(1)分布,即x>=0,P(>=x)=P(>=x)=Exp(-x)。 接下來就是標準的貝葉斯方法處理和HITS中求矩陣特征根的運算。 2.5.1 簡化的貝葉斯算法 Allan Borodin同時提出了簡化的上述貝葉斯算法,完全除去了參數(shù),也就不再需要正太分布的參數(shù)μ,δ了。計算公式變?yōu)?#xff1a;P(i,j)=/(1+),Hub網(wǎng)頁到Authority網(wǎng)頁j沒有鏈接時,P(i,j)=1/(1+)。 Allan Borodin 指出簡化的貝葉斯產(chǎn)生的效果與SALSA算法的結(jié)果非常類似。 2.6 Reputation 上面的所有算法,都是從查詢項或者主題出發(fā),經(jīng)過算法處理,得到結(jié)果網(wǎng)頁。多倫多大學(xué)計算機系A(chǔ)lberto Mendelzon, Davood Rafiei提出了一種反向的算法,輸入為某個網(wǎng)頁的URL地址,輸出為一組主題,網(wǎng)頁在這些主題上有聲望(repution)[16]。比如輸入,www.gamelan.com,可能的輸出結(jié)果是“java”,具體的系統(tǒng)可以訪問htpp://www.cs.toronto.edu/db/topic。 給定一個網(wǎng)頁p,計算在主題t上的聲望,首先定義2個參數(shù),滲透率和聚焦率,簡單起見,網(wǎng)頁p包含主題項t,就認為p在主題t上。 是指向p而且包含t的網(wǎng)頁數(shù)目,是指向p的網(wǎng)頁數(shù)目,是包含t的網(wǎng)頁數(shù)目。結(jié)合非條件概率,引入,,是WEB上網(wǎng)頁的數(shù)目。P在t上的聲望計算如下: 指定是既指向p有包含t的概率,即,顯然有 我們可以從搜索引擎(如Altavista)的結(jié)果得到,, ,WEB上網(wǎng)頁的總數(shù)估計值某些組織會經(jīng)常公布,在計算中是個常量不影響RM的排序,RM最后如此計算: 給定網(wǎng)頁p和主題t,RM可以如上計算,但是多數(shù)的情況的只給定網(wǎng)頁p,需要提取主題后計算。算法的目標是找到一組t,使得RM(p,t)有較大的值。TOPIC系統(tǒng)中是抽取指向p的網(wǎng)頁中的錨文本的單詞作為主題(上面已經(jīng)討論過錨文本能很好描述目標網(wǎng)頁,精度很高),避免了下載所有指向p的網(wǎng)頁,而且RM(p,t)的計算很簡單,算法的效率較高。主題抽取時,還忽略了用于導(dǎo)航、重復(fù)的鏈接的文本,同時也過濾了停止字(stop word),如“a”,“the”,“for”,“in”等。 Reputation算法也是基于隨機漫游模型的(random walk),可以說是PageRank和SALSA算法的結(jié)合體。 3.鏈接算法的分類及其評價 鏈接分析算法可以用來提高搜索引擎的查詢效果,可以發(fā)現(xiàn)WWW上的重要的社區(qū),可以分析某個網(wǎng)站的拓撲結(jié)構(gòu),聲望,分類等,可以用來實現(xiàn)文檔的自動分類等。歸根結(jié)底,能夠幫助用戶在WWW海量的信息里面準確找到需要的信息。這是一個正在迅速發(fā)展的研究領(lǐng)域。 上面我們從歷史的角度總結(jié)了鏈接分析算法的發(fā)展歷程,較為詳細的介紹了算法的基本思想和具體實現(xiàn),對算法的存在的問題也做了討論。這些算法有的處于研究階段,有的已經(jīng)在具體的系統(tǒng)實現(xiàn)了。這些算法大體可以分為3類,基于隨機漫游模型的,比如PageRank,Repution算法,基于Hub和Authority相互加強模型的,如HITS及其變種,基于概率模型的,如SALSA,PHITS,基于貝葉斯模型的,如貝葉斯算法及其簡化版本。所有的算法在實際應(yīng)用中都結(jié)合傳統(tǒng)的內(nèi)容分析技術(shù)進行了優(yōu)化。一些實際的系統(tǒng)實現(xiàn)了某些算法,并且獲得了很好的效果,Google實現(xiàn)了PageRank算法,IBM Almaden Research Center 的Clever Project實現(xiàn)了ARC算法,多倫多大學(xué)計算機系實現(xiàn)了一個原型系統(tǒng)TOPIC,來計算指定網(wǎng)頁有聲望的主題。 AT&T香農(nóng)實驗室的Brian Amento在指出,用權(quán)威性來評價網(wǎng)頁的質(zhì)量和人類專家評價的結(jié)果是一致的,并且各種鏈接分析算法的結(jié)果在大多數(shù)的情況下差別很小[15]。但是,Allan Borodin也指出沒有一種算法是完美的,在某些查詢下,結(jié)果可能很好,在另外的查詢下,結(jié)果可能很差[11]。所以應(yīng)該根據(jù)不同查詢的情況,選擇不同的合適的算法。 基于鏈接分析的算法,提供了一種衡量網(wǎng)頁質(zhì)量的客觀方法,獨立于語言,獨立于內(nèi)容,不需人工干預(yù)就能自動發(fā)現(xiàn)WEB上重要的資源,挖掘出WEB上重要的社區(qū),自動實現(xiàn)文檔分類。但是也有一些共同的問題影響著算法的精度。 1.根集的質(zhì)量。根集質(zhì)量應(yīng)該是很高的,否則,擴展后的網(wǎng)頁集會增加很多無關(guān)的網(wǎng)頁,產(chǎn)生主題漂移,主題泛化等一系列的問題,計算量也增加很多。算法再好,也無法在低質(zhì)量網(wǎng)頁集找出很多高質(zhì)量的網(wǎng)頁。 2.噪音鏈接。WEB上不是每個鏈接都包含了有用的信息,比如廣告,站點導(dǎo)航,贊助商,用于友情交換的鏈接,對于鏈接分析不僅沒有幫助,而且還影響結(jié)果。如何有效的去除這些無關(guān)鏈接,也是算法的一個關(guān)鍵點。 3.錨文本的利用。錨文本有很高的精度,對鏈接和目標網(wǎng)頁的描述比較精確。上述算法在具體的實現(xiàn)中利用了錨文本來優(yōu)化算法。如何準確充分的利用錨文本,對算法的精度影響很大。 4.查詢的分類。每種算法都有自身的適用情況,對于不同的查詢,應(yīng)該采用不同的算法,以求獲得最好的結(jié)果。因此,對于查詢的分類也顯得非常重要。 當然,這些問題帶有很大的主觀性,比如,質(zhì)量不能精確的定義,鏈接是否包含重要的信息也沒有有效的方法能準確的判定,分析錨文本又涉及到語義問題,查詢的分類也沒有明確界限。如果算法要取得更好的效果,在這幾個方面需要繼續(xù)做深入的研究,相信在不久的將來會有更多的有趣和有用的成果出現(xiàn)。 | ||
轉(zhuǎn)載于:https://www.cnblogs.com/riky/archive/2007/01/23/628132.html
總結(jié)
以上是生活随笔為你收集整理的WEB超链分析算法纵览的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页图片处理代码全集整理
- 下一篇: 软件工程:汇编语言和C语言在软件工程的应