谷歌人工智能算法RankBrain运行原理解析

摘要:谷歌正在使用一个机器学习人工智能系统“RankBrain”,用于帮助处理搜索结果。本文介绍了RankBrain的的工作原理以及其如何在谷歌排序系统上运行。

近日,新闻爆料说谷歌正在使用一个机器学习人工智能系统“RankBrain”来对搜索结果排序。想知道它的工作原理以及如何在谷歌排序系统上运行吗?以下是我们对RankBrain的全部了解。

下面的信息来自于三个不同的地方。第一个,Bloomberg story,昨天发布了谷歌RankBrain的新闻。第二个,谷歌目前直接提供给Search Engine Land的其他信息。第三个,我们自己的知识,和对谷歌没有回答的问题的猜测。在必要时,我们要明确任何一个来源不会作为背景资料使用。

什么是RankBrain?

Bloomberg报道说,RankBrain是一个谷歌机器学习人工智能系统的名称,用于帮助处理搜索结果,这得到了谷歌的肯定。

什么是机器学习?

机器学习是计算机教自己如何处理事情,而不是由人类告知或是遵循固定的程序。

什么是人工智能?

真正的人工智能,或简称AI,是计算机能和人类一样聪明,至少在获取知识方面,通过学习或者建立在知识库的基础上得到新的联系。

当然,真正的AI只存在于科幻小说里。事实上,AI是设计成能够学习和做出联系的计算机系统。

AI与机器学习有什么不同呢?就RankBrain而言,给我们的感觉好像是它们是等同的。你可能会听到它们交替使用,或是听到使用机器学习来描述人工智能方法的使用。

那么RankBrain是谷歌Ranks搜索结果的新方式吗?

不,RankBrain只是谷歌众多搜索算法的一部分,它是一套计算机程序,能把知识库中上十亿个页面进行排序,然后找到与特定查询最相关的结果。

谷歌搜索算法的名字是什么?

 

我们过去报道过,它叫做 蜂鸟( Hummingbird)。许多年来,整个算法没有一个正式的名称。但在2013年中,谷歌对这个算法进行了彻底检修,并命名它为蜂鸟。

那么RankBrain是谷歌蜂鸟搜索算法的一部分么?

这是我们的理解。蜂鸟是整个搜索算法,就好比车里面有个引擎。引擎本身可能由许多部分组成,比如滤油器,燃油泵,散热器等。同理,蜂鸟也由多个部分组成,RankBrain就是其中一个最新组成部分。

特别指出,我们知道RankBrain是整个蜂鸟算法的一部分是因为Bloomberg文章明确指出RankBrain不能处理所有的搜索,只有整个算法可以。

蜂鸟同时包含其他的部分,这些名字对 SEO圈的人来说已经耳熟能详了,比如 Panda, Penguin和Payday,用于垃圾邮件过滤, Pigeon用于优化本地结果, Top Heavy用于给广告太多的页面降级,Mobile Friendly用于给移动友好型页面加分, Pirate用于打击版权侵犯。

我认为谷歌算法曾被称为PageRank

PageRank是整个蜂鸟算法的一部分,它使用特定的方式给网页信用排序,基于其他页面指向此页面的链接来计算。

PageRank比较特别,因为它是谷歌有史以来给它的排序算法赋予的第一个名字,这个名字早在1998年谷歌创立的时候就有了。

谷歌用于排序的“信号”是什么?

谷歌使用信号来决定如何为网页排序。比如,它会读取网页上的词语,那么词语就是一个信号。如果某些词语是粗体,那么这又是一个值得注意的信号。计算的结果作为PageRank的一部分,给一个网页设定一个PageRank分数,这作为一个信号。如果一张网页被检测到是移动友好型的,那么这又会成为一个信号。

所有的这些信号都由蜂鸟算法中的各个部分处理,最后决定针对不同搜索返回哪些网页。

一共有多少种信号?

谷歌称进行评估的主要排序信号大约有 200多种,反过来, 可能有上万种变种信号或者子信号。但通常是说几百种,正如昨天Bloomberg文章中说的那样。

如果你想有一个更直观的排序信号向导,来看看我们的 SEO成功因素元素周期表:

我们认为这是个非常好的向导,说明了类似谷歌的搜索引擎对网页排序使用的东西。

RankBrain是第三个最重要的信号?

没错。这个新的系统突然冒出来,已经成为网页排序第三个最重要的因素。以下摘自Bloomberg 文章:

Corrado说,RankBrain是上百个信号中的一个,用于在算法中决定哪些结果该展示在谷歌搜索页面,该排在第几位。他还表示,在RankBrain部署的这几个月里,它已经成为为搜索查询提供结果的第三个最重要的信号。

第一和第二个最重要的信号是什么?

我们询问了两次,但是谷歌还是不愿意告诉我们第一和第二个最重要的信号是什么。

这很烦人而且有点误导人。Bloomberg文章也不出意外没能得到答案。谷歌想要提高一些性能需求来作为机器学习的突破。

但是真正评估这种突破,有助于了解谷歌现在使用的其他最重要的因素,包括被RankBrain超过的因素。这就是为什么谷歌要来解释这些因素来衬托前两个最重要的信号的性能。

顺便提一下,我个人猜测链接仍然是最重要的信号。谷歌以投票的形式统计这些链接。这也是一个非常老的系统,我在以前的一篇文章里做了介绍: The Broken “Ballot Box” Used By Google & Bing。

至于第二个最重要的信号,我认为是“词语”,词语将会包含一切信息,从网页上的词语到RankBrain分析之外的人们字搜索框输入的关键字。

RankBrain到底做什么?

从与谷歌的来往电子邮件之中,我了解到RankBrain主要用于翻译人们可能不清楚该输入什么确切词语的搜索词条。

难道谷歌之前没有处理没有确切查询词条的方式吗?

有,谷歌很早就找到不根据具体词条搜索页面的方式。比如,许多年前,如果你输入“鞋”(shoe),谷歌可能不会找到那些有“鞋”(shoes)的页面,因为从技术上来说这是两个不同的词汇,但是“stemming”使得谷歌变得更聪明,让引擎了解shoes的词根是shoe,就像“running”的词根是“run”。谷歌同样了解同义词,因此,如果你搜索“运动鞋”,它可能知道你想找“跑鞋”。它甚至有概念性的知识,知道哪些网页是关于“苹果”公司,哪些是关于水果“苹果”的。

Knowledge Graph是什么?

Knowledge Graph在2012年推出,使谷歌在处理词汇关联方面更出色。更重要的是,谷歌说它学会如何搜索事物而不是苍白的字符串。

字符串意味着只按照字符串本身搜索,比如搜索匹配“Obama”字符串的网页。而事物则是谷歌知道当某人搜索“Obama”的时候,他们可能想找的是美利坚总统巴拉克奥巴马,一个与其他人物和事物关联的实实在在的人物。

Knowledge Graph是一个事实数据库,包含世上万物的内在联系。这就是为什么当你输入“when was the wife of obama born”的时候,你可以在下面看到关于米歇尔奥巴马的信息,而不需要特定输入她的名字:

RankBrain如何帮助提炼搜索?

谷歌目前提炼搜索的方法一般都是由人工处理,无论是创建词干列表或者同义词列表或者创建事物关联数据库。当然,这其中有一些自动化的操作,但是很多时候都是靠人工来完成。

问题是, 谷歌每天要处理30亿条搜索。2007年, 谷歌表示,有20%至25%的搜索是从来没见过的。2013年这个数字 降至15%,这也引用在了昨天的Bloomberg 文章中,我们也得到了谷歌的重新证实。但是30亿之中,15%的从未搜索过的词条仍然是非常大的数目——每天4.5亿条。

这些可能是很复杂的搜索,多字查询,或者是“long-tail”查询。RankBrain旨在帮助更好地解释这些查询,并有效地翻译它们,通过查询关键字背后的信息,找到最合适的网页。

谷歌告诉我们,它可以观察到看似无关复杂搜索之间的模式,并理解它们实际上是如何彼此关联的。这种学习方式,又让它更好地理解未来复杂搜索,以及知道它们是否与特定主题相关。最重要的是,它还可以将这些搜索组与它认为最匹配的搜索结果关联起来。

谷歌并没有给出搜索组的例子,也没详细说明RankBrain如何猜到哪些是最匹配的页面。后者可能是因为如果它可以将模糊搜索转化成某些更具体的东西,那么它就可以得到更好的答案。

来看看一个例子?

虽然谷歌并没有给出搜索组的例子,但是Bloomberg文章里有一个单个搜索的例子,假设得到了RankBrain的帮助。如下:

What’s the title of the consumer at the highest level of a food chain

像我这样的外行,“consumer”听起来像是买东西的人。然而,这也是个科学术语,表示消耗食物的东西。在食物链中同样有不同等级的消费者。最高等级的消费者?就叫做“捕食者”(predator)。

把这个输入谷歌中,我们得到了不错的答案,虽然这个查询语句本身看起来十分古怪:

现在来看看搜索“top level of the food chain”的结果相似性,如下:

 

设想下,RankBrain将原本那条冗长且复杂的查询关联到了这条更短的上面,这可能是最常见的做法。它知道它们非常相似。所以结果是,谷歌可以利用它所知的一切,从更常见的查询中寻找答案,然后将它提供给不常见的查询。

我要强调,我并不知道RankBrain关联了这两条查询。我只知道谷歌给出了第一个例子。而这只是对RankBrain如何将不常见搜索与常见搜索联系来提高搜索质量的一种说明而已。

Bing使用RankNet同样可以达到这种效果吗?

回到2005年,微软开始使用自己的机器学习系统,名叫RankNet,如今已是Bing搜索引擎的一部分。事实上,RankNet的首席研究员和创始人最近才被肯定。但这些年来,微软几乎没有谈到RankNet。

你可以打赌,这将有可能改变。有趣的是,当我在Bing中输入同样的词条的时候,Bing得到了不错的结果,其中一条与谷歌返回的结果一致。

一条查询并不意味着Bing的RankNet和谷歌的RankBrain同样出色,反之亦然。不幸的是,很难拿出一份清单来做这种比较。

还有更多的例子吗?

谷歌的确给出了一个新的案例:“How many tablespoons in a cup?”谷歌表示,对来自于澳大利亚和美国搜索会有不同的结果,因为两个国家的度量标准不同,尽管名称类似。

为了测试这点,我在Google.com和澳大利亚版本的Google上分别搜索。我并没有发现太多的不同。即使没有RankBrain,结果通常会不同,仅仅因为使用“老土”的方式,从澳大利亚网站中为使用澳大利亚版本Google搜索的用户呈现页面。

RankBrain真的有帮助吗?

尽管我上面给出的两个例子不足以说明RankBrain的强大,但我确实相信它可能正在产生巨大的影响,正如谷歌宣称的那样。谷歌在选择什么算法来排序方面相当保守。谷歌总是在做小测试。但是当对此算法有很大信心时,使用这个算法会带来极大的突破。

整合RankBrain,把它作为第三个最重要的信号,是一个巨大的变化。我认为,如果它没有帮助的话谷歌也不会使用它。

RankBrain什么时候开始的?

谷歌告诉我们,在2015年初的时候就在逐步推出RankBrain,现已全面部署了好几个月了。

哪些查询受到影响?

谷歌告诉Bloomberg说,有相当一部分的查询将由RankBrain来处理。我们询问具体数字,但还是得到同样的答案。

RankBrain一直在学习吗?

谷歌说,RankBrain所有的学习都是离线完成的。输入多批次历史搜索记录,然后学习使用这些数据做出预测。

测试这些预测,如果预测效果准确,那么学习之后的RankBrain版本就上线。然后离线学习测试的过程重复进行。

RankBrain除了做查询优化还做了其他的吗?

通常情况下,一条查询如何优化的——无论是通过提取词根,同义词还是RankBrain——不会作为排序因素或信号。

信号是绑定内容的典型因素,比如网页上的词语,指向页面的链接,网页是否部署在安全的服务器上等。它们也可以绑定用户,比如用户地理位置信息或搜索浏览历史。

那么当谷歌提及RankBrain是第三个最重要的信号时,它真的是一个排序信号吗?是的,谷歌再次确认说,他们有一个组件,RankBrain以某种方式直接来计算网页的排名。

具体如何做的呢?是否有某种“RankBrain分数”的因子可能来评估网页质量呢?有可能吧,但RankBrain似乎更可能基于网页包含的内容以某种方式帮助谷歌更好地分类页面。RankBrain可能比谷歌已有的系统更好地总结网页内容。

或许也不是这样,谷歌只是说有某种排序组件。

我怎么了解RankBrain更多的信息?

谷歌告诉我们说,如果想要了解词语“向量”——单词和短语用数学连接的方式——应该看看这个 博客,这篇博客讲述了系统(文章中没有说明是RankBrain)如何仅仅通过扫描新闻学习到国家的省会城市:

有一篇更长的研究论文,基于 此。你可以使用谷歌的 word2vec工具玩转自己的机器学习工程。另外,谷歌有 一整块区域是关于人工智能和机器学习论文的,微软 也一样。

原文发布时间为:2015-11-05

时间: 2024-07-28 21:41:12

谷歌人工智能算法RankBrain运行原理解析的相关文章

React Native运行原理解析

Facebook 于2015年9月15日推出react native for Android 版本, 加上2014年底已经开源的IOS版本,至此RN (react-native)真正成为跨平台的客户端框架.本篇主要是从分析代码入手,探讨一下RN在安卓平台上是如何构建一套JS的运行框架. 一. 整体架构 RN 这套框架让 JS开发者可以大部分使用JS代码就可以构建一个跨平台APP. Facebook官方说法是learn once, run everywhere, 即在Android . IOS.

Spark修炼之道(进阶篇)——Spark入门到精通:第七节 Spark运行原理

作者:周志湖 网名:摇摆少年梦 微信号:zhouzhihubeyond 本节主要内容 Spark运行方式 Spark运行原理解析 本节内容及部分图片来自: http://blog.csdn.net/book_mmicky/article/details/25714419 http://blog.csdn.net/yirenboy/article/details/47441465 这两篇文件对Spark的运行架构原理进行了比较深入的讲解,写得非常好,建议大家认真看一下,在此向作者致敬! 1. Sp

Web Service 运行原理详细介绍_java

     利用清明小假期,温习了一遍Web Service的相关内容,对其工作原理进行了简要总结.以供有需求的朋友和自己日后参考.文章若有不当之处,敬请朋友们提出宝贵建议,以求共勉.       Web服务中,我们应该首先了解相关的术语含义:WSDL.UDDI....相关术语方面的介绍在此不再赘述,重点放在原理上. 在Web服务中,存在三个角色:服务提供者.服务请求者和服务中介,三者之间的关系如图1-1所示     实现一个完整的Web服务包括以下步骤:    ◆ Web服务提供者设计实现Web

分析谷歌熊猫算法 人工智能搜索引擎算法的前哨

毫无疑问,人工智能和搜索引擎的融合是大势所趋,当前搜索引擎的各种算法相对而言,还是基于软件程式设计的基础之上,所以算法的改变仅仅是对之前算法缺陷的一种修复,所以对于当前搜索引擎潜在的一些问题还是没有办法彻底解决,诸如网站如何通过记忆的方式进行排序,如何实现更为智能的人机交互的搜索模式等等,而2012年谷歌推出的熊猫算法,显然已经融入了人工智能搜索引擎部分技术,我们可以从谷歌熊猫算法的一些特征来看到人工智能技术在搜索引擎上的一些应用. 一:对于网站内容的可读性和有益性有了更高的要求 谷歌的熊猫算法

从谷歌“蜂鸟”算法调整解析语义分析

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 从谷歌"蜂鸟"算法调整解析语义分析 现在的搜索引擎都在壮大自己的数据库,都在强化本身的语义分析.现在的搜索引擎只能从字面上来理解一组关键词,它并不知道这组关键词背后所代表的是什么意思?语义分析就是要能过对这一组关键词的分析,而知道它背后所代表的意思. 比如,我要输入"知易网商标注册"我们一看就知道,我想

Android中微信抢红包插件原理解析及开发思路_Android

一.前言 自从去年中微信添加抢红包的功能,微信的电商之旅算是正式开始正式火爆起来.但是作为Android开发者来说,我们在抢红包的同时意识到了很多问题,就是手动去抢红包的速度慢了,当然这些有很多原因导致了.或许是网络的原因,而且这个也是最大的原因.但是其他的不可忽略的因素也是要考虑到进去的,比如在手机充电锁屏的时候,我们并不知道有人已经开始发红包了,那么这时候也是让我们丧失了一大批红包的原因.那么关于网络的问题,我们开发者可能用相关技术无法解决(当然在Google和Facebook看来的话,他们

SQL Server 内存数据库原理解析

原文:SQL Server 内存数据库原理解析 前言 关系型数据库发展至今,细节上以做足文章,在寻求自身突破发展的过程中,内存与分布式数据库是当下最流行的主题,这与性能及扩展性在大数据时代的需求交相辉映.SQL Server作为传统的数据库也在最新发布版本SQL Server 2014中提供了新利器 SQL Server In-Memory OLTP(Hekaton),使得其在OLTP系统中的性能有了几十倍甚至上百倍的性能提升,本篇文章为大家探究一二.         大数据时代的数据如何组织应

Android中微信抢红包插件原理解析及开发思路

一.前言 自从去年中微信添加抢红包的功能,微信的电商之旅算是正式开始正式火爆起来.但是作为Android开发者来说,我们在抢红包的同时意识到了很多问题,就是手动去抢红包的速度慢了,当然这些有很多原因导致了.或许是网络的原因,而且这个也是最大的原因.但是其他的不可忽略的因素也是要考虑到进去的,比如在手机充电锁屏的时候,我们并不知道有人已经开始发红包了,那么这时候也是让我们丧失了一大批红包的原因.那么关于网络的问题,我们开发者可能用相关技术无法解决(当然在Google和Facebook看来的话,他们

整句搜索时代来临 我们应该怎样应对谷歌蜂鸟算法

前言: 谷歌,这个在世界影响力巨大的搜索引擎大腕,迎来了它的15岁华诞.在这漫长的时光里,谷歌经历了无数次的变革与创新,而这一次谷歌更是为了庆祝它们的15岁生日这样一个具有重大意义的日子里,再次推出了继上次"咖啡因"之后的又一重大算法更新--蜂鸟. 蜂鸟算法 此算法为谷歌强势推出的又一重大算法,据辛哈向外界透露指出,该蜂鸟算法主要是针对整句的整个问题的解析算法,并能够从庞大的索引库中找出正确的答案并给予排名,如此重大的算法将很可能会影响到网络中百分之90以上的搜索结果. 蜂鸟算法并不是