摘要:搜索引擎是一項嶄新而深奧的技術,該文主要研究了搜索引擎的排序問題,首先簡單介紹了搜索引擎的發展和搜索排序的重要性,然后分析了當前用戶對搜排序索結果中存在的問題并結合搜索引擎的工作流程闡述了搜索排序的巨大作用。接著研究了當前搜索引擎中使用比較廣泛的搜索排序算法,如Alexa算法、PageRank算法、HillTop算法等,并比較了各個算法的不同,最后并指出當前搜索引擎排序算法存在的一些不足,并展望了今后搜索引擎排序算法的發展趨勢。
關鍵詞:搜索引擎;排序;排序算法
中圖法分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2009)05-1250-03
The Research on the Rank Algorithms of Search Engine
WANG Tao, XU Jie
(School of Computer Science and Engineering, University Electronic Science and Technology of China, Chengdu, 610054,China)
Abstract: Search engine itself is a new and esoteric technique. This paper is mainly on the search engine ranking problem. First the paper briefly introduced the development of search engine and the significance of the ranking algorithms of search engine. And some problems of the user on the search result are introduced. The paper study the commonly used ranking algorithms of popular search engines such as Alexa, PageRank, HillTop and so on. The differences between the ranking algorithms are compared and their shortcomings are pointed out. Finally, the development trend of ranking algorithms of search engine is also mapped in the future.
Key words: search engine; sort technology; ranking algorithms
搜索引擎是要給對互聯網上的海量信息資源進行搜集并整理,然后給用戶查詢的系統。它一般包括信息搜集、信息整理和用戶查詢三個部分組成。
早期的搜索引擎是把Internet中的豐富的資源地址搜集起來,然后又由其提供的資源的不同類型而分成不同的目錄,在逐層地進行分類,這就是目錄索引搜索引擎的原理。隨著因特網上的信息成幾何級數式增長[1],出現了真正意義上的搜索引擎,這些搜索引擎收集很多網站的地址,隨后逐一搜索網站的所有鏈接,把網站的所有鏈接和鏈接中的所有詞匯分類存入數據庫中,便于用戶能夠方便地進行查詢,并快速返回用戶查詢的結果信息,并對查詢的結果進行排序,其中,搜索結果的排序對搜索引擎起著重要的作用,也是衡量搜索引擎的一個重要指標。
1 搜索排序的作用
搜索引擎的目標是幫助用戶迅速查找到所需的網絡資源, 并快速將搜索的信息反饋給用戶。作為用戶希望最符合自己需求的網絡資源能在放置在搜索結果隊列里排在前面。從用戶的搜索行為習慣來看, 用戶通常最關心前幾頁的信息,而越往后的信息用戶越不愿意查看。
然而,針對當前用戶反應,搜索引擎排序主要存在如下一些問題:
1)搜索結果重復;
2)搜索結果排序欠佳;
3)搜索結果太陳舊;
4)廣告太多。
由此可見,搜索引擎排序中搜索結果的排序在搜索引擎中發揮著很重要的作用。好的搜索引擎總能將用戶需要的結果信息放置在搜索結果的前面,相反如果用戶需要的結果信息總被排在檢索結果的后面, 則被用戶點擊的機率就很小,這樣的搜索引擎也不會取得成功。圖1中展示了搜索引擎的工作原理以及搜索排序在搜索引擎中的地位和作用,由圖中可以看出,搜索排序是整個流程中與用戶的接口層,其排序的好壞直接影響整個搜索引擎的設計流程??偠灾?排序是搜索引擎最關鍵的技術之一, 排序策略和算法決定了排序效果的優劣。
2 排序技術介紹
2.1 Alexa網站排序算法
Alexa是發布世界網站排名而引人注目的一個網站,在收集URL數量上,ALexa位居四大搜索引擎第一位,超過350億。Alexa的網站世界排名主要分兩種:綜合排名和分類排名。綜合排名也叫絕對排名,即特定的一個網站在所有網站中的名次。Alexa每三個月公布一次新的網站綜合排名,此排名的依據是用戶鏈接數(users reach)和頁面瀏覽數(page views)三個月累積的幾何平均值。當前世界排名最靠前的網站:雅虎(www.yahoo.com)高居榜首,而世界著名的搜索引擎Google排名第二。
但Alexa網站排名會受到一些因素的影響,如Alexa工具欄僅在windows操作系統下,Internet Exploer瀏覽器中管用,使用其它操作系統或者瀏覽器的訪問將不能被計數。Alexa工具欄也受到語言、地域、文化等各方面的影響,網站宣傳廣告的影響等。
2.2 PageRank排序算法
Goolge是當前全球用戶使用最多的搜索引擎。Google之所以能夠如此成功,一個重要的因素是Google對搜索結果的排序比其它的搜索引擎都要好,總能將結果返回到前幾個頁面。這與Google的搜索引擎排序算法分不開,Google的搜索結果的質量在很大程度上受益PageRank排序算法。
PageRank 算法的基本思想是:如果一個頁面被許多其他頁面引用[2],則這個頁面很可能就是重要頁面;一個頁面盡管沒有被多次引用,但被一個重要頁面引用,那么這個頁面很可能也是重要頁面,一個頁面的重要性被均分并將傳遞到它所引用的頁面中。其中頁面的重要程度量化后的分數就是PageRank 值。著名的搜索引擎Google 所用的就是PageRank 算法,該排序根據網頁間的鏈接信息迭代計算得到,這里的鏈接信息是相對靜態的,沒有考慮網頁使用的動態信息。
根據這個思想,可以得出頁面A的PageRank值PR(A)的計算公式為:
式中: PR(A) —— 頁面A的PageRank值;PR(Ti) —— 頁面Ti的PageRank值,頁面Ti鏈向頁面A;C(Ti) —— 頁面Ti鏈出的鏈接數量;d —— 阻尼系數,d=0-1,實際應用時設0.85;N —— 互聯網上所有網頁的數量。
由上面的公式可以看出,一個網頁鏈入的數量越多,這些鏈入網頁的PageRank值越高,這些鏈入網頁本身的鏈出數量越少,則該網頁的PageRank值越高。和Alexa算法不同,PageRank算法并不是將整個網站排名而是以單個頁面計算的。其次,頁面A的PageRank的值取決于那些連接到A的PageRank的遞歸。
PageRank技術根據網頁之間的鏈接結構對網頁的重要性進行了客觀的評價,并將網頁的PageRank值應用于檢索已過的排序,網頁的PageRank值越高,表明其越重要,排序越前。這樣,在很大程度上避免和減少了人為因素,做到客觀地將最恰當的檢索結果展現給用戶。消除了通過用不公正的方式處理網頁級別,使真正有信息資源價值的任何小網站的網頁在檢索時和有名的網站的網頁占有同等的地位,使搜索用戶不會被假排名靠前的網站所干擾,保證用戶能夠檢索到真正有用的信息。
2.3 HillTop排序技術
和PageRank一樣,HillTop同樣是一項搜索引擎結果排序的專利,是Google一個工程師Bharat在2001年獲得的專利。
HillTop算法的指導思想和PageRank的是一致的,都是通過網頁被鏈接的數量和質量來確定搜索結果和排序權重。但HillTop認為只計算來自具有相同主題的相關文檔鏈接對于搜索的價值會更大。Bharat稱這種對主題有影響的文檔為“專家”文檔,從這些專家文檔頁面到目標文檔的鏈接決定了被鏈接網頁“權重得分”的主要部分。與PageRank結合HillTop算法確定網頁與搜索關鍵詞的匹配程度的基本排序過程取代了過分依靠PageRank值去尋找那些權威頁面的方法,這對于兩個具有同樣主題而且PR值相近的網頁排序過程中,HillTop算法就顯得非常重要了。同時,HillTop也能避免了許多想通過增加許多無效鏈接來提高網頁PageRank值的作弊方法。
2.4 競價排名
競價排名是現在商業搜索引擎非常重要的一個手段,對于某些關鍵詞搜索引擎進行拍賣,出價高的單位可以獲得較高的排名,即在該關鍵詞的檢索結果中處于較前的位置,通常情況下,首頁排名競價最高。例如在“百度”購買一個關鍵詞足球,首頁的可能要2000元人民幣甚至更多,下面以百度競價為例作一個簡單的介紹。
搜索引擎是應用最廣泛的網絡服務,每天有上千萬的用戶通過搜索引擎來尋找各種信息,企業的潛在用戶也在其中。因此,存在了關鍵詞競價排名的商機。參加百度搜索競價排名,注冊屬于企業的產品關鍵詞(如產品或服務的具體名稱),當企業的潛在用戶通過搜索引擎尋找相關產品信息時,企業的網站將出現在搜索結果的醒目位置上。百度搜索競價排名,可以將那些只在尋找企業產品的潛在客戶直接帶到企業的網站進行訪問,從而為企業帶來大量業務咨詢,進而產生新訂單,贏得新客戶,實踐證明,競價排名是目前效果最好、投資回報最高的網絡推廣服務。
百度競價排名是百度首創的一種按效果付費的網絡推廣方式[3],用少量的投入就可以給企業帶來大量潛在客戶,有效提升企業銷售額,每天有超過一億人次在百度查找信息,企業在百度注冊與產品相關的關鍵詞后,企業就會被查找這些產品的客戶找到“競價排名”按照給企業帶來的潛在客戶訪問數量計費,企業可以靈活控制網絡推廣投入,獲得最大回報應該說收費排名并不屬于排序技術,這里指的收費排名也包括競價排名,而是一種搜索引擎的贏利模式,但收費排名已經最直接的影響到了搜索引擎的排序,在此也略做一下說明,用戶可以購買某個關鍵詞的排名,只要向搜索引擎公司交納一定的費用,就可以讓用戶的網站排在搜索結果的前幾位,按照不同關鍵詞、不同位置、時間長短來定義價格收費,排名一方面給搜索引擎公司帶來收益,一方面給企業帶來訪問量,另外對訪問者也有一定好處因為訪問者想找“足球”,企業想賣“足球”,于是出錢讓訪問者能找到他,這樣,買家和賣家能馬上見面但收費排名給訪問者帶來更多的卻是不真實,結果排序已經失去了公正性,有時候還帶來大量垃圾。
當然,對于企業來說,收費排名是提升網站在搜索引擎中排名的最直接和最簡單的辦法。如前所述的針對搜索引擎排序,通過修改網頁或者網站結構和主動增加網站鏈接等方法來讓搜索引擎認為這些網頁是很重要的,從而提升網頁在搜索引擎結果中的排序,這對眾多沒有參加競價排名的網站來說,是有失公平的。
3 排序結果存在的問題
目前各種搜索引擎的技術都有改進和優化,都直接反應到搜索結果的排序上。許多搜索引擎都在進一步研究新的排序方法,來提升用戶的滿意度。
搜索引擎排序算法上還存在兩大不足:[4]
1)沒有真正解決相關性
相關性是指檢索詞和頁面的相關程度。僅僅通過鏈接、字體、位置等表面特征,不能真正判斷檢索詞和文章的相關性,更何況許多時候這些特征不會都同時存在。這也是許多對搜索引擎作弊方法能起效的原因。另外,有些文章中沒有出現檢索詞,但說的就是和檢索詞十分相關的內容,例如檢索“籃球”,但有網頁是介紹的一些賽事活動,文中沒有出現“籃球”的字眼,搜索引擎就無法檢索到該網頁。表面特征只能治標,不能治本。解決相關性的的方法應該是增加語意理解,例如主題詞和關鍵詞的提取,從語意上分析,得出檢索詞和網頁的相關程度,分析得越準,效果就會越好。
2)搜索結果的單一化
在搜索引擎上,任何人搜索同一個詞的結果都是一樣。這樣明顯不能滿足訪問者??茖W家搜索“星球”,可能是希望了解星球的知識,但普通人可能是想找“星球大戰”電影,但搜索引擎所給的都是一樣的結果。如何滿足這些不同類型的訪問者,需要對搜索結果的個性化。Vivisimo公司就是想解決這個問題,他們采用對檢索結果自動聚類的辦法來滿足不同類型客戶的需要。檢索結果排序如果要實現從單一化到個性化,該公司已經邁出了重要一步,但最理想的結果應該是針對每個訪問者,排序結果直接和他們的檢索習慣和意愿有關。例如搜索“體育”,對喜歡足球的人應該把足球的相關結果排在前面,對喜歡籃球的人應該把籃球的相關結果排在前面。
4 結束語
綜上分析可知,目前現有的所有引擎排序算法并不能很好的滿足用戶的需求,因此,對于搜索排序算法的改進和優化有深入研究的必要。如何解決信息的相關性,如何將搜索的結果實現個性化,搜索引擎的排序技術也會朝著解決這兩個不足的方向發展語意相關性和排序個性化,前者需要完善的自然語言處理技術,后者需要記錄龐大訪問者信息和復雜的計算。相信這方面問題的研究會給搜索引擎技術帶來巨大的發展,也必將會更好的滿足用戶的需求。
參考文獻:
[1] Ricardo Baeza-Yates,Berthier Ribeiro-Neto. Modern Information Retrieval[M]. 北京:機械工業出版社,2005,(3):275~276.
[2] Google 的秘密- PageRank 徹底解說[EB/OL].http://www.kreny.com/pagerank_cn.htm.
[3] 談大軍,林明茵,葉賽.中文和百度的排序方式與檢索效率比較分析[J]. 現代情報, 2005.3.
[4] 許麗麗.專業搜索引擎對比研究[J].現代情報, 2005, (1):188~190.