Hilltop算法
- 威海鏈接原理 威海Hilltop算法
- 1500
HillTop ,是一項搜索引擎結果排序的專利,是Google的一個工程師Bharat在2001年獲得的專利。Google的排序規(guī)則經(jīng)常在變化,但變化最大的一次也就是基于HillTop算法進行了優(yōu)化。
算法
其實HillTop算法的指導思想和PageRank的是一致的,都是通過網(wǎng)頁被鏈接的數(shù)量和質(zhì)量來確定搜索結果的排序權重。但HillTop認為只計算來自具有相同主題的相關文檔鏈接對于搜索者的價值會更大:即主題相關網(wǎng)頁之間的鏈接對于權重計算的貢獻比主題不相關的鏈接價值要更高。如果網(wǎng)站是介紹“服裝”的,有10個鏈接都是從“服裝”相關的網(wǎng)站鏈接過來,那這10個鏈接比另外10個從“電器”相關網(wǎng)站鏈接過來的貢獻要大。。在1999與2000年,當這個算法被Bharat與其他Google開發(fā)人員開發(fā)出來的時候,Bharat稱這種對主題有影響的文檔為“專家”文檔,從這些專家文檔頁面到目標文檔的鏈接決定了被鏈接網(wǎng)頁“權重得分”的主要部分。
與PageRank結合HillTop算法確定網(wǎng)頁與搜索關鍵詞的匹配程度的基本排序過程取代了過分依靠PageRank的值去尋找那些權威頁面的方法。這對于兩個具有同樣主題而且PR相近的網(wǎng)頁排序過程中, HillTop算法就顯得非常的重要了。HillTop同時也避免了許多想通過增加許多無效鏈接來提高網(wǎng)頁PageRank值的作弊方法。
定義相關網(wǎng)站
Google最早利用HillTop算法去定義相關網(wǎng)站:一個網(wǎng)站與另一個網(wǎng)站的相關性,實際上,HillTop算法在Google中也作為一個識別跨站點的鏈接交換干擾(spam)與識別相似鏈接的技術。HillTop算法要求:如果有兩個以上相關主題的網(wǎng)站鏈接到你的網(wǎng)站,那么你的網(wǎng)站在搜索結果中出現(xiàn)的機會會更大,如果HillTop算法不查找到最少兩個相關性的網(wǎng)站,那么搜索返回的結果的機會絕對是0。
HillTop算法實際上是拒絕了部分通過隨意交換鏈接的方法來擾亂Google的排名規(guī)則而得到較好排名的做法,而在HillTop的論文中也提到很多關于識別“網(wǎng)站鏈接交換聯(lián)盟”的設計:如根據(jù)IPv4地址的頭3段,根據(jù)域名的別名推測:1
PR值對于搜索關鍵詞的匹配度作用不大:因為在很多包含相應關鍵詞的非相關主題的網(wǎng)站具有很高的PR值。這就是Google在HillTop算法中盡量避免的東西:應該盡其所能去列出與搜索關鍵詞相關的結果。
總得看來,從過去到今天,很多搜索引擎停止了那種只使用一種有價值的算法去決定排名的做法。如:meta keyword標簽等。這只是一個開始,Google在第一步已經(jīng)完全忽略html header中的meta標簽了。與不可見的meta標簽相比,一個網(wǎng)站的可視部分使用干擾技術較在meta使用的要少,因為可視部分畢竟還要面對大部分的實際的訪問者。
算法難點
基于“專家”文檔的HillTop算法最大的難點是第一次“專家文檔”的篩選,從觀察來看:Google顯然首先給了教育(.edu),政府(.gov)和非盈利組織(.org)站點很高的優(yōu)先級。在運行時:Google會在龐大的內(nèi)存里儲存搜索頻率比較高的關鍵詞的索引,以備搜索者在短期內(nèi)繼續(xù)用同樣的關鍵字短語等進行搜索。這些高頻關鍵詞還有另外一種作用,在“佛羅里達”更新之前很多人已經(jīng)注意到的了:含有那些突增的搜索關鍵字的網(wǎng)站會得到較快的更新頻率。如關于:\"SARS",每天的搜索次數(shù)數(shù)以百萬計:Google就會優(yōu)先對與這個主題有關的網(wǎng)站進行更新。
回頭看一下以前每個月的“Google Dance”,也能得出以下的結論:Google也明顯地為一個關鍵詞給予一個隨機的“權重”,動態(tài)的根據(jù)關鍵詞查詢統(tǒng)計發(fā)現(xiàn)這些熱門關鍵詞,然后基于HillTop算法面向主題地找到這些含有熱門關鍵詞的網(wǎng)頁,讓這些網(wǎng)頁作為相應關鍵詞的“專家”文檔,針對這些索引入口保持比較高的更新頻率:這點顯然對于應對突發(fā)事件非常有效。而那些含有查詢頻率比較低的關鍵詞所對應的網(wǎng)頁可能要1月才更新一次。簡單的說就是:Google會根據(jù)主題的熱門程度動態(tài)調(diào)整相應網(wǎng)站的索引的強度。而Google中文用戶在總體用戶中的比例與Google索引的中文網(wǎng)頁在索引的總體網(wǎng)頁中的比例,從某種程度上說,也是有一定關系的。
運行方式
Google所擁有的服務器體系架構就是網(wǎng)絡上分布的一萬臺奔騰級服務器。而一旦了解了Hilltop算法后,我們很難相信這樣的奔騰服務器能夠具備如此的處理能力:試想一下,首先要從成千上萬的主題性文件中找到“專家文件”,然后計算目標網(wǎng)頁自這些專家文件的鏈接的得分,然后再將數(shù)值返回 Google算法的其它排名系統(tǒng),并做進一步處理—而所有這些要在大約0.07秒內(nèi)--這個讓Google舉世聞名的搜索速度內(nèi)完成。確實使人難以置信。
運行頻率
我們認為,要保證Google一貫的“閃電般”搜索速度,Google會對搜索頻率較高(熱門)的查詢詞(即所謂的“商業(yè)詞”黑名單)定期運行批處理,并將結果存儲起來供日后使用。Google的數(shù)據(jù)庫擁有數(shù)目龐大的高查詢頻率的查詢詞,收集自實地搜索和其AdWords自助廣告系統(tǒng)中所使用的關鍵詞。Google很可能對關鍵詞搜索次數(shù)設置了上限值,凡搜索頻率高于此閾值的查詢詞都將被納入Hilltop系統(tǒng),然后Hilltop系統(tǒng)再對收集的所有高查詢頻率關鍵詞定期運行批處理,可能一個月一次。增量級的稍小規(guī)模的批處理可能會頻繁一些。同時,每個月將對Hilltop系統(tǒng)運行批處理后的結果對Google的萬臺服務器的數(shù)據(jù)庫進行同步更新,但稍小規(guī)模的批處理的數(shù)據(jù)庫更新會更加頻繁一些。
對于那些用戶查詢頻率不算高,因而無此“榮幸”被納入Hilltop算法的查詢詞語,Google仍將使用原來的算法并顯示原來的排名結果。因而對于那些高度明確或?qū)I(yè)化的關鍵詞,由于它們被排除在新算法的范圍之內(nèi),因而有望保持原來的排名。
投入使用
Google早在2003年2月就獲得了該專利,但在實際投入使用前,需要首先保證新算法和Google當時所使用的頁面等級和頁面相關性系統(tǒng)的完全兼容性,所以需要對其兼容性做大量測試,然后再評估算法整合后所提供的結果,再做精工調(diào)整,然后是進一步的繁復測試…我想所有這些都需要大量時間。
在應用中不足
專家頁面的搜索和確定對算法起關鍵作用,專家頁面的質(zhì)量決定了算法的準確性;而專家頁面的質(zhì)量和公平性在一定程度上難以保證。 Hiltop忽略了大多數(shù)非專家頁面的影響。
在Hilltop的原型系統(tǒng)中,專家頁面只占到整個頁面的1.79%,不能全面反映民意。
Hilltop算法在無法得到足夠的專家頁面子集時(少于兩個專家頁面),返回為空,即Hilltop適合于對查詢排序進行求精,而不能覆蓋。這意味著Hilltop可以與某個頁面排序算法結合,提高精度,而不適合作為一個獨立的頁面排序算法。
Hilltop中根據(jù)查詢主題從專家頁面集合中選取與主題相關的子集也是在線運行的,這與前面提到的HITS算法一樣會影響查詢響應時間。隨著專家頁面集合的增大,算法的可伸縮性存在不足之處。