搜索引擎核心算法

2018-08-12 21:51 更新

搜索引擎核心算法

外鏈?zhǔn)撬阉饕嫠惴ㄖ?,判斷網(wǎng)站權(quán)重高低的重要指標(biāo),當(dāng)用戶在搜索框中輸入關(guān)鍵時,搜索引擎面對大量擁有相同內(nèi)容的網(wǎng)頁,首先需要解決的就是,通過哪些參數(shù)覺得網(wǎng)頁排名的高低。今天,筆者就簡單介紹外鏈建設(shè)中,比較有名的核心算法:PageRank 算法、Hilltop 算法、Direct Hit 算法。

第一種算法、PageRank 算法

1998 年,Sergey Brin 和 Lawrence Page 提出了 PageRank 算法。該算法基于“從許多優(yōu)質(zhì)的網(wǎng)頁鏈接過來的網(wǎng)頁,必定還是優(yōu)質(zhì)網(wǎng)頁”的回歸關(guān)系,來判定網(wǎng)頁的重要性。該算法認為從網(wǎng)頁 A 導(dǎo)向網(wǎng)頁 B 的鏈接可以看作是頁面 A 對頁面 B 的支持投票,根據(jù)這個投票數(shù)來判斷頁面的重要性。當(dāng)然,不僅僅只看投票數(shù),還要對投票的頁面進行重要性分析,越是重要的頁面所投票的評價也就越高。根據(jù)這樣的分析,得到了高評價的重要頁面會被給予較高的 PageRank 值,在檢索結(jié)果內(nèi)的名次也會提高。PageRank 是基于對“使用復(fù)雜的算法而得到的鏈接構(gòu)造” 的分析,從而得出的各網(wǎng)頁本身的特性。

分析:PageRank 算法的優(yōu)點在于它對互聯(lián)網(wǎng)上的網(wǎng)頁給出了一個全局的重要性排序,并且算法的計算過程是可以離線完成的,這樣有利于迅速響應(yīng)用戶的請求。不過,其缺點在于主題無關(guān)性,沒有區(qū)分頁面內(nèi)的導(dǎo)航鏈接、廣告鏈接和功能鏈接等,容易對廣告頁面有過高評價;另外,PageRank 算法的另一弊端是,舊的頁面等級會比新頁面高,因為新頁面,即使是非常好的頁面,也不會有很多鏈接,除非他是一個站點的子站點。這就是 PageRank 需要多項算法結(jié)合的原因。

第二種算法、Hilltop 算法

HillTop,是一項搜索引擎結(jié)果排序的專利,是 Google 的一個工程師 Bharat 在 2001 年獲得的專利。HillTop 算法的指導(dǎo)思想和 PageRank 是一致的,即都通過反向鏈接的數(shù)量和質(zhì)量來確定搜索結(jié)果的排序權(quán)重。但 HillTop 認為只計算來自具有相同主題的相關(guān)文檔鏈接對于搜索者的價值會更大,即主題相關(guān)網(wǎng)頁之間的鏈接對于權(quán)重計算的貢獻比主題不相關(guān)的鏈接價值要更高。在 1999-2000 年,當(dāng)這個算法被 Bharat 與其他 Google 開發(fā)人員開發(fā)出來的時候,他們稱這種對主題有影響的文檔為“專家”文檔,而只有從這些專家文檔頁面到目標(biāo)文檔的鏈接決定了被鏈接網(wǎng)頁“權(quán)重得分”的主要部分。

Hilltop 算法的過程:首先計算查詢主題最相關(guān)的“專家”資源列表;其次在選中的“專家”集中識別相關(guān)的鏈接,并追蹤它們以識別相關(guān)的網(wǎng)頁目標(biāo);然后將目標(biāo)根據(jù)非關(guān)聯(lián)的指向它們的“專家”數(shù)量和相關(guān)性排序。由此,目標(biāo)網(wǎng)頁的得分反映了關(guān)于查詢主題的最中立的專家的集體觀點。如果這樣的專家池不存在,Hilltop 不會給出結(jié)果。

從 Hilltop 算法過程可見,該算法包括兩個主要的方面:尋找專家;目標(biāo)排序。通過對搜索引擎抓取的網(wǎng)頁進行預(yù)處理,找出專家頁面。對于一個關(guān)鍵詞的查詢,首先在專家中查找,并排序返回結(jié)果。

權(quán)威頁面是對于一個查詢主題來說最好的專家指向的頁面。專家也有可能在更寬泛的領(lǐng)域或其它領(lǐng)域的主題上也是專家。在專家頁面中只有一部分鏈接與主題相關(guān)。因此,把查詢主題的專家中相關(guān)的外向鏈接合并,以找到查詢主題相關(guān)頁面高度認可的頁面。

從排名在前的匹配專家頁面和相聯(lián)系的匹配信息中選擇專家頁面中一個超鏈接的子集。尤其選擇那些與所有的查詢相關(guān)的鏈接?;谶@些選中的鏈接找出一個它們的目標(biāo)子集作為查詢主題最相關(guān)的網(wǎng)頁。這個目標(biāo)子集包含至少被兩個非親屬的專家頁面鏈接到的網(wǎng)頁。目標(biāo)集根據(jù)指向它們的專家的綜合成績來排序。

Hilltop 在應(yīng)用中還存在一些不足。專家頁面的搜索和確定對算法起關(guān)鍵作用,專家頁面的質(zhì)量決定了算法的準(zhǔn)確性;而專家頁面的質(zhì)量和公平性在一定程度上難以保證。Hiltop 忽略了大多數(shù)非專家頁面的影響。在 Hiltop 的原型系統(tǒng)中,專家頁面只占到整個頁面的 1.79%,不能全面代表整個互聯(lián)網(wǎng)。

Hiltop 算法在無法得到足夠的專家頁面子集時(少于兩個專家頁面),返回為空,即 Hiltop 適合于對查詢排序進行求精,而不能覆蓋。這意味著 Hilltop 可以與某個頁面排序算法結(jié)合,提高精度,而不適合作為一個獨立的頁面排序算法。Hilltop 中根據(jù)查詢主題從專家頁面集合中選取與主題相關(guān)的子集也是在線運行的,這與前面提到的 HITS 算法一樣會影響查詢響應(yīng)時間。隨著專家頁面集合的增大,算法的可伸縮性存在不足之處。

分析:HITS 算法的優(yōu)點在于它能更好地描述互聯(lián)網(wǎng)的組織特點,由于它只是對互聯(lián)網(wǎng)中的很小的一個子集進行分析,所以它需要的迭代次數(shù)更少,收斂速度更快,減少了時間復(fù)雜度。

但 HITS 算法也存在如下缺點:中心網(wǎng)頁之間的相互引用以增加其網(wǎng)頁評價,當(dāng)一個網(wǎng)站上的多篇網(wǎng)頁指向一個相同的鏈接,或者一個網(wǎng)頁指向另一個網(wǎng)站上的多個文件時會引起評分的不正常增加,這會導(dǎo)致易受“垃圾鏈接”的影響;網(wǎng)頁中存在自動生成的鏈接;

主題漂移,在鄰接圖中經(jīng)常包括一些和搜索主題無關(guān)的鏈接,如果這些鏈接自身也是中心網(wǎng)頁或權(quán)威網(wǎng)頁就會引起主題漂移:對于每個不同的查詢算法都需要重新運行一次來獲取結(jié)果。這使得它不可能用于實時系統(tǒng),因為對于上千萬次的并發(fā)查詢這樣的開銷實在太大。

第三種算法、Direct Hit 算法

與前面的算法相比,Ask Jeeves 公司的 Direct Hit 算法是一種注重信息的質(zhì)量和用戶反饋的排序方法。它的基本思想是,搜索引擎將查詢的結(jié)果返回給用戶,并跟蹤用戶在檢索結(jié)果中的點擊。如果返回結(jié)果中排名靠前的網(wǎng)頁被用戶點擊后,瀏覽時間較短,用戶又重新返回點擊其它的檢索結(jié)果,那么可以認為其相關(guān)度較差,系統(tǒng)將降低該網(wǎng)頁的相關(guān)性。另一方面,如果網(wǎng)頁被用戶點擊打開進行瀏覽,并且瀏覽的時間較長,那么該網(wǎng)頁的受歡迎程度就高,相應(yīng)地,系統(tǒng)將增加該網(wǎng)頁的相關(guān)度??梢钥闯?,在這種方法中,相關(guān)度在不停地變化,對于同一個詞在不同的時間進行檢索,得到結(jié)果集合的排序也有可能不同,它是一種動態(tài)排序。

分析:該算法的優(yōu)點是能夠節(jié)省大量時間,因為用戶閱讀的是從搜索結(jié)果中篩選出來的更加符合要求的結(jié)果。同時,這種算法直接融入用戶的反饋信息,能夠保證頁面的質(zhì)量。

然而,統(tǒng)計表明,Direct Hit 算法只適合于檢索關(guān)鍵詞較少的情況,因為它實際上并沒有進行排序,而是一種篩選和抽取,在檢索數(shù)據(jù)庫很大、關(guān)鍵詞很多的時候,返回的搜索結(jié)果成千上萬,用戶不可能一一審閱。因此,這種方式也不能作為主要的排序算法來使用,而是一種很好的輔助排序算法,目前在許多搜索引擎當(dāng)中仍然在使用。

其實對于網(wǎng)頁的搜索排名,都是多種算法綜合作用的結(jié)果,簡單分析上面的三種算法,Pagerank 可以給網(wǎng)站上的所有網(wǎng)頁給予一個重要性的排序,但是沒有針對性、相關(guān)性,而且現(xiàn)在 PR 值作弊已經(jīng)到了一個泛濫的地步,所以 PR 就網(wǎng)頁排名的重要性已經(jīng)大為下降;

Hilltop 算法的提出,對于廣大站長做外部鏈接建設(shè),將起到指導(dǎo)作用。在 Hilltop 算法中,每個領(lǐng)域都會有若干專家頁面,如果搜索相關(guān)關(guān)鍵詞,搜索引擎首先會從專家頁面查找,如果匹配度不夠,再從專家頁面鏈接的下一級頁面查找,以此類推。

Direct Hit 算法可以作為 Hilltop 和 pagerank 很好的補充,Direct Hit 更多的是,考慮了用戶體驗的影響,對搜索結(jié)果的質(zhì)量,進行實時的更新,一個最符合搜索用戶要求的頁面,應(yīng)該是用戶從搜索框中點擊頁面鏈接開始,用戶瀏覽網(wǎng)站超過一定時間,則被認為結(jié)果頁面,更符合用戶搜索的要求,長期有效的點擊,頁面在搜索引擎中排名,就會有相應(yīng)的提高。

通過以上三種算法,就可以明白,無論是做外鏈還是網(wǎng)站內(nèi)容建設(shè),首先需要考慮的就是相關(guān)性,在外鏈建設(shè)中,要努力尋找主題相關(guān)中,權(quán)威度高的網(wǎng)站,軟文、友情鏈接等,都可以看作是這些網(wǎng)站,對你的支持,同時,注意網(wǎng)站的跳出率和瀏覽時間,時刻反饋用戶數(shù)據(jù),對一些重點頁面,用戶點擊量較高的頁面,做好相關(guān)性推薦,引導(dǎo)用戶點擊更多的頁面。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號