搜索引擎的排序技術


摘  要:     本文簡要介紹和比較了目前搜索引擎所使用的排序算法,主要包括詞頻位置加權排序算法,鏈接分析排序算法,並着重介紹了PageRank算法和HITS算法的思想以及二者比較的優缺點。

關鍵詞:     搜索引擎;排序; PageRank; HITS

 

1     前言

Google和Baidu的崛起,很大程度上是由於他們使用了較以往搜索引擎更加優秀的排序技術。由於通常人們只會關注搜索結果的前10項或20項,所以將與用戶查詢的結果最相關的信息排列在結果的前排是尤為重要的。比如說以.jp, .de和.edu域名下的網頁通常會比.com和.net域名下的網頁更加有用[1] 。如何使用戶關注的網頁排列在搜索結果中靠前排列,使各個搜索引擎公司不斷改進優化的方向。作者通過閱讀論文與網絡資料,將總結並介紹幾種比較主要的排序算法:詞頻位置加權排序算法,鏈接分析排序算法。

2     詞頻位置加權排序算法

此類技術是由傳統的情報檢索和技術基礎上發展而來的,即用戶輸入的檢索詞在網頁中出現的頻率越高,出現的位置越重要,那么就認為該網頁與此檢索詞的相關度越高,其在搜索結果出現的位置越靠前,早期的搜索引擎如InfoSeek, Excite, Lycos都使用此類排序方法。

2.1    詞頻加權

詞頻加權即根據用戶提供的檢索詞在網頁中出現的次數作為判定網頁相關度權值高低的依據。詞頻加權的方法有絕對詞頻加權、相對詞頻加權、反詞頻加權、基於詞分辨值加權等等。對於單一詞搜索引擎, 只用單純地計算一個詞在網頁中的出現頻率就可給定權值,而對於具有進行邏輯組配功能的搜索引擎, 則必須用其它的加權方法。因為用組配的檢索式檢索時, 檢索結果跟檢索式中的每個檢索詞相關, 而每個檢索詞在所有的網頁中出現的總頻率是不同的,如果按總權值來排序, 就會造成結果的不相關。這可以通過其它多種方法解決。例如, 利用相對詞頻加權原理, 可以通過對大量網頁的統計, 把越是在所有網頁中出現頻率高的詞賦予一個較低的初始值相對地, 在所有網頁中出現頻率低的詞, 給一個較高的權值[2]。                                                                                                                                                                          

2.2    詞位置加權

通過對詞在網頁中不同位置和版式, 給予不同的權值, 從而根據權值來確定所搜索的結果和搜索詞的相關程度。詞的位置包括網頁標題元、網頁描述關鍵字元、正文標題、正文內容、文本鏈接、標識等, 版式包括字體、字號、有無加粗強調等。例如要了解排序技術, 在搜索“排序技術” 時, 有兩個結果,一個標題是《搜索引擎的排序技術》, 另一篇文章的標題是《Web信息檢索》, 但內容有個別地方提到搜索引擎的排序技術, 顯然第一個結果的相關性更大,“排序技術” 這個詞在第一個結果中給予的權值應大一些。

2.3    此類算法的優缺點

此類方法的主要優點就是易用易實現,而且發展的也最成熟,基本上目前所有的搜索引擎排序核心技術的基礎。但是由於目前網絡的內容質量無法得到保證,為使其網頁在搜索引擎中排名靠前,在網頁中加入和背景顏色一樣的層,並填入大量熱門關鍵詞, 人來瀏覽網頁時完全看不到,但搜索引擎在標引時, 卻能發現。這種問題目前已經得到一定程度的改善,但仍然未能完全根除。

3     鏈接分析排序

鏈接分析排序算法的思想,其實來自於論文文獻索引機制,即一篇論文或文獻被引用的次數越多,那么其學術價值就越高,同樣類比到網頁,如果指向某網頁的鏈接越多,那么該網頁的重要性就越高。鏈接分析算法主要分為基於隨機漫游模型的, 比如PageRank算法;基於Hub和Authority相互加強模型的, 如HITS及其變種;基於概率模型的, 如SALSA; 基於貝葉斯模型的, 如貝葉斯算法及其簡化版本。下面將分別對這幾種算法進行介紹。

3.1    PageRank算法

Google搜索引擎有兩個重要的特征使得它可以得到高准確度的結果。一,它利用網絡的鏈接特性來計算網頁的質量排名,這就是PageRank;二,它利用鏈接來改進搜索結果[3]

    簡單的PageRank原理即如圖1所示的那樣,從網頁A導向網頁B的鏈接被看作是對頁面A對頁面B的支持投票,Google根據這個投票數來判斷頁面的重要性。可是 Google 不單單只看投票數(即鏈接數),對投票的頁面也進行分析。重要性高的頁面所投的票的評價會更高。

 

圖1 PageRank原理簡易示意圖[4]

最初的PageRank算法:PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))

式中:PR(A) :網頁A頁的PageRank值;PR(Ti): 鏈接到A頁的網頁Ti的PageRank值;C(Ti) :網頁Ti的出站鏈接數量;d :阻尼系數,0<d<1。Lawrence Page和Sergey Brin為以上這個PageRank算法給出了一個非常簡單直觀的解釋。他們將PageRank視作一種模型,就是用戶不關心網頁內容而隨機點擊鏈接。

在第二個版本的算法里:PR(A) = (1-d) / N + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))

這里的N是整個互聯網網頁的總數。這個算法2,並不是完全不同於算法1。隨機沖浪模型中,算法2中頁面的PageRank值就是在點擊許多鏈接后到達這個頁面頁面的實際概率。因此,互聯網上所有網頁的PageRank值形成一個概率分布,所有RageRank值之和為1。

由於PR(A)取決於其他鏈向網頁A的網頁PageRank值,而其他網頁的PR值同樣取決於指向該網頁的網頁PR值,如此往復下去,是個遞歸的過程。如此看來需要進行無窮盡的計算,才能獲得網頁的PR值,根據參考文獻5中的試驗,它對網絡中的3.22億個鏈接進行遞歸計算,發現進行52次計算后可獲得收斂穩定的PageRank值,而對其中一半的鏈接計算PageRank值時,進行了45次計算。通過試驗,發現需要進行遞歸計算的次數和鏈接數是成對數比例增長的,即要對N個鏈接進行計算PageRank值時,只需進行logN次遞歸計算就可獲得穩定的PageRank值[5]

3.2    Hits算法

PageRank算法中對於鏈接一視同仁,認為每個鏈接所貢獻的權值都是相同的,而在實際生活中,有些鏈接是指向廣告,而有些鏈接則指向權威網頁。可見,均勻分布的權值並不符合實際情況。於是康奈爾大學的Jon Kleinberg博士於1998年首先提出Hits算法。

HITS算法對網頁進行質量評估的結果反映在它對每個網頁給出的兩個評價數值:內容權威度(Authority)和鏈接權威度(Hub)上。

內容權威度與網頁自身直接提供內容信息的質量相關,被越多網頁所引用的網頁,其內容權威度越高;與之相對應的,鏈接權威度與網頁提供的超鏈接的質量相關,引用越多內容質量高網頁的網頁,其鏈接權威度越高。將查詢提交給傳統的基於關鍵字匹配的搜索引擎.搜索引擎返回很多網頁,從中取前n個網頁作為根集合。把根集合中的頁面所指向的頁面都包括進來,再把指向根集合中頁面的頁面也包括進來,這樣就擴充成了基礎集合。HITS算法輸出一組具有較大Hub值的網頁和具有較大權威值的網頁[6]

與PageRank等實用性算法不同,HITS算法更大程度上是一種實驗性質的嘗試。表面上看,HITS 算法對需排序的網頁數量較小,但由於需要從基於內容分析的搜索引擎中提取根集並擴充基本集,這個過程需要耗費相當的時間,而PageRank 算法表面上看,處理的數據數量上遠遠超過了HITS算法,但由於其計算量在用戶查詢時已由服務器端獨立完成,不需要用戶端等待,基於該原因,從用戶端等待時間來看,PageRank算法應該比HITS 要短[7]

3.3    其他鏈接分析排序算法

PageRank算法是基於用戶隨機的向前瀏覽網頁的直覺知識,HITS算法考慮的是Authoritive網頁和Hub網頁之間的加強關系。實際應用中,用戶大多數情況下是向前瀏覽網頁,但是很多時候也會回退瀏覽網頁。基於上述直覺知識,R. Lempel和S. Moran提出了SALSA(Stochastic Approach for Link-Structure Analysis)算法,考慮了用戶回退瀏覽網頁的情況,保留了PageRank的隨機漫游和HITS中把網頁分為Authoritive和Hub的思想,取消了Authoritive和Hub之間的相互加強關系[8]

Allan Borodin等提出了完全的貝葉斯統計方法來確定Hub和Authoritive網頁。假定有M個Hub網頁和N個Authority網頁,可以是相同的集合。每個Hub網頁有一個未知的實數參數,表示擁有超鏈的一般趨勢,一個未知的非負參數,表示擁有指向Authority網頁的鏈接的趨勢。每個Authoritive網頁j,有一個未知的非負參數,表示j的Authority的級別。統計模型如下,Hub網頁i到Authority網頁j的鏈接的先驗概率如下給定:P(i,j)=Exp(+)/(1+Exp(+))。Hub網頁i到Authority網頁j沒有鏈接時,P(i,j)=1/(1+Exp(+))。從以上公式可以看出,如果很大(表示Hub網頁i有很高的趨勢指向任何一個網頁),或者和都很大(表示i是個高質量Hub,j是個高質量的Authority網頁),那么i->j的鏈接的概率就比較大[9]

4     其他排序技術

除了上述兩大類排序算法外,還有其他一些排序的方法,比如:競價排名(競價排名是一些搜索引擎公司如百度所推出的一種按價格高低決定排名先后的網絡推廣方式,但對競價者的信息真實性需要進行嚴格甄選,否則用戶對搜索引擎的信任會被灰色產業利用[10]),通過用戶反饋提高排序准確性,通過理解增加排序的相關性,通過智能過濾減少排序結果的重復性等。

5     結束語

綜上所述,目前像Google這樣的搜索引擎,其中排序方法是非常復雜的,它需要考慮各個方面的因素而不是單一的上述某種算法。我個人認為搜索引擎今后會變得更加人性化,會根據用戶的喜好來對結果進行排序和過濾,另外針對特定領域的專業搜索引擎也會逐漸發展起來,比如針對財經,體育之類的專門搜索引擎。相信在瀏覽器逐漸強大的未來,搜索引擎將發揮更大的影響力。

 

 

References:

 [1]     Dennis Fetterly , Mark Manasse , Marc Najork , Janet Wiener: A Large-Scale Study of the Evolution of Web Pages, In:Proc.of the 12th Int'l World Wide Web Conf.New York:ACM Press,2003.669-678..

 [2]     楊思洛. 搜索引擎的排序技術研究[J].現代圖書情報技術, 2005, (01).

 [3]     S.Brin and L.Page, "The anatomy of a large-scale hypertextual Web search engine," presented at Proceeding of the Seventh International World Wide Web Conference(WWW7)/Computer Networks, Amsterdam, 1998

 [4]     Page L, Brin S, etc. The pagerank citation ranking: bringing order to the Web[J].Stanford Digital Libraries Working Paper,1998,(6):102-107.

 [5]     T. Have liwala. Efficient computation of PageRank. Technical Report 1999-31, 1999.

 [6]     http://www.360doc.com/showWeb/0/0/569471.aspx

 [7]     何曉陽, 吳強, 吳治蓉:HITS算法與PageRank算法比較分析.情報雜志2004年第2期

 [8]     http://hi.baidu.com/en_seo/blog/item/ba54f586b343f13c67096e97.html

 [9]     朱煒, 王超, 李俊等. Web超鏈分析算法研究.計算機科學,2003,30(1)

[10]     常璐, 夏祖奇; 搜索引擎的幾種常用排序算法.圖書情報工作2003年第6期

轉載 http://blog.csdn.net/arthur0808/article/details/4030340


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM