谷歌如何搜索浩如烟海的信息
导语:美国《连线》杂志网站日前发表编辑史蒂文·列维(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