連結分析演算法之:HITS演算法

來源:互聯網
上載者:User

標籤:pagerank   nbsp   自然語言處理   效率   jpg   page   http   基本概念   高中   

轉自 http://blog.csdn.net/hguisu/article/details/8013489

   HITS(HITS(Hyperlink - Induced Topic Search) ) 演算法是由康奈爾大學( Cornell University ) 的Jon Kleinberg 博士於1997 年首先提出的,為IBM 公司阿爾馬登研究中心( IBM Almaden Research Center) 的名為“CLEVER”的研究項目中的一部分。

    HITS演算法是連結分析中非常基礎且重要的演算法,目前已被Teoma搜尋引擎(www.teoma.com)作為連結分析演算法在實際中使用。

1. Hub頁面與Authority頁面

      Hub頁面(樞紐頁面)和Authority頁面(權威頁面)是HITS演算法最基本的兩個定義。

    所謂“Authority”頁面,是指與某個領域或者某個話題相關的高品質網頁,比如搜尋引擎領域,Google和百度首頁即該領域的高品質網頁,比如視頻領域,優酷和馬鈴薯首頁即該領域的高品質網頁。

    所謂“Hub”頁面,指的是包含了很多指向高品質“Authority”頁面連結的網頁,比如hao123首頁可以認為是一個典型的高品質“Hub”網頁。

    圖1給出了一個“Hub”頁面執行個體,這個網頁是斯坦福大學計算語言學研究組維護的頁面,這個網頁收集了與統計自然語言處理相關的高品質資源,包括一些著名的開源軟體包及語料庫等,並通過連結的方式指向這些資源頁面。這個頁面可以認為是“自然語言處理”這個領域的“Hub”頁面,相應的,被這個頁面指向的資源頁面,大部分是高品質的“Authority”頁面。

         

                 圖1 自然語言處理領域的Hub頁面

 

     HITS演算法的目的即是通過一定的技術手段,在海量網頁中找到與使用者查詢主題相關的高品質“Authority”頁面和“Hub”頁面,尤其是“Authority”頁面,因為這些頁面代表了能夠滿足使用者查詢的高品質內容,搜尋引擎以此作為搜尋結果返回給使用者。

 

2. 演算法基本思想:相互增強關係

     基本假設1:一個好的“Authority”頁面會被很多好的“Hub”頁面指向;

     基本假設2:一個好的“Hub”頁面會指向很多好的“Authority”頁面;

3. HITS演算法

具體演算法:可利用上面提到的兩個基本假設,以及相互增強關係等原則進行多輪迭代計算,每輪迭代計算更新每個頁面的兩個權值,直到權值穩定不再發生明顯的變化為止。

步驟:

3.1 根集合

      1)將查詢q提交給基於關鍵字查詢的檢索系統,從返回結果頁面的集合總取前n個網頁(如n=200),作為根集合(root set),記為root,則root滿足:

  1).root中的網頁數量較少

  2).root中的網頁是與查詢q相關的網頁

  3).root中的網頁包含較多的權威(Authority)網頁

       這個集合是個有向圖結構:

3.2 擴充集合base

        在根集root的基礎上,HITS演算法對網頁集合進行擴充(參考圖2)集合base,擴充原則是:凡是與根集內網頁有直接連結指向關係的網頁都被擴充到集合base,無論是有連結指向根集內頁面也好,或者是根集頁面有連結指向的頁面也好,都被擴充進入擴充網頁集合base。HITS演算法在這個擴充網頁集合內尋找好的“Hub”頁面與好的“Authority”頁面。

                                                              

 

                                                       圖2 根集與擴充集

 

 3.3 計算擴充集base中所有頁面的Hub值(樞紐度)和Authority值(權威度)

        1) 、 分別表示網頁結點 i 的Authority值(權威度)和Hub值(中心度)。

       2) 對於“擴充集base”來說,我們並不知道哪些頁面是好的“Hub”或者好的“Authority”頁面,每個網頁都有潛在的可能,所以對於每個頁面都設立兩個權值,分別來記載這個頁面是好的Hub或者Authority頁面的可能性。在初始情況下,在沒有更多可利用資訊前,每個頁面的這兩個權值都是相同的,可以都設定為1,即:

      

         3)每次迭代計算Hub權值和Authority權值:

           網頁 a (i)在此輪迭代中的Authority權值即為所有指向網頁 a (i)頁面的Hub權值之和:

            a (i) = Σ h (i) ;

           網頁 a (i)的Hub分值即為所指向的頁面的Authority權值之和:

           h (i) = Σ a (i) 。

           對a (i)、h (i)進行正常化處理:

           將所有網頁的中心度都除以最高中心度以將其標準化:

           a (i) = a (i)/|a(i)| ;

           將所有網頁的權威度都除以最高權威度以將其標準化:

           h (i) = h (i)/ |h(i)| :         
         5)如此不斷的重複第4):上一輪迭代計算中的權值和本輪迭代之後權值的差異,如果發現總體來說權值沒有明顯變化,說明系統已進入穩定點,則可以結束計算,即a ( u),h(v)收斂 。

       演算法描述:

             

       3所示,給出了迭代計算過程中,某個頁面的Hub權值和Authority權值的更新方式。假設以A(i)代表網頁i的Authority權值,以H(i)代表網頁i的Hub權值。在圖6-14的例子中,“擴充網頁集合”有3個網頁有連結指向頁面1,同時頁面1有3個連結指向其它頁面。那麼,網頁1在此輪迭代中的Authority權值即為所有指向網頁1頁面的Hub權值之和;類似的,網頁1的Hub分值即為所指向的頁面的Authority權值之和。

                                                  

                                                                圖3 Hub與Authority權值計算

 3.4  輸出排序結果

      將頁面根據Authority權值得分由高到低排序,取權值最高的若干頁面作為響應使用者查詢的搜尋結果輸出。

4. HITS演算法存在的問題

        HITS演算法整體而言是個效果很好的演算法,目前不僅應用在搜尋引擎領域,而且被“自然語言處理”以及“社交分析”等很多其它電腦領域借鑒使用,並取得了很好的應用效果。儘管如此,最初版本的HITS演算法仍然存在一些問題,而後續很多基於HITS演算法的連結分析方法,也是立足於改進HITS演算法存在的這些問題而提出的。

    歸納起來,HITS演算法主要在以下幾個方面存在不足:

    1.計算效率較低

        因為HITS演算法是與查詢相關的演算法,所以必須在接收到使用者查詢後即時進行計算,而HITS演算法本身需要進行很多輪迭代計算才能獲得最終結果,這導致其計算效率較低,這是實際應用時必須謹慎考慮的問題。

   2.主題漂移問題

        如果在擴充網頁集合裡包含部分與查詢主題無關的頁面,而且這些頁面之間有較多的相互連結指向,那麼使用HITS演算法很可能會給予這些無關網頁很高的排名,導致搜尋結果發生主題漂移,這種現象被稱為“緊密連結社區現象”(Tightly-Knit CommunityEffect)。

   3.易被作弊者操縱結果

        HITS從機制上很容易被作弊者操縱,比如作弊者可以建立一個網頁,頁面內容增加很多指向高品質網頁或者著名網站的網址,這就是一個很好的Hub頁面,之後作弊者再將這個網頁連結指向作弊網頁,於是可以提升作弊網頁的Authority得分。

   4.結構不穩定

        所謂結構不穩定,就是說在原有的“擴充網頁集合”內,如果添加刪除個別網頁或者改變少數連結關係,則HITS演算法的排名結果就會有非常大的改變。

5. HITS演算法與PageRank演算法比較

     HITS演算法和PageRank演算法可以說是搜尋引擎連結分析的兩個最基礎且最重要的演算法。從以上對兩個演算法的介紹可以看出,兩者無論是在基本概念性模型還是計算思路以及技術實現細節都有很大的不同,下面對兩者之間的差異進行逐一說明。      

    1.HITS演算法是與使用者輸入的查詢請求密切相關的,而PageRank與查詢請求無關。所以,HITS演算法可以單獨作為相似性計算評價標準,而PageRank必須結合內容相似性計算才可以用來對網頁相關性進行評價;

    2.HITS演算法因為與使用者查詢密切相關,所以必須在接收到使用者查詢後即時進行計算,計算效率較低;而PageRank則可以在爬蟲抓取完成後離線計算,線上直接使用計算結果,計算效率較高;

    3.HITS演算法的計算對象數量較少,只需計算擴充集合內網頁之間的連結關係;而PageRank是全域性演算法,對所有互連網頁面節點進行處理;

    4.從兩者的計算效率和處理對象集合大小來比較,PageRank更適合部署在伺服器端,而HITS演算法更適合部署在用戶端;

    5.HITS演算法存在主題泛化問題,所以更適合處理具體化的使用者查詢;而PageRank在處理寬泛的使用者查詢時更有優勢;

    6.HITS演算法在計算時,對於每個頁面需要計算兩個分值,而PageRank只需計算一個分值即可;在搜尋引擎領域,更重視HITS演算法計算出的Authority權值,但是在很多應用HITS演算法的其它領域,Hub分值也有很重要的作用;

    7.從連結反作弊的角度來說,PageRank從機制上優於HITS演算法,而HITS演算法更易遭受連結作弊的影響。

    8.HITS演算法結構不穩定,當對“擴充網頁集合”內連結關係作出很小改變,則對最終排名有很大影響;而PageRank相對HITS而言表現穩定,其根本原因在於PageRank計算時的“遠程跳轉”。

連結分析演算法之:HITS演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.