DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁SEO優化 >> SEO最新資訊 >> 谷歌搜索算法 >> 談PageRank-Google的表決式網頁排名技術
談PageRank-Google的表決式網頁排名技術
編輯:谷歌搜索算法     

  大家可能聽說過,Google 革命性的發明是它名為 “Page Rank” 的網頁排名算法,這項技術徹底解決了搜索結果排序的問題。其實最先試圖給互聯網上的眾多網站排序的並不是 Google。Yahoo! 公司最初第一個用目錄分類的方式讓用戶通過互聯網檢索信息,但由於當時計算機容量和速度的限制,當時的 Yahoo! 和同時代的其它搜索引擎都存在一個共同的問題: 收錄的網頁太少,而且只能對網頁中常見內容相關的實際用詞進行索引。那時,用戶很難找到很相關信息。我記得 1999 年以前查找一篇論文,要換好幾個搜索引擎。後來 DEC 公司開發了 AltaVista 搜索引擎,只用一台 ALPHA 服務器,卻收錄了比以往引擎都多的網頁,而且對裡面的每個詞進行索引。AltaVista 雖然讓用戶搜索到大量結果,但大部分結果卻與查詢不太相關,有時找想看的網頁需要翻好幾頁。所以最初的 AltaVista 在一定程度上解決了覆蓋率的問題,但不能很好地對結果進行排序。

  Google 的 “Page Rank” (網頁排名)是怎麼回事呢?其實簡單說就是民主表決。打個比方,假如我們要找李開復博士,有一百個人舉手說自己是李開復。那麼誰是真的呢?也許有好幾個真的,但即使如此誰又是大家真正想找的呢?:-) 如果大家都說在 Google 公司的那個是真的,那麼他就是真的。

  在互聯網上,如果一個網頁被很多其它網頁所鏈接,說明它受到普遍的承認和信賴,那麼它的排名就高。這就是 Page Rank 的核心思想。 當然 Google 的 Page Rank 算法實際上要復雜得多。比如說,對來自不同網頁的鏈接對待不同,本身網頁排名高的鏈接更可靠,於是給這些鏈接予較大的權重。Page Rank 考慮了這個因素,可是現在問題又來了,計算搜索結果的網頁排名過程中需要用到網頁本身的排名,這不成了先有雞還是先有蛋的問題了嗎?

  Google 的兩個創始人拉裡•佩奇 (Larry Page )和謝爾蓋•布林 (Sergey Brin) 把這個問題變成了一個二維矩陣相乘的問題,並且用迭代的方法解決了這個問題。他們先假定所有網頁的排名是相同的,並且根據這個初始值,算出各個網頁的第一次迭代排名,然後再根據第一次迭代排名算出第二次的排名。他們兩人從理論上證明了不論初始值如何選取,這種算法都保證了網頁排名的估計值能收斂到他們的真實值。值得一提的事,這種算法是完全沒有任何人工干預的。

  理論問題解決了,又遇到實際問題。因為互聯網上網頁的數量是巨大的,上面提到的二維矩陣從理論上講有網頁數目平方之多個元素。如果我們假定有十億個網頁,那麼這個矩陣 就有一百億億個元素。這樣大的矩陣相乘,計算量是非常大的。拉裡和謝爾蓋兩人利用稀疏矩陣計算的技巧,大大的簡化了計算量,並實現了這個網頁排名算法。今天 Google 的工程師把這個算法移植到並行的計算機中,進一步縮短了計算時間,使網頁更新的周期比以前短了許多。

  我來 Google 後,拉裡 (Larry) 在和我們幾個新員工座談時,講起他當年和謝爾蓋(Sergey) 是怎麼想到網頁排名算法的。他說:"當時我們覺得整個互聯網就像一張大的圖 (Graph),每個網站就像一個節點,而每個網頁的鏈接就像一個弧。我想,互聯網可以用一個圖或者矩陣描述,我也許可以用這個發現做個博士論文。" 他和謝爾蓋就這樣發明了 Page Rank 的算法。

  網頁排名的高明之處在於它把整個互聯網當作了一個整體對待。它無意識中符合了系統論的觀點。相比之下,以前的信息檢索大多把每一個網頁當作獨立的個體對待,很多人當初只注意了網頁內容和查詢語句的相關性,忽略了網頁之間的關系。

  今天,Google 搜索引擎比最初復雜、完善了許多。但是網頁排名在 Google 所有算法中依然是至關重要的。在學術界, 這個算法被公認為是文獻檢索中最大的貢獻之一,並且被很多大學引入了信息檢索課程 (Information Retrieval) 的教程。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved