词条 | 谷歌搜索算法 |
释义 | 谷歌算法始于PageRank,这是1997年拉里·佩奇(Larry Page)在斯坦福大学读研究生时开发的。佩奇的创新性想法是:基于入链接的数量和重要性对网页进行评级,也就是通过网络的集体智慧确定哪些网站最有用。随着谷歌迅速成为互联网上最成功的搜索引擎,佩奇和谷歌的另一名创始人塞吉·布林(Sergey Brin)将PageRank这一简单概念看做谷歌的最根本创新。 算法简介谷歌搜索算法 这是一个很普通的搜索,谷歌每天要处理成千上万的这种搜索。但事实上这一搜索过程十分复杂,可能使一些搜索引擎误解。如果把这些单词输入到必应,第一个结果是美国国家橄榄球联盟的历年球员名单,其中有一个名叫Lawyer Milloy。搜索结果中的下面几页,也没有与律师Siwek相关的内容。 这一对比显示出谷歌算法的强大,甚至可以说是智能,而这是通过反复的修正实现的。看起来谷歌拥有解读用户需求的神奇力量——不论是多么生僻的搜索,或是有拼写错误。谷歌将这种能力称为搜索质量,并且多年来一直竭力完善算法,以产生精确的搜索结果。 算法创始但这并不是故事的全部。人们信赖PageRank是因为它是可以进行确认的,但要提供最有用的结果还需要其他技术。这涉及对某些信号、上下文的利用,这样对于任何查询,搜索引擎都能将最有用的结果排在最前面。 背景知识网络搜索是一个多方过程。首先,谷歌机器人获取每个可访问网站的内容。这些数据将被分解成一个索引(通过文字进行组织,就像书本的目录),这样就可以根据内容找到任何页面。每当用户键入一个查询,谷歌就会在索引中搜寻相关页面,然后返回一个包含多达数百万页面的列表。最复杂的是对列表进行排序,也就是决定哪些页面应该出现在最上面。 此时,上下文便有了用武之地。所有搜索引擎都会引入上下文,但没有一个像谷歌那样引入得那样多、应用那样自如。PageRank本身也是一个信号,同时也是页面的一个属性(指其相对于其他网页的重要性),该属性可以帮助确定其与查询内容的相关性,其中的一些信号在现在看来是显而易见的。 优化搜索一直以来,谷歌算法都对页面的标题给与特别的关注,因此标题成为确定相关性的重要信号。另一个重要技术是锚文本,指的是超链接中的可见文本。因此, “当你进行搜索时,搜索引擎总能给出正确的页面,即使该页面中没有你找的关键词。”这是谷歌早期架构师斯科特·哈桑(Scott Hassa)的观点,他曾与佩奇和布林一起在斯坦福工作。之后,搜索引擎关注的信号还包括新鲜度(对于一些查询,新近的页面比较早的页面更有价值)和地理位置(谷歌知道搜索者的大致地理坐标,会将本地信息排在前面)等。谷歌目前使用200多种信号来帮助确定搜索结果的排序。 谷歌工程师发现,一些最重要的信号可能来自谷歌本身。PageRank将受欢迎程度植入了搜索引擎:成千上万的网站民主地决定将链接指向哪些网站。但辛格表示,谷歌工程师还利用了另一种民主 ——成千上万使用谷歌搜索的用户。用户在搜索过程中产生的数据被证明同样很有价值,这些数据包括他们点击哪些结果、不满意时对关键词的更改、查询关键词与所处地理位置的关系等。这一过程的最直接例子就是谷歌所说的“个性化搜索”——这是一个可选功能,利用用户的搜索历史和地理位置来确定他想要找的内容(使用这项功能需要先登录谷歌账号)。更通常的方法是,谷歌利用其收集的大量数据支持其算法,谷歌对此有极深的理解,可以解读隐秘查询的复杂意图。 识别语义谷歌以善于鼓励这些创新而闻名,每年公司都会举办“疯狂搜索创意”内部展示活动,以便鼓励那些离奇但有应用潜力的创新。但大多数时候,改进的过程是充满艰辛的,需要矢志不渝的精神,需要面对尝试过程中的打击。有一个不成功的搜索已经成为传奇:2001年,辛格得知输入“audrey fino”时无法搜到预期内容,而只是返回一些赞扬奥黛丽·赫本(Audrey Hepburn)的印度网页,因为在印度语中“fino”是好的意思。辛格说:“我们知道audrey fino是个人名,但我们的系统没这么聪明。” 这一失败使辛格花了多年时间,试图改进谷歌对姓名的搜索结果——因为姓名占总搜索量高达8%。为了解决这一问题,他不得不掌握“bi-gram拆分”,也就是将多个词分割成独立的单元。比如,“new york”合在一起组成一个bi-gram,指的是纽约。但也有三个字的情况,比如“new york times”,意思是纽约时报,很明显二者指的不是同一样东西。如果用户输入的是“new york times square”,意思又变成了纽约时代广场。人类可以很容易做出区分,而谷歌不是由人工控制的,它依靠的是算法。 “Mike Siwek”这一搜索可以解释谷歌是如何解决这一问题的。辛格输入显示代码的命令后,我们就可以看到信号是如何决定搜索结果排序的:通过bi-gram可以确定mike siwek是一个人名,lawyer是一个同义词,mi是一个地名。辛格说:“从工程师的角度进行解构,系统会对这些词进行分割,它会发现lawyer不是姓氏,siwek不是中间名。同时lawyer也不是密歇根的一个镇,因此它是attorney的同义词。” 这是谷歌从无数次搜索中获得的可贵知识。石头可以是“rock”,可以是“stone”,还可以是“boulder”(漂石)。如果用户输入“rokc”,谷歌仍会知道他想找的是“rock”。但如果在“rokc”前加“little”,谷歌则会知道这是“Arkansas”(阿肯色州)的首府。“Arkansas”的缩写是 “ark”,与诺亚方舟同形,但谷歌会将二者区分开来。辛格说:“搜索中最重要的是理解用户的意图,因此你不是在匹配词语,而是在匹配意思。” 谷歌一直在不断改进。近期,谷歌工程师莫琳·海曼斯(Maureen Heymans)发现了“Cindy Louise Greenslade”的搜索结果的问题。用户输入这些单词时,算法会认为应该找一个名叫Cindy Louise的人,于是在加利福尼亚的加登格罗夫市找到了一名心理学家,却没有把姓名为“Cindy Louise Greenslade”的人的网页放在结果的前十名。海曼斯发现,这是因为“Cindy Louise Greenslade”习惯将名字缩写成“Cindy L. Greenslade”。她表示:“我们的搜索引擎应该更聪明一点。”于是她增加了一个信号,用来寻找中间名的缩写。现在正确的结果已经被排在了第五位。 不断创新在任何时候,谷歌高效运转的测试系统都会进行几十个这种改进。谷歌在全世界专门雇佣了上百人,这些人坐在家里的电脑前判断更改后的结果是更好还是更差。但谷歌还有一个更大的测试团队,这就是成千上万的谷歌用户,他们不知不觉地加入了这项长期的质量实验。 每当工程师想测试一项技术调整时,他们会在一小批随机用户中运行这些算法,而绝大多数的用户扮演的是参照组的角色。需要测试的更改太多,因此谷歌放弃了一次只测试一项技术调整的策略。搜索质量工程师帕特里克·赖利(Patrick Riley)表示:“在大多数搜索过程中,你同时都处于多个‘实验组’和‘参照组’之中。”但他随后又做出了更正:“事实上,所有搜索都被卷入了实验之中,因此用户每次用谷歌搜索,都作了一次‘小白鼠’。” 这种灵活性——增加信号、更改代码、立即测试的能力——就是谷歌团队为什么说他们可以应对来自必应、Twitter和Facebook的任何挑战的原因。事实上,在过去的六个月中,谷歌进行了200多项改进,其中一些似乎在模仿(但超越了)它的竞争对手(谷歌表示这只是巧合,称其多年来一直在增加新功能),其中之一就是实时搜索。 佩奇数月前曾表示谷歌应该每一秒钟都搜索整个网络,因此使这一功能备受期待。当用户搜索具有时效性的话题时,谷歌结果页面的10个蓝色链接中会有一个“最新结果”框。该框带有拖动条,显示的是从新闻媒体、博客和Twitter等获得最新内容。同样,谷歌使用信号来确保最有用的tweet(Twitter上发布的消息)出现在实时信息框中。 除了实时搜索,谷歌还引入了一项新功能,称作“Goggles”。该功能可以将用户手机上拍摄的照片视作搜索请求。谷歌一直努力将搜索变成一种随时随地的行为,“Goggles”也是该努力的一部分。有了摄像和语音识别功能,智能手机就会变成你的眼睛和耳朵。只要找到正确的信号,任何东西都可以变成搜索请求。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。