谷歌算法: 一次搜索请求平均往返2400公里
文章来源: tianfangye2012-03-12 11:50:58

ZT


作为全球使用最广泛的搜索引擎,谷歌算法一直有一层神秘面纱。近日谷歌工程总监斯科特・霍夫曼向腾讯科技讲述谷歌算法幕后故事,称2011年有520多项改进,自2003年到现在,Google搜索已解决4500亿个搜索请求。


 



谷歌搜索演进


斯科特还透露,平均来说,谷歌每一个搜索请求,往返于电脑和数据中心单程距离是750英里,这也意味着一次搜索请求平均往返需要1500英里,约合2400公里。


据了解,斯科特•霍夫曼加入谷歌已逾5年,负责领导搜索质量评估和移动搜索团队,还撰写数十篇学术论文,内容涵盖信息检索、机器学习和信息提取领域,专注搜索领域已超过15年,对谷歌算法有很高发言权。


斯科特说,十年前搜索可能只是针对于关键词进行意思和上下文匹配,现在谷歌更了解用户想干什么,而不是表面字词匹配。搜索引擎呈现结果给用户看起来比较简单,但实际背后有一系列复杂流程,并在1秒钟内完成。“谷歌通常只需0.25秒便可对搜索请求做出回应,而人平均每眨一次眼睛需0.1秒。”


 



谷歌算法原理(腾讯科技配图)


谈及谷歌算法原理,斯科特说最基本的概念是索引,即谷歌搜索机器人扫描或搜索几十亿网页后建立索引,再把索引库分成几部分,放在几千台计算机上,再复制到全球各地数据中心去,这样谷歌就可以在全球各地完成搜索任务。


 


谷歌算法的流程是用户提交搜索请求,根据用户具体地理位置,谷歌将搜索请求发送到全球各地数据中心,数据中心再把需求散发到几千个计算机上去,根据目录和用户提交请求的关键词匹配,找到正确邮件或网页。谷歌从中挑选相关性最高且最新的一些数据,或搜索结果,再把这些搜索结果根据不同属性和指标排名,确定最合理搜索引擎结果相匹配。平均来说,谷歌每一个搜索请求,往返于电脑和数据中心单程距离是750英里。


谷歌每年会对一些新构思进行必要性评估,如果评估后认为合理就会做一些小规模试验,主要是请一些独立评估员,针对几百个搜索请求做两组结果来进行对比,一种是使用普通搜索方法做基本组,另一个是对比组,采用新构思。比较这两组搜索结果哪个相关性和搜索质量更高。之后在通过在线实时实验随机挑选用户参与新构思的体验。


“如果你是一个谷歌用户,而且经常使用谷歌搜索,可能在不知不觉间,已参与在线实施的试验,你所得到的搜索结果,也许就是用新构思方法得到的搜索结果。谷歌在任一时刻都在进行200多项在线实时试验。”


 



谷歌算法搜索体验提升的三部曲(腾讯科技配图)


通过这些实验,谷歌可以不断提升用户搜索体验,诸如在搜索结果中剔除垃圾信息;根据用户需求改变搜索界面呈现的结果数量;相同词在不同地域搜索,呈现的结果不同。斯科特透露,谷歌在2011年进行了41931次必要性评估、9250次小规模试验、7363项在线实时实验,最终完成了520多项改进。


 



谷歌搜索排名(腾讯科技配图)


斯科特指出,谷歌对不同搜索请求的衡量指标不同,比如查某一个疾病问题,用户最重视的是网页权威性有多高,而不是呈现某一个博客谈到这种疾病。在这样搜索情况下,网页权威性权重最高。此外,搜索的相关性还与区域位置和时间相关,比如用户人在北京,搜索上海餐馆的价值就不大。再如搜索一个重大事件,会发现这个重大事件发生的后一天得到的搜索结果和前一天搜索结果完全不同。


 








据斯科特介绍,谷歌搜索算法进行了一系列重大改进,包括新鲜度算法调整、优质网站算法调整、页面布局算法调整等部分,其中,新鲜度算法调整是指在某些情况下,Google需要为用户提供最新搜索结果,比如即时新闻、定期发生的重大事件以及内容频繁更新的话题等。如果搜索“奥运会”,用户会得到与即将举办的伦敦奥运会相关的最新搜索结果,而非关于1984年奥运会的陈旧信息。

优质网站算法调整对包含原始信息、研究调查、深度报道、精准分析等内容的高质量网站十分有利,提高了它们在搜索结果中的排名。页面布局算法调整这一改进关注用户在点击搜索结果后所看到的网页布局,提升网页信息的丰富程度 ,提高信息容易被搜索到的网页的排名。


斯科特称,随着Facebook、Twitter这些社交化网站发展,个人化的搜索结果会越来越重要。谷歌近年来推出Google+等产品,在搜索中也融入了社交化的因素。从谷歌来说,会不断把社交媒体信息整合进来。



 


谷歌完成一次搜索请求,时间不足一秒、平均往返距离却要约2400公里。每时每刻谷歌都有200多项改进算法的在线实验,一个想法要通过多道考验才能付诸执行。而在个性化搜索日益重要的今天,谷歌算法改进也面临着新的挑战。


来自官方的数据显示,从2003年到现在谷歌搜索已经接受超过4500亿个搜索请求。而用户每天发出的搜索请求中,有16-20%是全新的关键词。


一个基本的搜索过程分这样几步:提交搜索请求->发送->筛选分类->查找索引->选择网页->结果排名 ->结现结果。谷歌给出的解释说,一个请求会被分发到数千个数据中心,然后根据关键词进行匹配,再根据数百个指标对得到的数据进行排名。


这个复杂的过程通常在一秒内完成,但平均每个谷歌搜索的关键词往返于用户电脑和数据中心的距离约为2400公里(1500英里)。


“很多人认为谷歌已经解决了搜索的问题,但是在谷歌看来搜索的发展才刚刚起步。如果说搜索是一本书,那谷歌才刚写完了开篇”,谷歌工程总监斯考特-霍夫曼(Scott Huffman)在谈到搜索时说,十多年来谷歌搜索的算法一直在不断改进。


每年谷歌搜索结果都会改变20-30%左右。霍夫曼的主要工作之一,就是对谷歌搜索质量进行评估,在他看来这个过程远比外界看到的复杂。


以去年为例,在众多的搜索算法改进构思中,有41831项进行了必要性评估,这其中又有9250项进行了小规模实验,进而又有7363项进行了在线实验,最终有520多项改进被付诸实施。霍夫曼总结谷歌改进算法的方式为:数据驱动、实验评估。


谷歌搜索平均每时每刻都有200多项实验在进行;而在评估的过程中,既会借助基于统计学搭建的模型,还依靠多种语言的独立评估员。


霍夫曼表示谷歌搜索算法近期的主要改进,可以归纳为三个方面。


・新鲜度算法调整:在某些情况下,谷歌需要为用户提供最新搜索结果,比如即时新闻、定期发生的重大事件以及内容频繁更新的话题等。如果搜索“奥运会”,用户会得到与即将举办的伦敦奥运会相关的最新搜索结果,而非关于1984年奥运会的陈旧信息。


・优质网站算法调整:这对包含原始信息、研究调查、深度报道、精准分析等内容的高质量网站十分有利,提高了它们在搜索结果中的排名。


・页面布局算法调整:这一改进关注用户在点击搜索结果后所看到的网页布局,提升网页信息的丰富程度 ,提高信息容易被搜索到的网页的排名。


除此以外,谷歌还计划将更多社交、移动、位置等信息元素,更好的与搜索进行整合。这一方面会让搜索结果更加的个性化,但同时也给谷歌带来新的难题:如何衡量并提升越来越个性化的搜索结果。此前的实验方式必须有所调整。


霍夫曼对此解释说,对于受个性化影响较大的因素,谷歌会采用更多的在线实验方式进行考察。例如考察一个用户的跳转和停留时间,通过统计模型对相关数据进行分析、判断。此外,还会在得到允许的情况下获取评估员的个人信息,并据此改进搜索结果。


“新的算法改进想法往往是在解决问题时产生的”,霍夫曼说,目前谷歌在搜索算法开发上投入的时间,已经超过1000人工年。