中文搜索引擎技術揭密:排序技術

穩萊

中文搜索引擎技術揭密:排序技術

  http://www.sowang.com 2004年4月26出處:e800.com.cn

 

     【e800.com.cn 編者按】隨著“眼球經濟”席捲互聯網,成千上萬的資金迅速流向最能吸引流覽著眼球的搜索引擎市場。有大量調查顯示搜索引擎市場正處在高速發展時期,成為了未來幾年內最具發展潛力的產業之一。隨著Google、百度、中國搜索等各具特色的搜索引擎逐漸成為人們最常用的網路工具,企業對搜索引擎的注意力也從“觀察”升級為“動武”。

    隨著市場容量和使用者人數的不斷激增,如何完善搜索功能使之更加公平、公開、標準和人性化也就隨之成為了一個備受關注的話題。但是有一個矛盾體在這其中不斷的顯現出來:收費可以為搜索引擎公司帶來利潤,但同時會降低訪問者的體驗滿意度。如何權衡金錢和用戶需求之間的天平呢?

    【e800.com.cn 專稿】Google成功的秘密

    到2004年為止,Google(http://www.google.com)已經連續兩年被評為全球第一品牌,Google成立僅五年時間,最初只是兩個斯坦福大學學生的研究專案。這不能不說是一個奇跡,就像比爾‧蓋茨創制奇跡一樣。比爾‧蓋茨能創造奇跡,是因為他看准了個人電腦軟體市場的趨勢,所以創建的公司叫Microsoft(微軟):Micro(小)Soft(軟體)。那麼Google呢?在Google出來之前已經有一些很有成就的搜索引擎公司,其實力也很強,看來不只是Google看見了搜索的趨勢。Google究竟成功的秘密在哪兒?

    Google的成功有許多因素,最重要的是Google對搜索結果的排序比其他搜索引擎都要好。Google保證讓絕大部分用搜索的人,都能在搜索結果的第一頁找到他想要的結果。客戶得到了滿足,下一次還過來,而且會向其他人介紹,這一來一往,使用的人就多了。所以Google在沒有做任何廣告的前提下,讓自己成為了全球最大的品牌。Google究竟採用了哪種排序技術?PageRank,即網頁級別。

    Google有一個創始人叫Larry Page,據說PageRank的專利是他申請的,於是依據他的名字就有了Page Rank。國內也有一家很成功的搜索引擎公司,叫百度(http://www.baidu.com)。百度的創始人李彥宏說,早在1996年他就申請了名為超鏈分析的專利,PageRank的原理和超鏈分析的原理是一樣的,而且PageRank目前還在Paten-pending(專利申請中)。言下之意是這裏面存在專利所有權的問題。這裏不討論專利所有權,只是從中可看出,成功搜索引擎的排序技術,就其原理上來說都差不多,那就是鏈結分析。超鏈分析和PageRank都屬於鏈結分析。

    鏈結分析到底為何物?由於李彥宏的超鏈分析沒有具體的介紹,筆者唯一看過的就是在美國專利局網站上關於李彥宏的專利介紹。PageRank的介紹倒是不少,而且目前Google畢竟是全球最大的搜索引擎,這裏以PageRank為代表,詳細介紹鏈結分析的原理。

    PageRank揭密

    PageRank的原理類似於科技論文中的引用機制:誰的論文被引用次數多,誰就是權威。說的更白話一點:張三在談話中提到了張曼玉,李四在談話中也提到張曼玉,王五在談話中還提到張曼玉,這就說明張曼玉一定是很有名的人。在互聯網上,鏈結就相當於“引用”,在B網頁中鏈結了A,相當於B在談話時提到了A,如果在C、D、E、F中都鏈結了A,那麼說明A網頁是最重要的,A網頁的PageRank值也就最高。

    如何計算PageRank值有一個簡單的公式

    其中:係數為一個大於0,小於1的數。一般設置為0.85。網頁1、網頁2至網頁N表示所有鏈結指向A的網頁。

    由以上公式可以看出三點

    1、鏈結指向A的網頁越多,A的級別越高。即A的級別和指向A的網頁個數成正比,在公式中表示,N越大, A的級別越高;

    2、鏈結指向A的網頁,其網頁級別越高, A的級別也越高。即A的級別和指向A的網頁自己的網頁級別成正比,在公式中表示,網頁N級別越高, A的級別也越高;

    3、鏈結指向A的網頁,其鏈出的個數越多,A的級別越低。即A的級別和指向A的網頁自己的網頁鏈出個數成反比,在公式中現實,網頁N鏈出個數越多,A的級別越低。

    每個網頁有一個PageRank值,這樣形成一個巨大的方程組,對這個方程組求解,就能得到每個網頁的PageRank值。互聯網上有上百億個網頁,那麼這個方程組就有上百億個未知數,這個方程雖然是有解,但計算畢竟太複雜了,不可能把這所有的頁面放在一起去求解的。對具體的計算方法有興趣的朋友可以去參考一些數值計算方面的書。

    總之,PageRank有效地利用了互聯網所擁有的龐大鏈結構造的特性。 從網頁A導向網頁B的鏈結,用Google創始人的話講,是頁面A對頁面B的支援投票,Google根據這個投票數來判斷頁面的重要性,但Google除了看投票數(鏈結數)以外,對投票者(鏈結的頁面)也進行分析。「重要性」高的頁面所投的票的評價會更高,因為接受這個投票頁面會被理解為「重要的物品」。從新浪、雅虎、微軟的首頁都有我網頁的三個鏈結的話,可能比我在其他網站找三十個鏈結還強。如果還有人不理解這個原理,就去想想有句成語叫:三人成虎。如果有三個人都說北京大街上有老虎,那麼許多人會認為有老虎,如果這三個人都是國家領導人的話,那麼所有人都會認為北京大街上有老虎。

    每個網頁都會有PageRank值,如果大家想知道自己網站的網頁PageRank值是多少,最簡單的辦法就是下載一個Google的免費工具欄(http://toolbar.google.com/),

    每當你打開一個網頁,都可以很清楚的看見此網頁的PageRank值。當然這個值是一個大概數字。

    據Google技術負責人介紹,Google除了用PageRank衡量網頁的重要程度以外,還有其他上百種因素來參與排序。其他搜索引擎也是如此,不可能按照某一種規則來進行搜索結果的排序。

    其他方法

    HillTop演算法:

    HillTop同樣是一項搜索引擎結果排序的專利,是Google的一個工程師Bharat在2001年獲得的專利。Google的排序規則經常在變化,但變化最大的一次也就是基於HillTop演算法進行了優化。HillTop究竟原理如何,值得Google如此青睞?

    其實HillTop演算法的指導思想和PageRank的是一致的,都是通過網頁被鏈結的數量和質量來確定搜索結果的排序權重。但HillTop認為只計算來自具有相同主題的相關文檔鏈結對於搜索者的價值會更大:即主題相關網頁之間的鏈結對於權重計算的貢獻比主題不相關的鏈結價值要更高。如果網站是介紹“服裝”的,有10個鏈結都是從“服裝”相關的網站鏈結過來,那這10個鏈結比另外10個從“電器”相關網站鏈結過來的貢獻要大。Bharat稱這種對主題有影響的文檔為“專家”文檔,從這些專家文檔頁面到目標文檔的鏈結決定了被鏈結網頁“權重得分”的主要部分。

    與PageRank結合HillTop演算法確定網頁與搜索關鍵字的匹配程度的基本排序過程取代了過份依靠PageRank的值去尋找那些權威頁面的方法。這對於兩個具有同樣主題而且PR相近的網頁排序過程中,HillTop演算法就顯得非常的重要了。HillTop同時也避免了許多想通過增加許多無效鏈結來提高網頁PageRank值的做弊方法。

    錨文本(Anchor Text)

    錨文本名字聽起來難以理解,實際上錨文本就是鏈結文本。例如,在個人網站上把中央電視臺(www.cctv.com)做為新聞頻道的鏈結,訪問者通過點擊網站上的“新聞頻道”就能進入http://www.cctv.com網站,那麼“新聞頻道”就是中央電視臺網站首頁的錨文本。

    錨文本可以做為錨文本所在的頁面的內容的評估。正常來講,頁面中增加的鏈結都會和頁面本身的內容有一定的關係。服裝的行業網站上會增加一些同行網站的鏈結或者一些做服裝的知名企業的鏈結;另一方面,錨文本能做為對所指向頁面的評估。錨文本能精確的描述所指向頁面的內容,個人網站上增加Google的鏈結,錨文本為“搜索引擎”。這樣通過錨文本本身就能知道,Google是搜索引擎。

    錨文本對搜索引擎起的作用還表現為可以收集一些搜索引擎不能索引的檔。例如,網站上增加了一張張曼玉的照片,格式為jpg檔,搜索引擎目前很難索引(一般只處理文本)。若這張照片鏈結的錨文本為“張曼玉的照片”,那麼搜索引擎就能識別這張圖片是張曼玉的照片,以後訪問者搜索“張曼玉”的時候,這張圖片就能被搜索到。

    由此可見,在網頁設計中選擇合適的錨文本,會讓所在網頁和所指向網頁的重要程度有所提升。

    頁面版式

    每個網頁都有版式,包括標題、字體、標籤等等。搜索引擎也會利用這些版式來識別搜索詞與頁面內容的相關程度。以靜態的html格式的網頁為例,搜索引擎通過網路蜘蛛把網頁抓取下來後,需要提取裏面的正文內容,過濾其他html代碼。在提取內容的時候,搜索引擎就可以記錄所有版式資訊,包括:哪些詞是在標題中出現,哪些詞是在正文中出現,哪些詞的字體比其他的字體大,哪些詞是加粗過,哪些詞是用KeyWord標識過的等等。這樣在搜索結果中就可以根據這些資訊來確定所搜索的結果和搜索詞的相關程度。例如搜索“毛澤東”,假如有兩個結果,一篇文章標題是《毛澤東的一生》,另一篇文章的標題是《江青的一生》但內容有提到毛澤東,這時搜索引擎會認為前者比較重要,因為“毛澤東”在標題裏出現了。

    因此,合理的利用網頁的頁面版式,會提升網頁在搜索結果頁的排序位置。

    收費排名

    應該說收費排名並不屬於排序技術(這裏指的收費排名也包括競價排名),而是一種搜索引擎的贏利模式。但收費排名已經最直接的影響到了搜索引擎的排序,在此也略做說明。

    用戶可以購買某個關鍵字的排名,只要向搜索引擎公司交納一定的費用,就可以讓用戶的網站排在搜索結果的前幾位元,按照不同關鍵字、不同位置、時間長短來定義價格。價格從幾千元到幾十萬元不等(像“六合彩”在3721上的排名費用大多是幾十萬)。

    收費排名一方面給搜索引擎公司帶來收益,一方面給企業帶來訪問量,另外對訪問者也有一定好處。因為訪問者想找“西服”,企業想賣“西服”,於是出錢讓訪問者能找到他,這樣,買家和賣家能馬上見面。但收費排名給訪問者帶來更多的卻是不真實,結果排序已經失去了公正性,有時候還帶來大量垃圾。在百度搜索引擎上搜索“星球”,排在第一位的是一家做石墨的公司,排在第二位的居然是“想找星球?上易趣吧!”(見下圖)。真有些讓訪問者哭笑不得。

    當然,對於企業來說,收費排名是提升網站在搜索引擎中排名的最直接和最簡單的辦法。如今,如何提升網頁在搜索引擎中的排序,已經形成了一門職業,叫SEO(Search Engine Optimization),即搜索引擎優化。SEO是針對搜索引擎排序的技術,通過修改網頁(或者網站)結構和主動增加網站鏈結等方法來讓搜索引擎認為這些網頁是很重要的,從而提升網頁在搜索引擎結果中的排序。

    排序技術的發展趨勢

    各種搜索引擎的技術改進和優化,都直接反應到搜索結果的排序上。許多搜索引擎都在進一步研究新的排序方法,來提升客戶的滿意度。專業人士認為,目前的搜索引擎排序演算法上還存在兩大不足。

    一、沒有真正解決相關性。相關性是指搜索詞和頁面的相關程度。僅僅通過鏈結、字體、位置等表面特徵,不能真正判斷搜索詞和文章的相關性,更何況許多時候這些特徵不會都同時存在。這也是許多對搜索引擎做弊方法能有效的原因。另外,有些文章中沒有出現搜索詞,但說的就是和搜索詞十分相關的內容,例如搜索“恐怖分子”,但有網頁是介紹本拉登的一些破壞行動,文中沒有出現“恐怖分子”的子眼,搜索引擎就無法搜索到該網頁。表面特徵只能治標,不能治本。治本的方法應該是增加語意理解,例如主題詞和關鍵字的提取,從語意上分析,得出搜索詞和網頁的相關程度,分析的越准,效果就會越好。

    二、搜索結果的單一化。在搜索引擎上,任何人搜索同一個詞的結果都是一樣。這樣明顯不能滿足訪問者。科學家搜索“星球”,可能是希望瞭解星球的知識,但普通人可能是想找“星球大戰”電影,但搜索引擎所給的都是一樣的結果。如何滿足這些不同類型的訪問者,需要對搜索結果的個性化。國外vivisimo公司(http://www.vivisimo.com)就是想解決這個問題,他們採用對搜索結果自動聚類的辦法來滿足不同類型客戶的需要。搜索結果排序如果要實現從單一化到個性化,vivisimo已經邁出了一步,但最理想的結果應該是針對每個訪問者,排序結果直接和他們的搜索習慣和意願有關。搜索“體育”,對喜歡足球的人應該把足球的相關結果排在前面,對喜歡籃球的人應該把籃球的相關結果排在前面。

    搜索引擎的排序技術應該也會朝著解決這兩個不足的方向發展:語意相關性和排序個性化。前者需要完善的自然語言處理技術,後者需要記錄龐大訪問者資訊和複雜的計算,要達到其中任何一個的要求均非易事,如何解決這些難題,任務落在了科學家和工程師們的肩上,哪個搜索引擎解決了這些問題,她可能會稱為下一個搜索世界的霸主。

 給當前日誌評分:
Loading Vote
正在讀取評分資料...


文章來自: Tank部落格
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相關日誌:

評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 遊客發言不需要密碼.
內 容:
驗證碼: 驗證碼
選 項:
雖然發表評論不用註冊,但是為了保護您的發言權,建議您註冊帳號.