数据驱动改进搜索算法
http://msn.finance.sina.com.cn 2012-04-11 17:44 来源: 信息早报——访谷歌工程总监斯科特.霍夫曼
天 晴
“谷歌每天处理的搜索量超过30亿次,每秒回答3.4万个问题,自2003年到现在已解决4500亿个搜索请求”。谷歌已成为人们网络生活的依赖。而自搜索诞生的这10多年来,谷歌一直在不断改进算法,通过数据驱动和实验评估等科学的方法不断完善搜索引擎。
“41831项必要性评估,9250项小规模实验,7363项在线实时实验,520多处改进,这些数字见证了2011年谷歌在算法方面做出的努力。”谷歌工程总监斯科特·霍夫曼指出。
搜索的原理 200多个指标衡量搜索结果
天 晴:当用户在搜索框中输入搜索请求后,搜索引擎在后台是怎样运作的?
斯科特:搜索中最基本的一个概念是“索引”,由谷歌搜索机器人扫描或者搜索几十亿的网页,然后建立一些索引,这就好像是每本书的目录,这是一本庞大的书目录。当用户提交搜索请求后,这个搜索请求依据具体的地理位置会发送到全球各地不同的数据中心。数据中心接到搜索请求之后,把它散发到存有不同索引的计算机上。然后将用户提交的搜索请求同目录进行匹配,找到正确的文件或网页,并挑选相关性最高而且最新的结果,并根据结果的属性和几百个指标进行排名,最终呈现给用户。
天 晴:谷歌对搜索结果是怎样排名的?有哪些关键指标?
斯科特:我们包括“网页排名”在内的200多个指标来衡量结果并进行排名,最后的目的是给用户呈现相关度最高和质量最高的搜索结果和文件。
一般来讲,在搜索结果页中,越往下相关度和质量就越低。这里面也有一些衡量的因素,比如我们会考量这个关键词在文件中出现的频率和地方,如果它出现在标题中就比出现在文章的第十行或者更靠后的地方重要。另外,还要参考其他的网页对这份文件的重视程度,引用程度、频率,引用的量越高的排名就越靠前。当然,具体到某一个搜索请求,某些指标可能会更重要。如用户查医学方面的问题,可能最重视的是结果的权威性,而不是某个博客里谈到的。
数据驱动和实验评估推动算法改进
天 晴:这么多年来,谷歌的算法是怎样改进的?改进的依据是什么?
斯科特:谷歌致力于在最短的时间内为用户提供最为相关的搜索结果,这也是其对搜索算法不断改进的动力。谷歌对算法的改进通常有三个步骤,首先对每项改进做必要性评估,然后在全球不同地区进行小规模实验,之后随机挑选用户进行在线实时实验。在特定时间,谷歌针对搜索功能会进行50-200个在线实验。
天 晴:近期有哪些比较重大的算法改进?
斯科特:我们对算法的改进一直不断进行,近期的重大调整有新鲜度算法调整。在某些情况下,谷歌需要为用户提供最新搜索结果,比如即时新闻、定期发生的重大事件以及内容频繁更新的话题等。如果搜索“奥运会”,用户会得到与即将举办的伦敦奥运会相关的最新搜索结果,而非1984年奥运会的信息。
天 晴:未来,通过对算法的改进,谷歌将给用户提供怎样的搜索服务?
斯科特:很多人认为谷歌已解决了搜索的问题,但是在谷歌看来搜索的发展才刚刚起步。如果说搜索是一本书,那谷歌才刚写完了开篇。未来,谷歌希望通过不断创新,让搜索更理解用户的需求,为用户提供更精准的搜索结果。