http://www.itmseo.com

搜索引擎算法以人工智能为基础,还有SEO的事吗?

三年前,Googled的AlphaGo横空出世时,我写了《AlphaGo、深度学习及SEO》这篇帖子,在那之后,我一直非常关注人工智能与搜索算法的进展。

人工智能为基础的搜索引擎算法


我不知道搜索算法什么时候会大规模以AI为基础,也不知道目前AI技术在搜索算法中应用到了什么程度。由于目前人工智能技术的不可解释性,搜索引擎以AI作为算法基础会是非常谨慎的,不然很不容易debug。

不过算法中的一些模块应用AI是肯定的,以前介绍过百度的DNN模型和Google的RankBrain算法,都是AI在搜索算法中的应用。

那么完全以人工智能为基础的搜索算法是什么样的?工作原理和流程是什么?简单说一下我的理解。

人工智能的优势与搜索

目前实现人工智能的主流方法是机器学习中的深度学习分支,在这篇帖子里就不加严格区分了。

简单说,人工智能是给予系统大量训练数据,人工智能自己从中寻找模式和规律。给予AI系统的数据是打了标签的,或者说是告诉了AI系统结果。比如,在围棋中,AI系统有了大量历史棋局数据(后来的Alpha连历史棋局都不需要了,自我对局的数据就行了),以及这些棋局的输赢结果,这个结果就是标签。然后AI系统自我学习棋局盘面与结果(输赢)之间的关系。

在搜索中,AI系统有了页面的大量数据,也就是搜索引擎本身的索引库,还需要标签,也就是要知道哪些页面是高质量的?针对一个查询词,哪些搜索结果是用户满意的?然后AI算法自己学习页面特征(也就是排名因素)和排名之间的关系。

传统的搜索算法是搜索工程师人工选择排名因素,人工给予排名因素一定的权重,根据给定公式,计算出排名。这种方法的弊端是,当数据量大了,排名因素多了的时候,调整排名因素的权重是件很困难的事。最初的权重很可能就是根据常识,再加上拍脑袋,具有很大的主观随意性。当有几百个因素,这些因素又互相影响时,调整这些因素的权重就变成混乱、无法预见结果的事了。

而从海量数据中找模式正是AI的擅长。AI可以快速寻找可能的排名因素,调整排名因素权重,自动迭代计算,拟合出排名因素和用户满意的搜索结果之间的计算公式。

通过训练数据训练出来的计算公式就是AI搜索算法,可以应用于用户更多的搜索了。

谁来打标签?

既然训练AI搜索算法时需要打了标签的数据,那么这些标签数据是从哪来的?这就是搜索引擎质量评估员的作用了。

前不久Google质量评估指南帖子里详细介绍了质量评估员的工作。这些真实用户(他们不是Google员工),在学习质量评估指南后,Google在评估系统中给评估员真实网站、真实查询词数据,评估员进行相关评估,最主要的就是:

给页面质量打分

给特定查询词的搜索结果打分

Google的质量评估员很早就存在了,应该不是为了开发AI算法招募的,而是用来评估传统算法质量的。但他们的评估数据刚好可以被人工智能系统有效使用。

这样,AI系统就知道,针对某个查询词,用户满意的搜索结果是哪些页面,是按什么顺序排名的。

现在,AI系统有了海量页面特征数据,也知道什么样的搜索结果是真实用户满意的,下一步就是训练系统,寻找页面特征和搜索排名之间的关系。

训练人工智能搜索算法

搜索引擎可以把打了标签的搜索结果数据分成两组。一组训练用,一组验证用。

AI算法检查训练组搜索结果中的页面有哪些特征,这些特征又应该给予什么样的权重,根据什么样的计算公式,才能计算出用户满意的(打过标签的)搜索结果。

与传统算法不同的是,需要哪些特征(排名因素),这些特征给予多少权重,不是工程师决定的,是AI系统自己寻找和评估的。这些因素也许是工程师想得到、早就在用的,比如:

页面的关键词密度

页面内容长度

页面上有没有广告

页面有多少外部链接

页面有多少内部链接

页面有多少以查询词为锚文字的链接

页面所在域名有多少外链

页面打开速度多快

等等等等,可能有几百上千个

也许是工程师压根儿没想过的,也许有些是表面上看起来毫无关系、毫无道理的,比如:

页面正文用的几号字

文章作者名字是三个字

页面第一次被抓取是星期几

页面外链数是单数偶数

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。