本文地址:http://blog.csdn.net/shanglianlm/article/details/49678931

近日,新闻爆料说谷歌正在使用一个机器学习人工智能系统“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工具玩转自己的机器学习工程。另外,谷歌有 一整块区域是关于人工智能和机器学习论文的,微软 也一样。

原文链接:FAQ: All About The New Google RankBrain Algorithm(译者/刘翔宇 审校/刘帝伟、朱正贵 责编/周建丁)

转载自: http://blog.jobbole.com/94071/

谷歌人工智能算法RankBrain运行原理解析相关推荐

  1. 【深度学习】谷歌大脑EfficientNet的工作原理解析

    [深度学习]谷歌大脑EfficientNet的工作原理解析 文章目录 1 知识点准备1.1 卷积后通道数目是怎么变多的1.2 EfficientNet 2 结构2.1 方式2.2 MBConv卷积块2 ...

  2. spark启动的worker节点是localhost_Spark大数据在线培训:Spark运行原理解析

    在大数据技术框架当中,Spark是继Hadoop之后的又一代表性框架,也是学习大数据当中必学的重点技术框架.在这些年的发展当中,Spark所占据的市场地位,也在不断拓展.今天的Spark大数据在线培训 ...

  3. JavaScript 运行原理解析

    参考 JavaScript 运行原理解析 [先读这一篇] https://juejin.cn/post/6844903551009816589 JavaScript is one of the 3 l ...

  4. JavaScript运行原理解析

    写在前面的话: 发现使用了那么长时间的Javascript,但是对其运行原理还是不清晰,今天特意总结一下,把大神们的理论和自己的总结都记录到下面: 1. 什么是JavaScript解析引擎? 简单地说 ...

  5. 案例:谷歌人工智能算法Dropout申请专利

    2019年6月26日,谷歌对Dropout算法提出的专利申请正式生效,专利有效期为15年,2034年9月3日到期.Dropout算法最早由Hinton于2012年提出,是一种在深度学习.训练神经网络时 ...

  6. 【IoT】加密与安全:哈希 Hash 算法用途与原理解析

    1.Hash 算法分类 MD5 和 SHA-1 是目前应用最广泛的 Hash 算法且是以 MD4 算法为基础设计的. 1) MD4 MD4(RFC 1320) 是 MIT 的 Ronald L. Ri ...

  7. Vue.js 运行原理解析、vue源码剖析

    Vue.js 运行机制全局概览 全局概览 这一节笔者将为大家介绍一下 Vue.js 内部的整个流程,希望能让大家对全局有一个整体的印象,然后我们再来逐个模块进行讲解.从来没有了解过 Vue.js 实现 ...

  8. 图像滤波常用算法实现及原理解析

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 图像滤波是一种非常重要的图像处理技术,本文详细介绍了四种常见 ...

  9. React Native运行原理解析

    Facebook 于2015年9月15日推出react native for Android 版本, 加上2014年底已经开源的IOS版本,至此RN (react-native)真正成为跨平台的客户端 ...

最新文章

  1. Water Research:南科大夏雨+唐圆圆-台风对深圳沿海微塑料和微塑圈的影响
  2. 智源论坛 | 知识与认知图谱(5月30日,活动报名)
  3. 记录一次异常 出现不支持的 SQL92 标记: 70
  4. java 视图对象转换,使用spring boot开发时java对象和Json对象转换的问题_JavaScript_网络编程...
  5. iOS中UITextField的字数限制
  6. kafka consumer配置拉取速度慢_Kafka消费者的使用和原理
  7. 毕业多年,我们转变了多少?
  8. 大整数相加链表实现(Add Two Numbers)
  9. flutter 动画展开菜单_蒲公英 · JELLY技术周刊 Vol.34: 芜湖~ Flutter
  10. 【Flink】The class WC is an instance class, meaning it is not a member of a toplevel object
  11. python将图片原比例缩小_Python实现图片长宽比例缩放和填充
  12. Sublime Text 3的中文显示乱码问题
  13. 如何在 15 分钟内构建一个无服务器服务?
  14. hbase使用restful接口进行数据操作
  15. 前端通过jqplot绘制折线图
  16. C语言嵌入式数据结构之链表
  17. 跌破150美元、市值蒸发3600亿美元,这个圣诞节苹果过得“太冷了”!
  18. 使用 Zadig 交付云原生微服务应用
  19. 报错:Expected singleton
  20. 手机连接Linux教程,手机密钥连接linux主机

热门文章

  1. 游戏开发当中的声音系统
  2. C语言实现超市信息管理系统(简单版)
  3. 计算机组成原理南阳理工学院教务管理系统,南阳理工学院教务管理系统登录入口...
  4. 通过云计算机管理档案,云计算下档案信息管理的研究
  5. Charmve Coding | Integer V lies strictly between integers U and W
  6. 【翻译】Android Support Library Features(二)
  7. 整站翻译,英文网页批量翻译成中文
  8. mysql smack_使用Super Smack进行MySQL性能测试
  9. 无线路由的信道,应选哪个?
  10. 挖掘城市ip_挖掘城市文化IP 展现文旅新活力