連線雜志:Google算法統治互聯網的秘訣
谷歌如何搜索浩如煙海的信息
導語:美國《連線》雜志網站日前發表編輯史蒂文·列維(Steven Levy)的文章,揭開了Google搜索算法的神秘面紗。
以下是文章全文:
搜索改變生活
想知道Google將如何改變你的生活嗎?那么周四去“瓦加杜古”會議室看一看吧。在加利福尼亞山景城的這個會議室里,幾十名工程師、產品經理和高管聚集一堂,討論如何令Google的搜索引擎更加智能。今年,Google將對其傳說中的搜索引擎算法進行大約500項改進,而且每一項改進都要通過這樣的會議決定。
每周一次的“搜索質量大會”,都將可能影響Google搜索的結果——“三星SF-755p打印機”、“MySpace布局代碼”,甚至是“布基納法索 首都”,該國首都恰巧與Google此會議室名字相同。自2006年以來,一直擔任Google搜索主管的烏迪·曼博(Udi Manber)任會議的負責人。會議將一一提出可實施的改進,同時還會討論數月來在不同國家、不同語言環境中的測試結果。屏幕上分兩列顯示,更改前后同一查詢返回的結果。在討論“吉他 人聲模擬”的查詢結果時,曼博叫道:“這個我搜過”。
你可能會想,Google已經主導搜索引擎市場長達十年之久,應該可以高枕無憂了。畢竟Google在搜索引擎市場上的份額高達65%,甚至Google一詞已經成為搜索的代名詞。就像Google不愿在桂冠面前止步一樣,其競爭對手也不愿輕易認輸。多年來,Google一直在用其神秘、看起來無所不知的算法來“組織世界信息”。但最近五年來,很多公司開始對Google的這一重要觀點發起挑戰。
Google認為,一個單一的搜索引擎,通過技術創新和不斷改進,可以滿足任何搜索要求。而Facebook較早對此發起了挑戰,認為一些人更愿意通過朋友獲得信息,而不是一個沒有名字的算法公式。Twitter能對不斷更新的消息進行時時分析,這就使“實時搜索”成為現實——挖掘正在進行的討論或閑談。
購物比較網站Yelp通過大眾對商家的等級評定,幫助人們尋找飯店、干洗店和保姆等相關信息。雖然這些后起之秀無法單獨對Google造成威脅,但它們共同預示著搜索行業的一種開放、混沌的未來——并不是被一個搜索引擎所主導,而是包含著豐富多樣的服務。
來自必應的挑戰
然而,Google最大的威脅是微軟的必應(Bing)。必應使人聯想到美國傳奇歌手Bing Crosby、和《黑道家族》中的Bada Bing夜店,這款重新修整、被賦予新品牌的搜索引擎在去年6月推出時便贏得了樂觀的評價。《華爾街日報》稱其“比Google更有吸引力”。新的面貌和1億美元的廣告戰使微軟在美國搜索市場中的份額從8%躍升至11%——如果監管部門批準必應成為雅虎的搜索服務商,這一份額將增加一倍以上。
必應團隊一直專注于Google算法無法滿足的需求。比如,Google擅長搜索公共網絡,但卻無法實時跟蹤不斷變化的航班時刻表和機票價格。因此微軟收購了Farecast網站,該網站追蹤機票價格的變化,并據以預測票價的漲跌。目前,微軟已把Farecast的技術應用加入到必應的搜索結果之中。微軟在其認為Google算法沒有優勢的領域,例如健康、購物領域,也進行了類似的收購。
即使必應團隊承認,在根據搜索詞返回有用信息方面,Google還遙遙領先。但他們仍認為,如果必應可以提供一些擅長的領域,用戶會逐漸習慣使用必應來進行特定的搜索。微軟核心搜索部門副總裁布萊恩·麥克唐納(Brian MacDonald)表示:“算法對于搜索引擎來說至關重要,但它并不是一切,就像你買車并非只因為它的引擎。”
Google仍是最“智能”的搜索引擎
一個有趣的例子“mike siwek lawyer mi”表明了Google相對于必應的優勢。
阿米特·辛格(Amit Singhal)是Google的首席工程師,40多歲,性格溫和,他曾因在2001年重寫了Google搜索引擎而獲得殊榮。他將這些單詞輸入Google搜索框,并敲擊了回車鍵。在極短的時間內,搜索結果便顯示出來。最上面的鏈接指向的網頁給出了密歇根州大急流城一位名叫Michael Siwek的律師。
這是一個很普通的搜索,Google每天要處理成千上萬的這種搜索。但事實上這一搜索過程十分復雜,可能使一些搜索引擎誤解。如果把這些單詞輸入到必應,第一個結果是美國國家橄欖球聯盟的歷年球員名單,其中有一個名叫Lawyer Milloy。搜索結果中的下面幾頁,也沒有與律師Siwek相關的內容。
這一對比顯示出Google算法的強大,甚至可以說是智能,而這是通過反復的修正實現的。看起來Google擁有解讀用戶需求的神奇力量——不論是多么生僻的搜索,或是有拼寫錯誤。Google將這種能力稱為搜索質量,并且多年來一直竭力完善算法,以產生精確的搜索結果。
現在我就與辛格一起坐在Google的43號辦公大樓里,因為Google給與了我一個前所未有的機會——讓我了解他們是如何保證搜索質量的。背后的意涵很明確:你可能認為算法只是一個引擎,但在揭開其神秘面紗之后你才會發現它是多么的無所不能。
創新的開始:PageRank
Google算法始于PageRank,這是1997年拉里·佩奇(Larry Page)在斯坦福大學讀研究生時開發的。佩奇的創新性想法是:基于鏈接的數量和重要性對網頁進行評級,也就是通過網絡的集體智慧確定哪些網站最有用。隨著Google迅速成為互聯網上最成功的搜索引擎,佩奇和Google的另一名創始人塞吉·布林(Sergey Brin)將PageRank這一簡單概念看做Google的最根本創新。
但這并不是故事的全部。曼博表示:“人們信賴PageRank是因為它是可以進行確認的,但要提供最有用的結果還需要其他技術。”這涉及對某些信號、上下文的利用,這樣對于任何查詢,搜索引擎都能將最有用的結果排在最前面。
網絡搜索是一個多方過程。首先,Google機器人獲取每個可訪問網站的內容。這些數據將被分解成一個索引(通過文字進行組織,就像書本的目錄),這樣就可以根據內容找到任何頁面。每當用戶鍵入一個查詢,Google就會在索引中搜尋相關頁面,然后返回一個包含多達數百萬頁面的列表。最復雜的是對列表進行排序,也就是決定哪些頁面應該出現在最上面。
此時,上下文便有了用武之地。所有搜索引擎都會引入上下文,但沒有一個像Google那樣引入得那樣多、應用那樣自如。PageRank本身也是一個信號,同時也是頁面的一個屬性(指其相對于其他網頁的重要性),該屬性可以幫助確定其與查詢內容的相關性,其中的一些信號在現在看來是顯而易見的。
一直以來,Google算法都對頁面的標題給與特別的關注,因此標題成為確定相關性的重要信號。另一個重要技術是錨文本,指的是超鏈接中的可見文本。因此,“當你進行搜索時,搜索引擎總能給出正確的頁面,即使該頁面中沒有你找的關鍵詞。”這是Google早期架構師斯科特·哈桑(Scott Hassa)的觀點,他曾與佩奇和布林一起在斯坦福工作。之后,搜索引擎關注的信號還包括新鮮度(對于一些查詢,新近的頁面比較早的頁面更有價值)和地理位置(Google知道搜索者的大致地理坐標,會將本地信息排在前面)等。Google目前使用200多種信號來幫助確定搜索結果的排序。
Google工程師發現,一些最重要的信號可能來自Google本身。PageRank將受歡迎程度植入了搜索引擎:成千上萬的網站民主地決定將鏈接指向哪些網站。但辛格表示,Google工程師還利用了另一種民主——成千上萬使用Google搜索的用戶。用戶在搜索過程中產生的數據被證明同樣很有價值,這些數據包括他們點擊哪些結果、不滿意時對關鍵詞的更改、查詢關鍵詞與所處地理位置的關系等。這一過程的最直接例子就是Google所說的“個性化搜索”——這是一個可選功能,利用用戶的搜索歷史和地理位置來確定他想要找的內容(使用這項功能需要先登錄Google賬號)。更通常的方法是,Google利用其收集的大量數據支持其算法,Google對此有極深的理解,可以解讀隱秘查詢的復雜意圖。
“熱狗”與“煮狗”
以Google確定同義詞的方法為例。辛格表示:“我們很早就有了一個有趣的發現,那就是用戶會更改查詢的關鍵詞。比如有人會搜索‘dog’,然后改成‘puppy’,因此搜索引擎就會得知‘dog’和‘puppy’可能是可以互換的。引擎也會知道,當你燒(boil)水時,水會變熱(hot)。我們從人類的語義中學習,這是一個很大的進步。”
但這也有障礙。Google的同義詞系統知道“dog”和“puppy”類似,沸(boiling)水是熱的(hot)。但它同時會認為“hot dog”(香腸夾心面包)和“boiling puppy”(煮狗)是一樣的。通過路德維希·維特根斯坦(Ludwig Wittgenstein)的理論,該問題于2002年得以解決。該理論涉及上下文如何決定詞語的意思。當Google抓取并存儲數以億計的文件和網頁時,它會分析哪些詞是彼此鄰近的。包含“hot dog”的頁面通常也包含“面包”、“芥末”、和“棒球”,而不會包括對雜種狗的獵殺內容。這就幫助了搜索引擎理解“hot dog”和其他成千上萬個詞語的意思。辛格說:“現在,搜索引擎會知道bio在‘Gandhi bio’中是‘biography’(傳記)的縮寫,而在‘bio warfare’中是‘biological’(生物)的縮寫。”
在Google的發展過程中,該公司不斷設法增加新的排序信號,并且兼顧不會影響用戶的核心體驗。每幾年就會對系統做一次重大修改(有點像Windows的新版本),這在山景城是人盡皆知的,但其他人不會關注。
辛格說:“我們的任務是對這架以每小時1000公里在三萬英尺高空飛行的飛機的系統進行根本性更改。”2001年,為了應對互聯網的飛速發展,辛格事實上完全改寫了佩奇和布林的算法,以便使Google可以快速增加新的信號(新信號之一可以區分商業頁面和非商業頁面,從而為購物者提供更好的結果),也是在這一年,一位名叫克利什納·伯哈拉特(Krishna Bharat)的工程師認為權威網站上的鏈接應該具有更大的權值,因此設計了一個強大的信號以便賦予這些鏈接更大的可信度(這是Google的第一個專利),最新的一項修改的代號為“咖啡因”,對整個系統進行了修改,從而使得工程師可以更容易地增加新的信號。
Google識別語義的過程
Google以善于鼓勵這些創新而聞名,每年公司都會舉辦“瘋狂搜索創意”內部展示活動,以便鼓勵那些離奇但有應用潛力的創新。但大多數時候,改進的過程是充滿艱辛的,需要矢志不渝的精神,需要面對嘗試過程中的打擊。有一個不成功的搜索已經成為傳奇:2001年,辛格得知輸入“audrey fino”時無法搜到預期內容,而只是返回一些贊揚奧黛麗·赫本(Audrey Hepburn)的印度網頁,因為在印度語中“fino”是好的意思。辛格說:“我們知道audrey fino是個人名,但我們的系統沒這么聰明。”
這一失敗使辛格花了多年時間,試圖改進Google對姓名的搜索結果——因為姓名占總搜索量高達8%。為了解決這一問題,他不得不掌握“bi-gram拆分”,也就是將多個詞分割成獨立的單元。比如,“new york”合在一起組成一個bi-gram,指的是紐約。但也有三個字的情況,比如“new york times”,意思是紐約時報,很明顯二者指的不是同一樣東西。如果用戶輸入的是“new york times square”,意思又變成了紐約時代廣場。人類可以很容易做出區分,而Google不是由人工控制的,它依靠的是算法。
“Mike Siwek”這一搜索可以解釋Google是如何解決這一問題的。辛格輸入顯示代碼的命令后,我們就可以看到信號是如何決定搜索結果排序的:通過bi-gram可以確定mike siwek是一個人名,lawyer是一個同義詞,mi是一個地名。辛格說:“從工程師的角度進行解構,系統會對這些詞進行分割,它會發現lawyer不是姓氏,siwek不是中間名。同時lawyer也不是密歇根的一個鎮,因此它是attorney的同義詞。”
這是Google從無數次搜索中獲得的可貴知識。石頭可以是“rock”,可以是“stone”,還可以是“boulder”(漂石)。如果用戶輸入“rokc”,Google仍會知道他想找的是“rock”。但如果在“rokc”前加“little”,Google則會知道這是“Arkansas”(阿肯色州)的首府。“Arkansas”的縮寫是“ark”,與諾亞方舟同形,但Google會將二者區分開來。辛格說:“搜索中最重要的是理解用戶的意圖,因此你不是在匹配詞語,而是在匹配意思。”
Google一直在不斷改進。近期,Google工程師莫琳·海曼斯(Maureen Heymans)發現了“Cindy Louise Greenslade”的搜索結果的問題。用戶輸入這些單詞時,算法會認為應該找一個名叫Cindy Louise的人,于是在加利福尼亞的加登格羅夫市找到了一名心理學家,卻沒有把姓名為“Cindy Louise Greenslade”的人的網頁放在結果的前十名。海曼斯發現,這是因為“Cindy Louise Greenslade”習慣將名字縮寫成“Cindy L. Greenslade”。她表示:“我們的搜索引擎應該更聰明一點。”于是她增加了一個信號,用來尋找中間名的縮寫。現在正確的結果已經被排在了第五位。
層出不窮的創新
在任何時候,Google高效運轉的測試系統都會進行幾十個這種改進。Google在全世界專門雇傭了上百人,這些人坐在家里的電腦前判斷更改后的結果是更好還是更差。但Google還有一個更大的測試團隊,這就是成千上萬的Google用戶,他們不知不覺地加入了這項長期的質量實驗。
每當工程師想測試一項技術調整時,他們會在一小批隨機用戶中運行這些算法,而絕大多數的用戶扮演的是參照組的角色。需要測試的更改太多,因此Google放棄了一次只測試一項技術調整的策略。搜索質量工程師帕特里克·賴利(Patrick Riley)表示:“在大多數搜索過程中,你同時都處于多個‘實驗組’和‘參照組’之中。”但他隨后又做出了更正:“事實上,所有搜索都被卷入了實驗之中,因此用戶每次用Google搜索,都作了一次‘小白鼠’。”
這種靈活性——增加信號、更改代碼、立即測試的能力——就是Google團隊為什么說他們可以應對來自必應、Twitter和Facebook的任何挑戰的原因。事實上,在過去的六個月中,Google進行了200多項改進,其中一些似乎在模仿(但超越了)它的競爭對手(Google表示這只是巧合,稱其多年來一直在增加新功能),其中之一就是實時搜索。
佩奇數月前曾表示Google應該每一秒鐘都搜索整個網絡,因此使這一功能備受期待。當用戶搜索具有時效性的話題時,Google結果頁面的10個藍色鏈接中會有一個“最新結果”框。該框帶有拖動條,顯示的是從新聞媒體、博客和Twitter等獲得最新內容。同樣,Google使用信號來確保最有用的tweet(Twitter上發布的消息)出現在實時信息框中。
除了實時搜索,Google還引入了一項新功能,稱作“Goggles”。該功能可以將用戶手機上拍攝的照片視作搜索請求。Google一直努力將搜索變成一種隨時隨地的行為,“Goggles”也是該努力的一部分。有了攝像和語音識別功能,智能手機就會變成你的眼睛和耳朵。只要找到正確的信號,任何東西都可以變成搜索請求。
成功的根源:雇傭合適的人才
Google的強大計算能力和帶寬為公司提供了無可爭辯的優勢。有人聲稱這種優勢使創業公司無法對其發起挑戰。但曼博表示,Google成為領導者并非僅僅因為其基礎設施。他說:“最、最、最重要的因素是我們雇傭了合適的人才。”
按照所有的標準,陸奇都是算得上一名合適的人才,他是一位48歲的電腦科學家。曾經與陸奇在雅虎共事的曼博表示:“我對他懷有最高的敬意。”但陸奇去年初離開了Google,前往微軟擔任必應團隊負責人。在被問到他的使命時,穿著牛仔和必應T恤、身材瘦小的陸奇字斟句酌地輕聲答道:“我們需要始終記住這是一個長久的旅程,這一點極其重要。”他的眼神中流露出“我不會離開”的神情,就像電影《殺死比爾》中的烏瑪·瑟曼(Uma Thurman)一樣。
在過去十年中贏得了瀏覽器戰爭的微軟,在搜索方面似乎懷有“君子報仇,十年不晚”的想法,因為它確信用戶除了Google算法還需要別的東西。微軟搜索發展主管哈利·沙姆(Harry Shum)表示:“如果我們不對算法進行更改,將很難與現在的贏家抗衡,但我們打算對算法進行改進。”
然而,即使必應對算法進行改進,Google很可能做出同樣的更改。這就是Google成為這樣一個令人生畏的對手的原因,它已經開發出了一個足夠敏捷的機器,以致可以吸收任何可能對其造成威脅的創新——同時提供著對手無法匹敵的高質量搜索結果。任何人都可以發明一種買機票的新方法,但只有Google知道如何找到Mike Siwek。
Google算法是一項進行中的工作——不斷的調整和改進是為了提供更高質量的搜索結果。以下是PageRan推出之后的一些主要增加項和更改。——史蒂芬·列維
附:Google搜索大事記
1997年9月:Backrub搜索引擎
Backrub搜索引擎在斯坦福大學的服務器上運行了近兩年,之后改名Google。其突破性創新在于:按照一個網站被鏈接(網絡上指向該網站的鏈接)數量和質量對搜索結果進行排序。
2001年8月:新算法
搜索算法被完全改寫,以便更易于添加新的排序標準。
2003年2月:本地連接分析
這一功能給與權威性網站上的鏈接更大的權值,也使Google獲得了首個專利。
2003年夏:Fritz
該項目使Google可以不斷隨時更新索引,而無需成批更新。
2005年6月:個性化結果
用戶可以選擇讓Google分析其搜索行為,以便提供個性化結果。
2005年12月:Bigdaddy
對引擎進行了更新,使其可以更廣泛地抓取網頁內容。
2007年5月:通用搜索
在圖片搜索、Google新聞、圖書搜索的基礎之上,通用搜索使用戶可以在同一搜索結果頁面上獲得不同媒介的內容。
2009年12月:實時搜索
實時顯示Twitter和博客上的更新。
英文原文:Secret of Googlenomics: Data-Fueled Recipe Brews Profitability