机器学习正迅速成为许多大公司的必备工具。每个人都有,可以肯定,听说过谷歌的算法AI击败了世界冠军的围棋,以及像RankBrain技术,但机器学习不一定是降级到数学研究的领域一个神秘的主题。有迹象表明,显示的是到具有数据一起玩任何行业非常有用的承诺很多平易近人库和技术。
机器学习?也有把传统的网站营销和搜索引擎优化发挥得淋漓尽致的能力。?去年年底,我的?和我的同事(而天真地)开始了一项实验?我们在其中?扔在预测排名的任务几种流行的机器学习算法?谷歌。我们?结束了与我们的数据集达到41%的真阳性和41%真阴性组件。
在下面的段落中,我将带你?通过我们的实验,我?还将讨论是很重要的SEO的开始了解了一些重要的库和技术。
对2015年年底,我们开始听到越来越多的关于机器学习和承诺,利用大量数据。我们越挖,它成为了更多的技术,它很快就清楚,这将是有帮助的人帮助我们定位这个世界。
大约在那个时候,我们遇到了来自巴西的辉煌数据的科学家命名的亚历杭德罗·Simki?vich。有趣的事情给我们介绍一下Simki?vich是,他在搜索相关性和转化率优化(CRO)及配售领域工作的非常好重要KaGGle比赛。(对于那些你不熟悉,Kaggle是一个网站,主机机器学习比赛数据的科学家群体和机器学习爱好者。)
Simkievich是卢森堡统计局,数据科学/机器学习咨询公司的老板,与消费品的客户,汽车,市场营销和互联网行业。卢森堡统计局的工作很多已经集中在评估电子商务搜索引擎的相关性。一起工作似乎是天作之合,因为我们使用的数据与帮助痴迷决策SEO。
我们想设置大毛球,所以我们决定看看我们是否可以使用可从刮,排名跟踪,链接工具和一些新的工具,数据,看看我们是否可以创建功能,使我们能够预测的等级网页。虽然我们知道要在拉断的可能性是非常低的,我们还是向前推进了一个惊人的胜利的机会,以及学习一些真正有趣的技术机会。
从根本上说,机器学习是用计算机程序来获取数据,然后在提供一些有价值的东西回报的方式改造它。“转换”是一个非常松散应用的话,因为它并不完全公平对待所涉及的所有,但它被选定为便于理解。这里的关键是,所有的机器学习始于某种类型的输入数据。
(注:有很多教程和课程免费提供那些覆盖机器学习的基础知识的一个很好的工作,所以我们不会做,在这里。如果您有兴趣了解更多,安德鲁吴有Coursera极好的免费类在这里。)
底线是,我们必须找到数据,我们可以用它来训练机器学习模型。在这一点上,我们并不确切地知道什么是有用的,所以我们用一个厨房水槽的方法,抓住作为,我们能想到的许多功能。GetStat和雄伟壮观的是在提供大部分的基础数据非常宝贵的,我们建立了一个爬虫捕捉一切。
我们的目标是最终获得足够的数据来成功地培养模型(以后会更多),这意味着大量的数据。对于第一种模式,我们有20万次左右的观测(行)和54个属性(列)。
正如我以前说过,我不会去到了很多关于机器学习的细节,但重要的是要把握好几点理解下一节它。总体而言,大部分的机器学习工作与回归,分类和聚类算法交易的今天。我会定义两个在这里,因为他们与我们的项目。
回归算法?是用于预测单数通常有用。如果你需要创建一个算法,预测基于股票的特征股票的价格,你会选择这种类型的模型。这些被称为连续变量。
分类算法?被用于预测一个类可能的答案中的一个成员。这可能是一个简单的?“是还是不是”?分类,?要么?“红,?绿色或蓝色。“如果你需要预测未知人是否是男性或女性的特征,你会选择这种类型的模型。这些被称为离散变量。
机器学习是一个非常技术性的空间,现在,许多前沿的工作,需要熟悉线性代数,微积分,数学符号和编程语言如Python。一个帮助我理解在一个平易近人的水平整体流程的项目,虽然是思考的机器学习模型在你给它的数据应用权重特征。更重要的功能,更强的重量。
当你阅读“的训练模式,”是有帮助的可视化,通过该模型,每个配重连接字符串,并作为模型做出的猜测,成本函数是用来告诉你的猜测是多么错误,并轻轻地,或严厉,拉弦的正确答案的方向,纠正所有的权重。
下面的部分变得有点技术术语,所以如果是你太多,随意跳到最后一节的结果和外卖店。
现在,我们有数据,我们尝试了几种方法来预测每个网页的谷歌排名的问题。
最初,我们使用的回归算法。也就是说,我们试图准确地预测排名网站对于给定的搜索词(E。g。,A网站的排名将用于搜索词Y X),但几个星期后,我们意识到,任务太难了。首先,排名为通过定义相对于其他部位的部位的特征,该网站的不固有特性(如,例如,字计数)。由于这是不可能的,我们与排名对于一个给定的搜索词的所有站点养活我们的算法,我们重新的问题。
我们认识到,在谷歌排名而言,最重要的是给定的网站是否为给定的搜索词结束了第一页。因此,我们重新陷害的问题:如果我们试图预测网站是否会在排名前10位排名由谷歌为某一搜索字词落得什么? 我们选择了前10名,因为,正如他们所说的,你可以隐藏在一具尸体?第二页!
从这个角度来看,这个问题变成了二进制(是或否)分类问题,在这里我们只有两类:一)该网站是一个排名前10位的网站,或b)该网站是不是前10名网站。此外,而不是使一个二进制的预测,我们决定来预测一个给定的网站属于每个类的概率。
后来,为了强迫自己做出一个明确的决定,我们决定在这上面我们预测的网站将进行排名前10位的阈。举例来说,如果我们预测的阈值为0.85,那么如果我们预测的位点中的前10中的概率高于0.85,我们继续前进,并预测该网站将在排名前10位。
为了测量算法的性能,我们决定使用混淆矩阵。
下面的图表提供了整个过程的概述。
我们用20万所记录的数据集,包括大约2000不同的关键字/搜索字词。
在一般情况下,我们可以把我们使用分为三类属性:
数值功能
分类变量
文本功能
数值的特征是指那些可以无限或有限区间内采用任何数量的。一些我们所使用的数值特点是易于读取的,年级,文长,每一句话的平均数量,URL长度,网站加载时间,指的是网站的域名数,数 。EDU域指的是网站,数 。GOV域名指的是网站,信托流了许多话题,引流量,Facebook股票,LinkedIn股价和谷歌股价。我们采用了标准的标量(乘数),以这些功能居中周围的平均值,但除此之外,他们不需要任何进一步的预处理。
分类变量是一个可以取的值的数量有限,与代表一个不同的组或类别的每个值。我们使用分类变量包括该网站是可信的最频繁的关键词,以及位置和组织整个网站,除了主题。预处理这些特点包括在把它们变成数值标签和随后的一个热编码。
文本功能显然由文本。它们包括搜索词,网站内容,标题,元描述,锚文本,标题(H3,H2,H1)和其他人。
是突出重要的是,没有一些分类属性之间存在明确的差(E。g。,组织在网站上提到的)和文字,还有一些属性确实是从一个类别中不同型号切换到其他。
我们设计的附加功能,这与等级相关。
大多数的这些功能都是布尔(真或假),但也有一些数值。布尔特性的一个例子是包括在网站文字的确切搜索词,而数值特点将是有多少搜索词中的令牌包含在网站的文字。
下面是一些我们设计的特点。
预先处理的文本的功能,我们使用TF-IDF算法(术语频率,逆文档频率)。该算法查看每个实例作为文档和整套实例作为语料库。然后,一个得分指定给每个术语,其中,更频繁的术语是在文档中和较不频繁的是在语料库,分数越高。
我们尝试了两种TF-IDF方法,以根据不同的型号略有不同的结果。第一种方法包括连接所有第一文本特征,然后运用TF-IDF算法(我。e。中,单个实例的所有文本列的级联成为文档,和该组的所有这些实例的变语料库)。第二种方法包括分别施加所述TF-IDF算法的每个特征(ⅰ。e。,每一个单独的列中的语料库),然后连接所得的阵列。
TF-IDF后所得到的数组是非常稀疏的(给定实例最列是零),所以我们应用维数降低(单值分解)来减少属性/列数。
最后一步是从所有特征类别中的所有列所得连接成的阵列。这是我们应用以上(清洁功能,开启类别特征为标签,在标签上进行一个热编码,采用TF-IDF的文本功能和缩放的所有功能居中周围的平均值)的所有步骤后做了。
未得,然后连接起来的所有功能,我们跑了他们许多不同的算法。即显示出最有希望的算法梯度升压分类器,分类器脊和两层神经网络。
最后,我们使用装配简单平均模型结果,因此,我们看到了一些额外的收益,因为不同的车型往往有不同的偏见。
最后一步是在阈值决定关闭的概率估计为二进制的预测(“是的,我们预测这个网站将在谷歌排名前10位”或“不,我们预测这个网站会不会在谷歌排名前10位”)。为此,我们进行了优化的交叉验证集,然后使用在试验组所获得的阈。
该指标,我们认为将是最有代表性的衡量模型的效果是混淆矩阵。混淆矩阵是经常被用来在一组测试数据的量,真实值是已知的描述分类模型的性能(或“分类器”)的表。
我相信你已经听说过这样一句话,“一个破碎的时钟是正确的,一天两次。“随着100个结果为每个关键字,随意的猜测正确预测”不是在排名前10位“90%的时间。混淆矩阵确保肯定和否定答案的准确性。我们在最好的模型得到的粗41%的真阳性和41%的真阴性。
可视化模型的有效性的另一种方式是通过使用ROC曲线。一个?ROC曲线“示出二元分类器系统作为其鉴别阈值的性能的曲线图是变化。该曲线是通过绘制反对各种阈值设置的假阳性率(FPR)真阳性率(TPR)创建。“在合奏中使用的非线性模型是XGBoost和一个神经网络。线性模型是logistic回归。合奏情节所指示的线性和非线性模型的组合。
XGBoost是短期的“至尊梯度推进,”?与梯度升压为“用于回归和分类的问题机器学习技术,其产生的预测模型在弱预测模型,典型地决策树的集合的形式。“
以下图表所示的特征的类别的相对贡献到该模型的最终预测的准确度。不像神经网络,XGBoost,与某些其他车型一起,让您轻松不期而遇的模型告诉的相对重量预测特定功能持有。
我们相当深刻的印象,我们能够建立一个模型,表明从功能的预测能力,我们给了它。我们很紧张,我们的功能限制将导致该项目的绝对徒劳无益。理想情况下,我们将有一个办法抓取整个网站以获得总体相关性。也许我们可以收集关于谷歌的数字数据审查业务。我们也了解,谷歌有联系,并引用更好的数据比我们所能希望收集。
机器学习是一个非常强大的工具,即使你没有完全了解它是如何工作的复杂性使用。我看了一下RankBrain和工程师无法许多文章来了解它是如何工作。这是神奇的部分和美容机器学习。类似的进化过程中,其中生活获得不同的功能和一些现场和一些模具,机器学习的过程中发现的方式来回答,而不是给它。
虽然我们很高兴与我们的第一个模型的结果,是要明白,这是一个相对较小的样本训练的相比,互联网的巨大大小是很重要的。其中在建立任何形式的机器学习工具的主要目标是推广的想法和数据有效地运作一个从未见过。我们目前正在测试我们对新的查询模式,将继续完善。
我在这个项目最大的收获是刚刚开始获得巨大价值是机器学习对我们的行业把握。几个我看到它影响SEO的方法是:
文本生成,汇总和分类。想想内容摘录智能和网站潜在自我组织基于分类。
从来不必编写另一个ALT参数(见下面)。
看着用户行为和分类/人次的得分新方法。
的使用语音和智能Q&A样式内容/产品/推荐系统导航网站的新方式整合。
完全挖掘分析和抓取的数据的新方法给予了解访问者,会话,趋势和潜在的知名度。
在有关用户的广告渠道的分布更聪明的工具。
该项目是更多的学习对我们来说,而不是办成一个圣杯(各种)。很像意见,我给新的开发?(“最好的学习,而这样做会发生”),它让你的手脏,并开始培训是非常重要的。您将学习如何收集,清洁和整理数据,你会用各种机器学习工具的来龙去脉熟悉。
这在很大程度上是熟悉更多的技术SEO的,但业内人士也正在开发工具,以帮助那些谁不为技术上倾斜。我在理解这个空间编译低于感兴趣的几个资源。
要明白,大多数总额机器学习的不是如何构建人类水平的人工智能,而是如何使用数据来解决实际问题是非常重要的。以下是近期方式的几个例子,这是发生。
NeuralTalk2是在Andrej Karpathy火炬模型,用于产生给定图像的自然语言描述。想象一下,永远不必再另写ALT参数和具有机器为你做。Facebook上已经将这一技术。
研究人员掌握语音处理,并开始能够理解的话背后的含义(鉴于其上下文)。这在信息访问传统网站的深层含义。相反,导航和搜索,网站可以与您的访客交谈。在Alexa的实例,也没有网站所有,只是谈话。
有工作的翻译和内容语义的领域,现在正在进行一个巨大的量。它远远超越了传统的马尔可夫链和文字的正gram表现。机器显示能力的初始提示,归纳总结跨域文本。“复发性神经网络的不合理有效性”是从去年伟大的职位,让什么是可能这里的一瞥。
家得宝公司最近发表了关于Kaggle一个开放的竞争中他们的搜索结果的相关性预测访问者的查询。你可以看到一些过程对这一主题的获奖作品背后。
因为我们作为搜索引擎营销,生活在数据的世界,为我们了解新的技术,使我们能够在我们的工作做出更好的决策是非常重要的。有许多地方,机器学习可以帮助我们的理解,从更好地了解的意图我们的用户对哪些网站行为推动哪些行动。
对于那些你谁感兴趣的机器学习但与复杂性不堪重负,我会建议数据科学道场。有使用微软的机器学习工作室是非常平易近人到新手教程简单。这也意味着,你不构建第一个模型之前,必须要学会代码。
如果你有兴趣在更强大的定制机型,不怕一些代码的,我可能会跟听这个讲座由贾斯汀·约翰逊在斯坦福大学开始,因为它通过四种最常见的库。Python的(或许R)的一个很好的了解是必要做功德的任何工作。克里斯托弗·奥拉具有覆盖了大量的涉及数据的科学有趣的话题一个非常伟大的博客。
最后,Github上是你的朋友。我发现自己希望通过加入看到非常有趣的项目的人正在对近期的回购协议。在许多情况下,数据是现成的,并且有执行特定任务的非常好预训练模式。环顾四周,熟悉的可能会给你一些观点纳入这个惊人的场。
在这篇文章中所表达的意见是那些客人笔者并不见得搜索引擎土地。作者的工作人员在这里列出。