? ? ? ? Hilltop算法-深圳SEO培訓(xùn)
Hilltop算法是Torono大學(xué)研發(fā)的鏈接分析算法,在2003年被Google公司收購(gòu),而Google在之后的排序算法大改版中引入了Hilltop算法。
Hilltop算法融合了HITS和PageRank兩個(gè)算法的基本思想。一方面,Hilltop是與用戶查詢請(qǐng)求相關(guān)的鏈接分析算法,吸收了HITS算法根據(jù)用戶查詢獲得高質(zhì)量相關(guān)網(wǎng)頁(yè)子集的思想,符合子集傳播模型,是該模型的一個(gè)具體實(shí)例;同時(shí),在權(quán)值傳播過(guò)程中,Hilltop算法也采納了PageRank的基本指導(dǎo)思想,即通過(guò)頁(yè)面入鏈的數(shù)量和質(zhì)量來(lái)確定搜索結(jié)果的排序權(quán)重。
6.7.1 Hilltop算法的一些基本定義
非從屬組織頁(yè)面(Non-affiliated Pages)是Hilltop算法的一個(gè)很重要的定義。要了解什么是非從屬組織頁(yè)面,先要搞明白什么是從屬組織網(wǎng)站,所謂的從屬組織網(wǎng)站,即不同的網(wǎng)站屬于同一機(jī)構(gòu)或者其擁有者有密切關(guān)聯(lián)。具體而言,滿足如下任意一條判斷規(guī)則的網(wǎng)站會(huì)被認(rèn)為是從屬網(wǎng)站。
· 條件1:主機(jī)IP地址的前3個(gè)子網(wǎng)段相同,比如:IP地址分別為159.226.138.127和159.226.138.234的兩個(gè)網(wǎng)站會(huì)被認(rèn)為是從屬網(wǎng)站。
· 條件2:如果網(wǎng)站域名中的主域名相同,比如www.ibm.com和www.ibm.com.cn會(huì)被認(rèn)為是從屬組織網(wǎng)站。
非從屬組織頁(yè)面的含義是:如果兩個(gè)頁(yè)面不屬于從屬網(wǎng)站,則為非從屬組織頁(yè)面。圖6-22是相關(guān)示意圖,從圖中可以看出,頁(yè)面2和頁(yè)面3同屬于IBM的網(wǎng)頁(yè),所以是從屬組織頁(yè)面,而頁(yè)面1和頁(yè)面5、頁(yè)面3和頁(yè)面6都是非從屬組織頁(yè)面。由此也可看出,非從屬組織頁(yè)面代表的是頁(yè)面的一種關(guān)系,單個(gè)頁(yè)面是無(wú)所謂從屬或者非從屬組織頁(yè)面的。
[圖片]圖6-22 從屬組織頁(yè)面與非從屬組織頁(yè)面
專家頁(yè)面(Export Sources)是Hilltop算法的另外一個(gè)重要定義。所謂專家頁(yè)面,即與某個(gè)主題相關(guān)的高質(zhì)量頁(yè)面,同時(shí)需要滿足以下要求:這些頁(yè)面的鏈接所指向的頁(yè)面相互之間都是非從屬組織頁(yè)面,且這些被指向的頁(yè)面大多數(shù)是與專家頁(yè)面主題相近的。
Hilltop算法將互聯(lián)網(wǎng)頁(yè)面劃分為兩類子集合,最重要的子集合是由專家頁(yè)面構(gòu)成的互聯(lián)網(wǎng)頁(yè)面子集,不在這個(gè)子集合里的剩下的互聯(lián)網(wǎng)頁(yè)面作為另外一個(gè)集合,這個(gè)集合稱做目標(biāo)頁(yè)面集合(Target Web Servers)。
圖6-23是Hilltop算法的整體流程示意。首先從海量的互聯(lián)網(wǎng)網(wǎng)頁(yè)中通過(guò)一定規(guī)則篩選出專家頁(yè)面子集合,并單獨(dú)為這個(gè)頁(yè)面集合建立索引。Hilltop在接收到用戶發(fā)出的某個(gè)查詢請(qǐng)求時(shí),首先根據(jù)用戶查詢的主題,從專家頁(yè)面子集合中找出部分相關(guān)性最強(qiáng)的專家頁(yè)面,并對(duì)每個(gè)專家頁(yè)面計(jì)算相關(guān)性得分,然后根據(jù)目標(biāo)頁(yè)面和這些專家頁(yè)面的鏈接關(guān)系來(lái)對(duì)目標(biāo)頁(yè)面進(jìn)行排序?;舅悸纷裱璓ageRank算法的鏈接數(shù)量假設(shè)和質(zhì)量原則,將專家頁(yè)面的得分通過(guò)鏈接關(guān)系傳遞給目標(biāo)頁(yè)面,并以此分?jǐn)?shù)作為目標(biāo)頁(yè)面與用戶查詢相關(guān)性的排序得分。最后系統(tǒng)整合相關(guān)專家頁(yè)面和得分較高的目標(biāo)頁(yè)面作為搜索結(jié)果返回給用戶。
[圖片]圖6-23 Hilltop算法流程
若在上述過(guò)程中,Hilltop算法無(wú)法得到一個(gè)足夠大的專家頁(yè)面集合,則返回搜索結(jié)果為空。由此可以看出,Hilltop算法更注重搜索結(jié)果的精度和準(zhǔn)確性,不太考慮搜索結(jié)果是否足夠多或者對(duì)大多數(shù)用戶查詢是否都有相應(yīng)的搜索結(jié)果,所以很多用戶發(fā)出的查詢的搜索結(jié)果為空。這意味著Hilltop算法可以與某個(gè)排序算法相結(jié)合,以提高排序準(zhǔn)確性,但并不適合作為一個(gè)獨(dú)立的網(wǎng)頁(yè)排序算法來(lái)使用。
從上述整體流程描述可看出,Hilltop算法主要包含兩個(gè)步驟:專家頁(yè)面搜索及目標(biāo)頁(yè)面排序。
步驟一:專家頁(yè)面搜索
Hilltop算法從1億4千萬(wàn)網(wǎng)頁(yè)中,通過(guò)計(jì)算篩選出250萬(wàn)規(guī)模的互聯(lián)網(wǎng)頁(yè)面作為專家頁(yè)面集合。專家頁(yè)面的選擇標(biāo)準(zhǔn)相對(duì)寬松,同時(shí)滿足以下兩個(gè)條件的頁(yè)面即可進(jìn)入專家頁(yè)面集合。
· 條件1:頁(yè)面至少包含k個(gè)出鏈,這里的數(shù)量k可人為指定。
· 條件2:k個(gè)出鏈指向的所有頁(yè)面相互之間的關(guān)系都符合非從屬組織頁(yè)面的要求。
當(dāng)然,在此基礎(chǔ)上,可以設(shè)定更嚴(yán)格的篩選條件,比如要求這些專家頁(yè)面所包含鏈接指向的頁(yè)面中,大部分涉及的主題和專家頁(yè)面的主題必須是一致或近似的。
根據(jù)以上條件篩選出專家頁(yè)面后,即可對(duì)專家頁(yè)面單獨(dú)建索引,在此過(guò)程中,索引系統(tǒng)只對(duì)頁(yè)面中的關(guān)鍵片段(Key Phrase)進(jìn)行索引。所謂關(guān)鍵片段,在Hilltop算法里包含了網(wǎng)頁(yè)的3類信息:網(wǎng)頁(yè)標(biāo)題、H1標(biāo)簽內(nèi)文字和URL錨文字。
網(wǎng)頁(yè)的關(guān)鍵片段可以支配(Qualify)某個(gè)區(qū)域內(nèi)包含的所有鏈接,支配關(guān)系代表了一種管轄范圍,不同的關(guān)鍵片段支配鏈接的區(qū)域范圍不同,具體而言,頁(yè)面標(biāo)題可以支配頁(yè)面內(nèi)所有出現(xiàn)的鏈接,H1標(biāo)簽可以支配包圍在
和
內(nèi)的所有鏈接,而URL錨文字只能支配本身唯一的鏈接。圖6-24給出了關(guān)鍵片段對(duì)鏈接支配關(guān)系的示意圖,在以“奧巴馬訪問(wèn)中國(guó)”為標(biāo)題的網(wǎng)頁(yè)頁(yè)面中,標(biāo)題支配了所有這個(gè)頁(yè)面出現(xiàn)的鏈接,而H1標(biāo)簽的管轄范圍僅限于標(biāo)簽范圍內(nèi)出現(xiàn)的兩個(gè)鏈接,對(duì)于錨文字“中國(guó)領(lǐng)導(dǎo)人”來(lái)說(shuō),其唯一能夠支配的就是本身的這個(gè)鏈接。之所以定義這種支配關(guān)系,對(duì)于第2階段將專家頁(yè)面的分值傳遞到目標(biāo)頁(yè)面時(shí)候會(huì)起作用。
[圖片]圖6-24 關(guān)鍵片段鏈接支配關(guān)系
系統(tǒng)接收到用戶查詢Q,假設(shè)用戶查詢包含了多個(gè)單詞,Hilltop如何對(duì)專家頁(yè)面進(jìn)行打分呢?對(duì)專家頁(yè)面進(jìn)行打分主要參考以下3類信息。
· 關(guān)鍵片段包含了多少查詢?cè)~,包含的查詢?cè)~越多,則分值越高,如果不包含任何查詢?cè)~,則該關(guān)鍵片段不計(jì)分。
· 關(guān)鍵片段本身的類型信息,網(wǎng)頁(yè)標(biāo)題權(quán)值最高,H1標(biāo)簽次之,再次是鏈接錨文字。
· 用戶查詢和關(guān)鍵片段的失配率,即關(guān)鍵片段中不屬于查詢?cè)~的單詞個(gè)數(shù)占關(guān)鍵片段總單詞個(gè)數(shù),這個(gè)值越小越好,越大則得分衰減越多。
Hilltop綜合考慮以上3類因素,擬合出打分函數(shù)來(lái)對(duì)專家頁(yè)面是否與用戶查詢相關(guān)進(jìn)行打分,選出相關(guān)性分值足夠高的專家頁(yè)面,以進(jìn)行下一步驟操作,即對(duì)目標(biāo)頁(yè)面進(jìn)行相關(guān)性計(jì)算。
步驟二:目標(biāo)頁(yè)面排序
Hilltop算法包含一個(gè)基本假設(shè),即認(rèn)為一個(gè)目標(biāo)頁(yè)面如果是滿足用戶查詢的高質(zhì)量搜索結(jié)果,其充分必要條件是該目標(biāo)頁(yè)面有高質(zhì)量專家頁(yè)面鏈接指向。然而,這個(gè)假設(shè)并不總是成立,比如有的專家頁(yè)面的鏈接所指向的目標(biāo)頁(yè)面可能與用戶查詢并非密切相關(guān)。所以,Hilltop算法在這個(gè)階段需要對(duì)專家頁(yè)面的出鏈仔細(xì)進(jìn)行甄別,以保證選出那些和查詢密切相關(guān)的目標(biāo)頁(yè)面。
Hilltop在本階段是基于專家頁(yè)面和目標(biāo)頁(yè)面之間的鏈接關(guān)系來(lái)進(jìn)行的,在此基礎(chǔ)上,將專家頁(yè)面的得分傳遞給有鏈接關(guān)系的目標(biāo)頁(yè)面。傳遞分值之前,首先需要對(duì)鏈接關(guān)系進(jìn)行整理,能夠獲得專家頁(yè)面分值的目標(biāo)頁(yè)面需要滿足以下兩點(diǎn)要求:
· 條件1:至少需要兩個(gè)專家頁(yè)面有鏈接指向目標(biāo)頁(yè)面,而且這兩個(gè)專家頁(yè)面不能是從屬組織頁(yè)面,即不能來(lái)自同一網(wǎng)站或相關(guān)網(wǎng)站。如果是從屬組織頁(yè)面,則只能保留一個(gè)鏈接,拋棄權(quán)值低的那個(gè)鏈接。
· 條件2:專家頁(yè)面和所指向的目標(biāo)頁(yè)面也需要符合一定要求,即這兩個(gè)頁(yè)面也不能是從屬組織頁(yè)面。
在步驟一,給定用戶查詢,Hilltop算法已經(jīng)獲得相關(guān)的專家頁(yè)面及其與查詢的相關(guān)度得分,在此基礎(chǔ)上,如何對(duì)目標(biāo)頁(yè)面的相關(guān)性打分?上面列出的條件1指出,能夠獲得傳遞分值的目標(biāo)頁(yè)面一定有多個(gè)專家頁(yè)面鏈接指向,所以目標(biāo)頁(yè)面所獲得的總傳播分值是每個(gè)有鏈接指向的專家頁(yè)面所傳遞分值之和。而計(jì)算其中某個(gè)專家頁(yè)面?zhèn)鬟f給目標(biāo)頁(yè)面權(quán)值的時(shí)候是這么計(jì)算的:
a.找到專家頁(yè)面中那些能夠支配目標(biāo)頁(yè)面的關(guān)鍵片段集合S。
b.統(tǒng)計(jì)S中包含用戶查詢?cè)~的關(guān)鍵片段個(gè)數(shù)T,T越大傳遞的權(quán)值越大。
c.專家頁(yè)面?zhèn)鬟f給目標(biāo)頁(yè)面的分值為:E×T,E為專家頁(yè)面本身在第一階段計(jì)算得到的相關(guān)得分,T為b步驟計(jì)算的分值。
我們以圖6-25的具體例子來(lái)說(shuō)明。假設(shè)專家頁(yè)面集合內(nèi)存在一個(gè)網(wǎng)頁(yè)P(yáng),其標(biāo)題為“奧巴馬訪問(wèn)中國(guó)”,網(wǎng)頁(yè)內(nèi)容由一段
標(biāo)簽文字和另一個(gè)單獨(dú)的鏈接錨文字組成。該頁(yè)面包含3個(gè)出鏈,其中兩個(gè)指向目標(biāo)頁(yè)面集合中的網(wǎng)頁(yè)www.china.org,另外一個(gè)指向網(wǎng)頁(yè)www.obama.org。出鏈對(duì)應(yīng)的錨文字分別為“奧巴馬”、“中國(guó)”和“中國(guó)領(lǐng)導(dǎo)人”。
[圖片]圖6-25 Hilltop算法分值傳遞
從圖示的鏈接關(guān)系可以看出,網(wǎng)頁(yè)P(yáng)中能夠支配www.china.org這個(gè)目標(biāo)頁(yè)面的關(guān)鍵片段集合包括:{中國(guó)領(lǐng)導(dǎo)人,中國(guó),
奧巴馬訪問(wèn)中國(guó)
,標(biāo)題:奧巴馬訪問(wèn)中國(guó)},而能夠支配www.obamba.org目標(biāo)頁(yè)面的關(guān)鍵片段集合包括:{奧巴馬,
奧巴馬訪問(wèn)中國(guó)
,標(biāo)題:奧巴馬訪問(wèn)中國(guó)}。
接下來(lái)我們分析專家頁(yè)面P在接收到查詢時(shí),是怎樣將分值傳遞給與其有鏈接關(guān)系的目標(biāo)頁(yè)面的。假設(shè)系統(tǒng)接收到的查詢請(qǐng)求為“奧巴馬”,在接收到查詢后,系統(tǒng)首先根據(jù)上述章節(jié)所述,找出專家頁(yè)面并給予分值,而網(wǎng)頁(yè)P(yáng)作為專家頁(yè)面中的一個(gè)頁(yè)面,并獲得了相應(yīng)的分值S,我們重點(diǎn)關(guān)注分值傳播步驟。
對(duì)于查詢“奧巴馬”來(lái)說(shuō),網(wǎng)頁(yè)P(yáng)中包含這個(gè)查詢?cè)~的關(guān)鍵片段集合為:{奧巴馬,
奧巴馬訪問(wèn)中國(guó)
,標(biāo)題:奧巴馬訪問(wèn)中國(guó)},如上所述,這3個(gè)關(guān)鍵片段都能夠支配www.obama.org頁(yè)面,所以網(wǎng)頁(yè)P(yáng)傳遞給www.obamba.org的分值為S×3。而對(duì)于目標(biāo)頁(yè)面www.china.org來(lái)說(shuō),這3個(gè)關(guān)鍵片段中只有{
奧巴馬訪問(wèn)中國(guó)
,標(biāo)題:奧巴馬訪問(wèn)中國(guó)}這兩個(gè)能夠支配目標(biāo)頁(yè)面,所以網(wǎng)頁(yè)P(yáng)傳遞給www.china.org的分值為S×2。
對(duì)于包含多個(gè)查詢?cè)~的用戶請(qǐng)求,則每個(gè)查詢?cè)~單獨(dú)如上計(jì)算,將多個(gè)查詢?cè)~的傳遞分值累加即可。
Hilltop算法存在與HITS算法類似的計(jì)算效率問(wèn)題,因?yàn)楦鶕?jù)查詢主題從專家頁(yè)面集合中選取主題相關(guān)的頁(yè)面子集也是在線運(yùn)行的,這與前面提到的HITS算法一樣會(huì)影響查詢響應(yīng)時(shí)間。隨著專家頁(yè)面集合的增大,算法的可擴(kuò)展性存在不足之處。