人工智能在搜索算法中的应用

2016年以来,IT行业最大的技术突破应该是人工智能了,不仅在一年左右时间,在最后一个人类曾经自以为机器很难战胜人类的游戏项目上完胜人类,前几天更是出现了逆天的AlphaGo Zero,完全不用借鉴人类知识,自学3天就超越了人类。

人工智能领域最牛X的公司,国外是Google,国内是百度。都是搜索引擎。这恐怕也不是什么巧合,而是因为搜索引擎是最适合开发人工智能的公司,他们拥有最大量的数据,包括文字、图片、视频,还有地图、路况、用户使用数据等等。

搜索引擎公司的AI成果在多大程度上运用到了他们的核心业务-搜索中?他们都没有明确地对外说明,从搜索工程师的零碎发言中猜测,至少目前还没有大规模使用,并没有改变搜索算法的基础。毕竟人工智能虽然概念存在了几十年,但效果突飞猛进只是近几年的事,还没有出现通用人工智能,在围棋这种规则简单明确的领域中牛X,迁移到规则模糊的系统中,比如搜索,还需要一些时间。

但我想,人工智能大规模应用于搜索算法是早晚的事。据说以前百度大搜索部门和人工智能/深度学习部门之间是有些矛盾的,现在吴恩达离开了百度,陆奇对百度又进行了很多人事调整,搜索部门对人工智能的排斥也许就大大降低了。

其实人工智能已经在搜索算法中有所运用。举两个例子。

百度DNN模型

前几个月看到了百度朱凯华的一篇《AI赋能的搜索和对话交互》演讲报道。数年前和朱凯华还做过一次访谈,那时候他还是Google的主任架构师,是著名的熊猫算法的主要参与者之一,现在他是百度的首席架构师了。演讲内容很多,感兴趣的搜索标题就能找到全文,很值得深入读一下。这么长时间SEO行业很少人注意到这篇这么有价值的关于搜索算法的公开信息,还是挺意外的。

演讲里提到了百度2013年上线的DNN模型,极大提高了语义相关性的判断范围和准确性,2013年百度相关性提高的34%来自于DNN模型,2014年全年相关性提升的25%来自DNN模型。DNN模型使用的就是深度学习方法,通过100亿的用户点击数据训练模型,有超过1亿个参数。下面介绍的Google RankBrain是2015年上线的,所以百度是世界上第一个将人工智能应用到实际搜索算法中的公司。

下图是DNN训练的示意图:

百度DNN模型是人工智能在算法中的第一次应用

简单说,就是对同一个查询词,模型分析了真实用户点击了的页面的标题,和没有点击的页面标题,从而更深入理解哪些标题是满足了用户需求的。经常出现的情况是,页面标题并不包含查询词,用户却更愿意点击这些页面,说明这些页面满足了用户需求,这些页面的标题,即使不包含查询词,也是与查询词语义相关的。这是经典的页面-关键词相关性算法无法计算出来的。

演讲中提到的例子:

百度DNN模型案例

在DNN上线之前,用户搜索“ghibli车头如何放置车牌“时,由于相关信息很少,没有什么页面是以这个查询词为标题或者页面出现这些关键词的,所以搜索结果质量不高,传统搜索算法只能按关键词匹配返回一些ghibli相关信息,却没几乎有“车头如何放置车牌”的信息。

(注:看到这里的读者不用去百度搜索“ghibli车头如何放置车牌”了,您看到的将是被这篇帖子污染的搜索结果,会看到本帖,以及被转载、抄袭的本帖。)

DNN上线之后的搜索结果是这样的:

百度DNN模型上线效果

可以看到,搜索结果中还是没有以“ghibli车头如何放置车牌“为标题的页面,但解决了用户的需要,算法理解了“前”、“前面”和“车头”是一个意思,“放哪里啊”、“怎么装”、“咋挂”和“任何放置“是一个意思,所以”ghibli车牌咋挂“这种页面回答了“ghibli车头如何放置车牌“这个查询,虽然他们包含的关键词是不一样的。

这种对相关性的理解不是传统以关键词匹配为基础的搜索算法能算出来的,而是真实用户的点击数据告诉搜索算法的。用户搜索“ghibli车头如何放置车牌“时,经常点击”ghibli车牌咋挂“、”ghibli前面车牌照怎么装“这些页面,DNN模型被训练后知道,这些词之间是语义相关的。

Google RankBrain

2015年上线的Google RankBrain解决的也是对查询词的深入理解问题,尤其是比较长尾的词,找到与用户查询词不完全匹配、但其实很好回答了用户查询的那些页面。和百度DNN是非常类似的。Google没有具体说明RankBrain的训练方法,估计和百度DNN也是类似的。

2015年RankBrain上线时,15%的查询词经过RankBrain处理,2016年所有查询词都要结果RankBrain处理。

Google自己经常举的RankBrain例子是这个查询:

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

这个查询词相当长尾,完全匹配的结果比较少,而且查询中的几个词容易有歧义,比如consumer通常是消费者的意思,food chain也可以理解为餐饮连锁,但这个完整的查询和商场、消费者、饭馆之类的意思没有任何关系,RankBrain能理解其实用户问的是食物链顶端的物种是什么名字。同样,搜索结果不能按照传统的关键词匹配来处理。

这种长尾查询数量很大,每天Google收到的查询里有15%是以前都没出现过的。这种查询要靠关键词匹配就比较难以找到高质量页面,数量太少,甚至没有,但理解了查询的语义和意图,就能找到满足用户需求的、关键词并不完全匹配的页面。

对SEO的影响以后再详细写,这里只是先简单提示一下:页面要包含关键词,这在目前的关键词优化过程中是必然的,现在搜索引擎能理解两句不同的话意思是一样的了,以后创作或编辑页面内容时,是不是还一定要包含关键词呢?

作者: Zac@SEO每天一贴
版权属于: 中新虚拟主机
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

32 条评论 “人工智能在搜索算法中的应用

  1. 昝前辈,是不是可以这样理解:搜索引擎越来越智能化,对于在创作或编辑页面内容时,如果搜索引擎对包含关键词的页面内容和不包含关键词的页面内容这两种页面是一样的友好度,在网民搜索跟网页一样意思的词组时,搜索引擎展现的结果是一样的,那么就不用非得有关键词的存在了,只要网页表达的中心意思与网民搜索的词组意思一致,或者相似度80%,就OK了。
    另外,我感觉,搜索引擎的智能化,让Seoer的工作从此简单了不少,往后百度竞价似乎也不用动辄就搞好几万个关键词了,是不是这个样子滴?小期待!

  2. 感觉SEO还是很有必要的,但是越来越倾向于用户优化,不能再和以前那样了,AI再只能也是为了用户的需要来查找网站,那么网站的标题就很重要了,如何标题和内容不符合那么网站就是被百度打击的对象,感觉不管AI只能还是算法的更新都是为了用户体验,所以说啊,现在用户的体验才是现在最重要的优化方向。

  3. 我对前辈很是佩服,而且我大学学SEO的书籍也是用的您的,现在看您的博客也是能学到很多的东西,谢谢您!

    1. 我也试了一下,这个结果可能当前用户(比如说你)历史搜索记录相关,比如你做过SEO,那么百度优先显示了SEO以及有完成关键词的的页面(基本都是SEO优化相关的站点)。如果把关键词改成“ghibli 放置车牌”基本就是语义相关内容了。

  4. 昝前辈,自从百度这次调整之后,感觉很多东西都变了,尤其是之前形成的搜索习惯。
    以前搜“单个”词就会出现很多的“关键词”的相关网站,很多网站却并不是自己想要搜索的,所以有很长一段时间,感觉百度搜索越来越不精准了。
    但是现在,搜索的话,有些不热的词可能会有很多“近义词”排名靠前。给我的感觉,好像更加不精准了。
    我想问一下,这样的调整,如何平衡内容与精准等一系列问题呢?还是说,用户需要改变自己的搜索习惯来适应呢。
    问题可能描述的不够准确,还请见谅。

留个言呗:

您的邮箱不会被显示在页面上。标有*的是必填项。