淺談搜索引擎的核心算法
發(fā)布者: 華企立方 發(fā)布時(shí)間:2016-5-20 17:12:34
外鏈?zhǔn)撬阉饕嫠惴ㄖ校袛嗑W(wǎng)站權(quán)重高低的重要指標(biāo),當(dāng)用戶在搜索框中輸入關(guān)鍵時(shí),搜索引擎面對(duì)大量擁有相同內(nèi)容的網(wǎng)頁(yè),首先需要解決的就是,通過(guò)哪些參數(shù)覺(jué)得網(wǎng)頁(yè)排名的高低。今天,筆者就簡(jiǎn)單介紹外鏈建設(shè)中,比較有名的核心算法:PageRank算法、Hilltop算法、Direct Hit 算法。
第一種算法、PageRank算法
1998年,Sergey Brin和Lawrence Page提出了PageRank算法。該算法基于“從許多優(yōu)質(zhì)的網(wǎng)頁(yè)鏈接過(guò)來(lái)的網(wǎng)頁(yè),必定還是優(yōu)質(zhì)網(wǎng)頁(yè)”的回歸關(guān)系,來(lái)判定網(wǎng)頁(yè)的重要性。該算法認(rèn)為從網(wǎng)頁(yè)A導(dǎo)向網(wǎng)頁(yè)B的鏈接可以看作是頁(yè)面A對(duì)頁(yè)面B的支持投票,根據(jù)這個(gè)投票數(shù)來(lái)判斷頁(yè)面的重要性。當(dāng)然,不僅僅只看投票數(shù),還要對(duì)投票的頁(yè)面進(jìn)行重要性分析,越是重要的頁(yè)面所投票的評(píng)價(jià)也就越高。根據(jù)這樣的分析,得到了高評(píng)價(jià)的重要頁(yè)面會(huì)被給予較高的PageRank值,在檢索結(jié)果內(nèi)的名次也會(huì)提高。PageRank是基于對(duì)“使用復(fù)雜的算法而得到的鏈接構(gòu)造” 的分析,從而得出的各網(wǎng)頁(yè)本身的特性。
分析:PageRank算法的優(yōu)點(diǎn)在于它對(duì)互聯(lián)網(wǎng)上的網(wǎng)頁(yè)給出了一個(gè)全局的重要性排序,并且算法的計(jì)算過(guò)程是可以離線完成的,這樣有利于迅速響應(yīng)用戶的請(qǐng)求。不過(guò),其缺點(diǎn)在于主題無(wú)關(guān)性,沒(méi)有區(qū)分頁(yè)面內(nèi)的導(dǎo)航鏈接、廣告鏈接和功能鏈接等,容易對(duì)廣告頁(yè)面有過(guò)高評(píng)價(jià);另外,PageRank算法的另一弊端是,舊的頁(yè)面等級(jí)會(huì)比新頁(yè)面高,因?yàn)樾马?yè)面,即使是非常好的頁(yè)面,也不會(huì)有很多鏈接,除非他是一個(gè)站點(diǎn)的子站點(diǎn)。這就是PageRank需要多項(xiàng)算法結(jié)合的原因。
第二種算法、Hilltop算法
HillTop,是一項(xiàng)搜索引擎結(jié)果排序的專利,是Google的一個(gè)工程師Bharat在2001年獲得的專利。HillTop算法的指導(dǎo)思想和PageRank是一致的,即都通過(guò)反向鏈接的數(shù)量和質(zhì)量來(lái)確定搜索結(jié)果的排序權(quán)重。但HillTop認(rèn)為只計(jì)算來(lái)自具有相同主題的相關(guān)文檔鏈接對(duì)于搜索者的價(jià)值會(huì)更大,即主題相關(guān)網(wǎng)頁(yè)之間的鏈接對(duì)于權(quán)重計(jì)算的貢獻(xiàn)比主題不相關(guān)的鏈接價(jià)值要更高。在1999-2000年,當(dāng)這個(gè)算法被Bharat與其他Google開發(fā)人員開發(fā)出來(lái)的時(shí)候,他們稱這種對(duì)主題有影響的文檔為“專家”文檔,而只有從這些專家文檔頁(yè)面到目標(biāo)文檔的鏈接決定了被鏈接網(wǎng)頁(yè)“權(quán)重得分”的主要部分。
Hilltop算法的過(guò)程:首先計(jì)算查詢主題最相關(guān)的“專家”資源列表;其次在選中的“專家”集中識(shí)別相關(guān)的鏈接,并追蹤它們以識(shí)別相關(guān)的網(wǎng)頁(yè)目標(biāo);然后將目標(biāo)根據(jù)非關(guān)聯(lián)的指向它們的“專家”數(shù)量和相關(guān)性排序。由此,目標(biāo)網(wǎng)頁(yè)的得分反映了關(guān)于查詢主題的最中立的專家的集體觀點(diǎn)。如果這樣的專家池不存在,Hilltop不會(huì)給出結(jié)果。
從Hilltop算法過(guò)程可見,該算法包括兩個(gè)主要的方面:尋找專家;目標(biāo)排序。通過(guò)對(duì)搜索引擎抓取的網(wǎng)頁(yè)進(jìn)行預(yù)處理,找出專家頁(yè)面。對(duì)于一個(gè)關(guān)鍵詞的查詢,首先在專家中查找,并排序返回結(jié)果。
權(quán)威頁(yè)面是對(duì)于一個(gè)查詢主題來(lái)說(shuō)最好的專家指向的頁(yè)面。專家也有可能在更寬泛的領(lǐng)域或其它領(lǐng)域的主題上也是專家。在專家頁(yè)面中只有一部分鏈接與主題相關(guān)。因此,把查詢主題的專家中相關(guān)的外向鏈接合并,以找到查詢主題相關(guān)頁(yè)面高度認(rèn)可的頁(yè)面。
從排名在前的匹配專家頁(yè)面和相聯(lián)系的匹配信息中選擇專家頁(yè)面中一個(gè)超鏈接的子集。尤其選擇那些與所有的查詢相關(guān)的鏈接。基于這些選中的鏈接找出一個(gè)它們的目標(biāo)子集作為查詢主題最相關(guān)的網(wǎng)頁(yè)。這個(gè)目標(biāo)子集包含至少被兩個(gè)非親屬的專家頁(yè)面鏈接到的網(wǎng)頁(yè)。目標(biāo)集根據(jù)指向它們的專家的綜合成績(jī)來(lái)排序。
Hilltop在應(yīng)用中還存在一些不足。專家頁(yè)面的搜索和確定對(duì)算法起關(guān)鍵作用,專家頁(yè)面的質(zhì)量決定了算法的準(zhǔn)確性;而專家頁(yè)面的質(zhì)量和公平性在一定程度上難以保證。Hiltop忽略了大多數(shù)非專家頁(yè)面的影響。在Hiltop的原型系統(tǒng)中,專家頁(yè)面只占到整個(gè)頁(yè)面的1.79%,不能全面代表整個(gè)互聯(lián)網(wǎng)。
Hiltop算法在無(wú)法得到足夠的專家頁(yè)面子集時(shí)(少于兩個(gè)專家頁(yè)面),返回為空,即Hiltop適合于對(duì)查詢排序進(jìn)行求精,而不能覆蓋。這意味著Hilltop可以與某個(gè)頁(yè)面排序算法結(jié)合,提高精度,而不適合作為一個(gè)獨(dú)立的頁(yè)面排序算法。Hilltop中根據(jù)查詢主題從專家頁(yè)面集合中選取與主題相關(guān)的子集也是在線運(yùn)行的,這與前面提到的HITS算法一樣會(huì)影響查詢響應(yīng)時(shí)間。隨著專家頁(yè)面集合的增大,算法的可伸縮性存在不足之處。
分析:HITS算法的優(yōu)點(diǎn)在于它能更好地描述互聯(lián)網(wǎng)的組織特點(diǎn),由于它只是對(duì)互聯(lián)網(wǎng)中的很小的一個(gè)子集進(jìn)行分析,所以它需要的迭代次數(shù)更少,收斂速度更快,減少了時(shí)間復(fù)雜度。
但HITS算法也存在如下缺點(diǎn):中心網(wǎng)頁(yè)之間的相互引用以增加其網(wǎng)頁(yè)評(píng)價(jià),當(dāng)一個(gè)網(wǎng)站上的多篇網(wǎng)頁(yè)指向一個(gè)相同的鏈接,或者一個(gè)網(wǎng)頁(yè)指向另一個(gè)網(wǎng)站上的多個(gè)文件時(shí)會(huì)引起評(píng)分的不正常增加,這會(huì)導(dǎo)致易受“垃圾鏈接”的影響;網(wǎng)頁(yè)中存在自動(dòng)生成的鏈接;
主題漂移,在鄰接圖中經(jīng)常包括一些和搜索主題無(wú)關(guān)的鏈接,如果這些鏈接自身也是中心網(wǎng)頁(yè)或權(quán)威網(wǎng)頁(yè)就會(huì)引起主題漂移:對(duì)于每個(gè)不同的查詢算法都需要重新運(yùn)行一次來(lái)獲取結(jié)果。這使得它不可能用于實(shí)時(shí)系統(tǒng),因?yàn)閷?duì)于上千萬(wàn)次的并發(fā)查詢這樣的開銷實(shí)在太大。
第三種算法、Direct Hit 算法
與前面的算法相比,Ask Jeeves公司的Direct Hit算法是一種注重信息的質(zhì)量和用戶反饋的排序方法。它的基本思想是,搜索引擎將查詢的結(jié)果返回給用戶,并跟蹤用戶在檢索結(jié)果中的點(diǎn)擊。如果返回結(jié)果中排名靠前的網(wǎng)頁(yè)被用戶點(diǎn)擊后,瀏覽時(shí)間較短,用戶又重新返回點(diǎn)擊其它的檢索結(jié)果,那么可以認(rèn)為其相關(guān)度較差,系統(tǒng)將降低該網(wǎng)頁(yè)的相關(guān)性。另一方面,如果網(wǎng)頁(yè)被用戶點(diǎn)擊打開進(jìn)行瀏覽,并且瀏覽的時(shí)間較長(zhǎng),那么該網(wǎng)頁(yè)的受歡迎程度就高,相應(yīng)地,系統(tǒng)將增加該網(wǎng)頁(yè)的相關(guān)度??梢钥闯觯谶@種方法中,相關(guān)度在不停地變化,對(duì)于同一個(gè)詞在不同的時(shí)間進(jìn)行檢索,得到結(jié)果集合的排序也有可能不同,它是一種動(dòng)態(tài)排序。
分析:該算法的優(yōu)點(diǎn)是能夠節(jié)省大量時(shí)間,因?yàn)橛脩糸喿x的是從搜索結(jié)果中篩選出來(lái)的更加符合要求的結(jié)果。同時(shí),這種算法直接融入用戶的反饋信息,能夠保證頁(yè)面的質(zhì)量。
然而,統(tǒng)計(jì)表明,Direct Hit算法只適合于檢索關(guān)鍵詞較少的情況,因?yàn)樗鼘?shí)際上并沒(méi)有進(jìn)行排序,而是一種篩選和抽取,在檢索數(shù)據(jù)庫(kù)很大、關(guān)鍵詞很多的時(shí)候,返回的搜索結(jié)果成千上萬(wàn),用戶不可能一一審閱。因此,這種方式也不能作為主要的排序算法來(lái)使用,而是一種很好的輔助排序算法,目前在許多搜索引擎當(dāng)中仍然在使用。
其實(shí)對(duì)于網(wǎng)頁(yè)的搜索排名,都是多種算法綜合作用的結(jié)果,簡(jiǎn)單分析上面的三種算法,Pagerank可以給網(wǎng)站上的所有網(wǎng)頁(yè)給予一個(gè)重要性的排序,但是沒(méi)有針對(duì)性、相關(guān)性,而且現(xiàn)在PR值作弊已經(jīng)到了一個(gè)泛濫的地步,所以PR就網(wǎng)頁(yè)排名的重要性已經(jīng)大為下降;
Hilltop算法的提出,對(duì)于廣大站長(zhǎng)做外部鏈接建設(shè),將起到指導(dǎo)作用。在Hilltop算法中,每個(gè)領(lǐng)域都會(huì)有若干專家頁(yè)面,如果搜索相關(guān)關(guān)鍵詞,搜索引擎首先會(huì)從專家頁(yè)面查找,如果匹配度不夠,再?gòu)膶<翼?yè)面鏈接的下一級(jí)頁(yè)面查找,以此類推。
Direct Hit算法可以作為Hilltop和pagerank很好的補(bǔ)充,Direct Hit更多的是,考慮了用戶體驗(yàn)的影響,對(duì)搜索結(jié)果的質(zhì)量,進(jìn)行實(shí)時(shí)的更新,一個(gè)最符合搜索用戶要求的頁(yè)面,應(yīng)該是用戶從搜索框中點(diǎn)擊頁(yè)面鏈接開始,用戶瀏覽網(wǎng)站超過(guò)一定時(shí)間,則被認(rèn)為結(jié)果頁(yè)面,更符合用戶搜索的要求,長(zhǎng)期有效的點(diǎn)擊,頁(yè)面在搜索引擎中排名,就會(huì)有相應(yīng)的提高。
通過(guò)以上三種算法,就可以明白,無(wú)論是做外鏈還是網(wǎng)站內(nèi)容建設(shè),首先需要考慮的就是相關(guān)性,在外鏈建設(shè)中,要努力尋找主題相關(guān)中,權(quán)威度高的網(wǎng)站,軟文、友情鏈接等,都可以看作是這些網(wǎng)站,對(duì)你的支持,同時(shí),注意網(wǎng)站的跳出率和瀏覽時(shí)間,時(shí)刻反饋用戶數(shù)據(jù),對(duì)一些重點(diǎn)頁(yè)面,用戶點(diǎn)擊量較高的頁(yè)面,做好相關(guān)性推薦,引導(dǎo)用戶點(diǎn)擊更多的頁(yè)面。
更多資訊來(lái)源于:佛山網(wǎng)站建設(shè)2800kj.cn
此文關(guān)鍵字: