簡化的HITS演算法與原理示例

2021-09-08 02:44:11 字數 1155 閱讀 3135

hits演算法,首先要做的是判別與主題相關的網頁集合,要分別為每個提交給搜尋引擎的使用者查詢判定出乙個主題相關網頁集。如果網頁滿足下面的條件,便可判定它們是與主題相關的:

a)這些網頁屬於乙個網頁集合,且網頁集合中含有與使用者查詢最相關的文字。

b)這些網頁鏈向滿足a條件的網頁,或是滿足a條件的網頁鏈向該網頁。

這裡有乙個重要的鏈結假設是部分基於「鏈結——內容」假設的。也就是說,如果乙個網頁與主題相關的網頁有鏈結關係,即使它並不含有與主題相匹配的文字資訊(至少從使用者查詢文字來看是這樣的),該網頁也可能是與主題相關的。

即使是根據文字內容判定出來的相關網頁,有些時候也並不相關,因為在實踐中很難判定主題相關性,尤其是那些本身就有歧義的查詢。乙個經典的例子就是 「美洲虎」。使用者可能是想要查詢動物,或以該詞命名的汽車的相關資訊。結果,返回的與主題相關的網頁卻是不全的,且只是部分相關的。但kleinberg 的試驗表明,這並不是乙個嚴重問題。

演算法的第二部分是為主題相關集合中的每個頁面算出其中心度和權威度。演算法使用了與pagerank演算法中相似的投票方法,同時也採用了逆向投票機 制,使得每個網頁都可以給鏈向它的網頁投票。hits演算法的結果是為每個網頁賦予乙個中心度和乙個權威度,而不是像前面所說的那樣,只是將它們區分為中心 網頁和權威網頁。

簡化的hits演算法:

1.根據搜尋引擎中使用者輸入的文字查詢,找出t個與該查詢最為相關的文字網頁,其中t是預先設定的引數;

2.向集合中新增所有與匹配網頁存在著鏈結關係(鏈向或者被鏈向)的網頁;

3.移除所有的站內鏈結;

第二階段:初始化每個網頁的中心度和權威度

4.為每個網頁賦予乙個權威權重x和中心權重y,如x=y=1;

第三階段:重複投票過程

5.統計每個網頁的入鏈網頁的中心度之和,計算出每個網頁的權威權重;

6.統計每個網頁的出鏈網頁的權威度之和,計算出每個網頁的中心權重;

7.將所有網頁的中心度都除以最高中心度以將其標準化,將所有網頁的權威度都除以最高權威度以將其標準化;

8.重複第5步到第7步n次,而kleinberg在一些言論當中是建議重複20次;

第四階段:報告結果

9.返回一張排好序的網頁列表,列表中的網頁有些具有較高的中心度,有些則具有較高的權威度,這樣使用者自己就可以選出他們認為是最好的那種型別的網頁(kleinberg建議選擇前5—10個中心網頁和前5-10個權威網頁)。

HITS演算法的Java實現

package hits hits鏈結分析演算法 author hjm public class hits for int k 0 k0.01 pagenum authority值的更新計算 for int i 0 i hub值的更新計算 for int i 0 i system.out.print...

回溯演算法的原理和示例

回溯演算法實際上乙個類似列舉的搜尋嘗試過程,主要是在搜尋嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就 回溯 返回,嘗試別的路徑。回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當探索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇,這種走不通就退回再走的技術為回溯法,...

RSA演算法原理及應用示例

rsa演算法是一種基於公鑰和私鑰的加密演算法,是由ronald rivest,adi shamir和len adleman三人在diffie helman指數金鑰交換演算法的 基礎上於1977年設計出來的,rivest設計的加密系統利用了數學領域的乙個事實,那就是雖然把兩個大素數相乘生成乙個合數是件...