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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介:

摘要:谷歌正在使用一个机器学习人工智能系统“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

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
9月前
|
存储 人工智能 算法
从零掌握贪心算法Java版:LeetCode 10题实战解析(上)
在算法世界里,有一种思想如同生活中的"见好就收"——每次做出当前看来最优的选择,寄希望于通过局部最优达成全局最优。这种思想就是贪心算法,它以其简洁高效的特点,成为解决最优问题的利器。今天我们就来系统学习贪心算法的核心思想,并通过10道LeetCode经典题目实战演练,带你掌握这种"步步为营"的解题思维。
|
10月前
|
存储 边缘计算 算法
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
186 0
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
2481 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
10月前
|
机器学习/深度学习 存储 算法
动态规划算法深度解析:0-1背包问题
0-1背包问题是经典的组合优化问题,目标是在给定物品重量和价值及背包容量限制下,选取物品使得总价值最大化且每个物品仅能被选一次。该问题通常采用动态规划方法解决,通过构建二维状态表dp[i][j]记录前i个物品在容量j时的最大价值,利用状态转移方程避免重复计算子问题,从而高效求解最优解。
951 1
|
10月前
|
算法 搜索推荐 Java
贪心算法:部分背包问题深度解析
该Java代码基于贪心算法求解分数背包问题,通过按单位价值降序排序,优先装入高价值物品,并支持部分装入。核心包括冒泡排序优化、分阶段装入策略及精度控制,体现贪心选择性质,适用于可分割资源的最优化场景。
503 1
贪心算法:部分背包问题深度解析
|
10月前
|
机器学习/深度学习 边缘计算 人工智能
粒子群算法模型深度解析与实战应用
蒋星熠Jaxonic是一位深耕智能优化算法领域多年的技术探索者,专注于粒子群优化(PSO)算法的研究与应用。他深入剖析了PSO的数学模型、核心公式及实现方法,并通过大量实践验证了其在神经网络优化、工程设计等复杂问题上的卓越性能。本文全面展示了PSO的理论基础、改进策略与前沿发展方向,为读者提供了一份详尽的技术指南。
粒子群算法模型深度解析与实战应用
|
10月前
|
机器学习/深度学习 资源调度 算法
遗传算法模型深度解析与实战应用
摘要 遗传算法(GA)作为一种受生物进化启发的优化算法,在复杂问题求解中展现出独特优势。本文系统介绍了GA的核心理论、实现细节和应用经验。算法通过模拟自然选择机制,利用选择、交叉、变异三大操作在解空间中进行全局搜索。与梯度下降等传统方法相比,GA不依赖目标函数的连续性或可微性,特别适合处理离散优化、多目标优化等复杂问题。文中详细阐述了染色体编码、适应度函数设计、遗传操作实现等关键技术,并提供了Python代码实现示例。实践表明,GA的成功应用关键在于平衡探索与开发,通过精心调参维持种群多样性同时确保收敛效率
机器学习/深度学习 算法 自动驾驶
1472 0
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
593 4
|
负载均衡 JavaScript 前端开发
分片上传技术全解析:原理、优势与应用(含简单实现源码)
分片上传通过将大文件分割成多个小的片段或块,然后并行或顺序地上传这些片段,从而提高上传效率和可靠性,特别适用于大文件的上传场景,尤其是在网络环境不佳时,分片上传能有效提高上传体验。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章