什么是SALSA算法?SALSA算法详解和在seo中的应用

一个中级SEOer想要进阶,了解并运用搜索引擎的算法是必不可少的一个过程。今天星空seo博客就带大家了解链接分析算法“SALSA算法”的一些知识。

  SALSA算法是什么意思?

简单来说SALSA算法是在PageRank和HITS算法基础上的优化,吸收了PageRank的游走路径以及HITS的Hub和Authority分类等内容。

SALSA算法的初衷希望能够结合PageRank和HITS算法两者的主要特点,既可以利用HITS算法与查询相关的特点,也可以采纳PageRank的“随机游走模型”,这是SALSA算法提出的背景。由此可见,SALSA算法融合了PageRank和HITS算法的基本思想,从实际效果来说,很多实验数据表明,SALSA的搜索效果也都优于前两个算法,是目前效果最好的链接分析算法之一。

  SALSA算法详解

从整体计算流程来说,可以将SALSA划分为两个大的阶段:首先是确定计算对象集合的阶段,这一阶段与HITS算法基本相同;第二个阶段是链接关系传播过程,在这一阶段则采纳了“随机游走模型”。

  1. 确定计算对象集合

PageRank的计算对象是互联网所有网页,SALSA算法与此不同,在本阶段,其与HITS算法思路大致相同,也是先得到“扩充网页集合”,之后将网页关系转换为二分图形式。

扩充网页集合

SALSA算法在接收到用户查询请求后,利用现有搜索引擎或者检索系统,获得一批与用户查询在内容上高度相关的网页,以此作为“根集”。并在此基础上,将与“根集”内网页有直接链接关系的网页纳入,形成“扩充网页集合”(参考图6.4.3-1)。之后会在“扩充网页集合”内根据一定链接分析方法获得最终搜索结果排名。

转换为无向二分图

在获得了“扩充网页集合”之后,SALSA根据集合内的网页链接关系,将网页集合转换为一个二分图。即将网页划分到两个子集合中,一个子集合是Hub集合,另外一个子集合是Authority集合。划分网页节点属于哪个集合,则根据如下规则:

如果一个网页包含出链,这些出链指向“扩充网页集合”内其它节点,则这个网页可被归入Hub集合;

如果一个网页包含“扩充网页集合”内其它节点指向的入链,则可被归入Authority集合。

由以上规则可以看出,如果某个网页同时包含入链和出链,则可以同时归入两个集合。同时,Hub集合内网页的出链组成了二分图内的边,根据以上法则,将“扩充网页集合”转换为二分图。

图6-15和图6-16给出了一个示例,说明了这个转换过程。假设“扩充网页集合”如图6-15所示,由6个网页构成,其链接关系如图所示,同时为便于说明,每个网页给予一个唯一编号。图6-16则是将图6-15中的网页集合转换为二分图的结果。以网页6为例,因为其有出链指向网页节点3和网页节点5,所以可以放入Hub集合,也因为编号为1、3、10的网页节点有链接指向网页节点6,所以也可以放入Authority集合中。网页节点6的两个出链保留,作为二分图的边,

什么是SALSA算法?SALSA算法详解和在seo中的应用
图6-15 扩充网页集合示例

但是这里需要注意的是,在转换为二分图后,原先的有向边不再保留方向,转换为无向边,而HITS算法仍然保留为有向边,这点与SALSA略有不同。

什么是SALSA算法?SALSA算法详解和在seo中的应用
图6-16 二分图

到这一步骤为止,除了SALSA将“扩充网页集合”转换为无向二分图,而HITS仍然是有向二分图外,其它步骤和流程,SALSA算法与HITS算法完全相同,正因此,SALSA保证了是与用户查询相关的链接分析算法。

  2. 链接关系传播

在链接关系传播阶段,SALSA放弃了HITS算法的Hub节点和Authority节点相互增强的假设,转而采纳PageRank的“随机游走模型”。

链接关系传播概念模型

如图6-16所示,假设存在某个浏览者,从某个子集合中随机选择一个节点出发(为方便说明,图中所示为从Hub子集的节点1出发,实际计算往往是从Authority子集出发),如果节点包含多条边,则以相等概率随机选择一条边,从Hub子集跳跃到Authority集合内节点,图中所示为由节点1转移到节点3,之后从Authority子集再次跳回Hub子集,即由节点3跳到节点6。如此不断在两个子集之间转移,形成了SALSA自身的链接关系传播模式。

尽管看上去与PageRank的链接传播模式不同,其实两者是一样的,关键点在于:其从某个节点跳跃到另外一个节点的时候,如果包含多个可供选择的链接,则以等概率随机选择一条路径,即在权值传播过程中,权值是被所有链接平均分配的。而HITS算法不同,HITS算法属于权值广播模式,即将节点本身的权值完全传播给有链接指向的节点,并不根据链接多少进行分配。

SALSA的上述权值传播模型与HITS模型关注重点不同,HITS模型关注的是Hub和Authority之间的节点相互增强关系,而SALSA实际上关注的是Hub-Hub以及Authority-Authority之间的节点关系,而另外一个子集合节点只是充当中转桥梁的作用。所以,上述权值传播模型可以转化为两个相似的子模型,即Hub节点关系图和Authority节点关系图。

Authority节点关系图

图6-17是由6-16的二分图转化成的“Authority节点关系图”,“Hub节点关系图”与此类似,两者转化过程是相似的,我们以“Authority节点关系图”为例来看如何从二分图转化为节点关系图。

什么是SALSA算法?SALSA算法详解和在seo中的应用
图6-17 Authority节点关系图

这里需要注意的是:Authority集合内从某个节点i转移到另外一个节点j的概率,与从节点j转移到节点i的概率是不同的,即非对称的,所以转换后的Authority节点关系图是个有向图,以此来表示其转移概率之间的差异。

对于图6-17这个“Authority节点关系图”来说,图中包含的节点就是二分图中属于Authority子集的节点,关键在于节点之间的边如何建立以及节点之间转移概率如何计算。

节点关系图中边的建立

之所以在“Authority节点图”中,节点3有边指向节点5,是因为在二分图中,由节点3通过Hub子集的节点6中转,可以通达节点5,所以两者之间有边建立。

这里需要注意的是:在二分图中,对于Authority集合内某个节点来说,一定可以通过Hub子集的节点中转后再次返回本身,所以一定包含一条指向自身的有向边。节点1因为只有中转节点2使得其返回Authority子集中自身节点,所以只有指向自身的一条边,和其它节点没有边联系,所以例子中的“Authority节点关系图”由两个连通子图构成,一个只有节点1,另外一个连通子图由剩余几个节点构成。

节点之间的转移概率

至于为何“Authority节点关系图”中,节点3到节点5的转移概率为0.25,是因为前面介绍过,SALSA的权值传播模型遵循“随机游走模型”。在图6-16的二分图中,从节点3转移到节点5的过程中,节点3有两条边可做选择来跳转到Hub子集,所以每条边的选择概率为1/2,可以选择其中一条边到达节点6,同样,从节点6跳回到Authority子集时,节点6也有两条边可选,选中每条边的概率为1/2。所以从节点3出发,经由节点6跳转到节点5的概率为两条边权值的乘积,即为1/4。

对于指向自身的有向边,其权重计算过程是类似的,我们仍然以节点3为例,指向自身的有向边代表从Authority子集中节点3出发,经由Hub子集的节点再次返回节点3的概率。从6-16的二分图可以看出,完成这个过程有两条路径可走,一条是从节点3到节点1返回;另外一条是从节点3经由节点6后返回;每一条路径的概率与上面所述计算方法一样,因为两条路径各自的概率为0.25,所以节点3返回自身的概率为两条路径概率之和,即为0.5。图中其它边的转移概率计算方式也是类此。

建立好“Authority节点关系图”后,即可在图上利用“随机游走模型”来计算每个节点的Authority权值。在实际计算过程中,SALSA将搜索结果排序问题进一步转换为求Authority节点矩阵的主秩问题,矩阵的主秩即为每个节点的相应Authority得分,按照Authority得分由高到低排列,即可得到最终的搜索排序结果。

  3. Authority权值计算

什么是SALSA算法?SALSA算法详解和在seo中的应用
图6-18 SALSA节点权值计算公式

经过数学推导,可以得出SALSA与求矩阵主秩等价的Authority权值计算公式。图6-18示意图表明了SALSA算法中某个网页节点的Authority权值是如何计算的。如图右上角公式所示,决定某个网页i的Authority权值涉及到4个因子:

Authority子集中包含的节点总数|A|。其实这个因子对于Authority集合中任意节点来说都是相同的,所以对于最终的根据节点Authority权值进行排序没有影响,只是起到保证权值得分在0到1之间,能够以概率形式表示权值的作用;

网页i所在连通图中包含的节点个数|Aj|。网页所在的连通图包含的节点个数越多,则网页的Authority权值越大;

网页i所在连通图中包含的入链总数|Ej|。网页所在的连通图包含的入链总数越少,则网页的Authority权值越大;

网页i的入链个数|Bi|。节点入链越多,则Authority权值越大,这个因子是唯一一个和节点本身属性相关的。由此可见,SALSA权值计算和节点入链个数成正比。

之前图6-17的“Authority节点关系图”由两个连通子图组成,一个由唯一的节点1构成,另外一个由节点3、5、6三个节点构成,两个连通子图在图6-18中也被分别圈出。

我们以节点3为例,看其对应的四个计算因素取值:

Authority子集共包括4个节点;

节点3所在连通图包含3个节点;

节点3所在连通图共有6个入链;

节点3的入链个数为2;

所以,节点3的Authority权值为:(3/4)*(2/6)=0.25。其它节点权值的计算过程与此类似。SALSA根据节点的Authority权值由高到低排序输出,即为搜索结果。

由上述权值计算公式可以推论出:如果整个Authority子集所有节点形成一个完整的连通图,那么在计算authority权值过程中,对于任意两个节点,4个因子中除了节点入链个数外,其它三个因子总是相同,即只有入链个数起作用,此时,SALSA算法退化为根据节点入链个数决定排序顺序的算法。

从SALSA计算Authority得分过程中可看出,SALSA算法不需像HITS算法一样进行不断迭代计算,所以从计算效率角度看要快于HITS算法。另外,SALSA算法解决了HITS算法的计算结果主题漂移的问题,所以搜索质量也优于HITS算法。SALSA算法是目前效果最好的链接算法之一。

  SALSA算法在SEO技术中应用

我们知道:

PageRank算法告诉我们链接数量(外链)越多越好,导入链接可能增加网站权重,导出链接则会减少权重,而转出目标网站获得的权重,是该网站导出链接数量的平均值。所以这也是为什么很多导出链接需要使用nofollow标签,就是不想给对方转移权重。

HITS算法原理与应用,大家可以参考我之前一篇文章《[HITS算法]链接分析算法之 HITS算法》的详细的讲解。

但是SALSA算法告诉我们,网站不但要有导入链接,也要有一定数量的导出链接。

举几个例子:

网站A只有1条导入链接

网站B有2条导出链接1条导入链接

网站C有1条导出链接2条导入链接

网站D有2条导出链接3条导入链接

根据算法,权重数据如下:D>C=B>A

参考文献:

《这就是搜索引擎:核心技术详解》

我们在做友链和外链的同时,一定要做一定数量的导出链接,包括首页和内页。这样能够让我们的网站在搜索引擎当中获得更高的权重。

版权声明:原创文章,作者(大鹏),如若转载,请注明出处。什么是SALSA算法?SALSA算法详解和在seo中的应用:https://www.31seo.com/315.html

(3)
打赏 支付宝扫一扫 支付宝扫一扫
大鹏的头像大鹏
上一篇 2020-07-23 11:43:32
下一篇 2020-07-27 13:06:42

相关推荐

  • 外链怎么发布?一箭双雕,外部链接策略

    目前,我们不可否认的是社交媒体对SEO的影响,特别是新媒体平台,很多比较成熟的公司都会在原有的SEO部门增加新媒体部,这就意味着,基础性的营销推广,不单单存在于SEO,以往通过SEO获取大量流量的操作,目前只成为渠道之一,所以作为SEO人员,我们有的时候应该一

    2020-08-18
    3.0K0
  • SEO外链怎么做?SEO建立链接的真实目思考

    在很长一段时间里,我们花费大量的时间用于企业网站的外部链接建设,但在很大程度上,我们经常是为了外链而链接,这实际上是违背搜索引擎的本意。  根据以往发外链的经验,星空seo,将通过如下内容阐述:  1、链接本质  对于许多SEO外链推广员而言,获得外链的数量,

    2020-08-20
    3.0K0
  • 大学与职业技术学校,需要做seo吗?

    对于大学而言搜索引擎优化并非是其首选的工作,而对于职业技术学校来讲却是重中之中,但随着时代的发展,大学与职业学校之间同样面临着竞争问题。  特别是远程在线教育,目前很多国内大学都开始这个课程,但自身的网站几乎无SEO人员!  不过有一点欣慰的是,搜索引擎对大学

    2020-08-19
    2.2K0
  • 黑帽SEO和白帽SEO区别,白帽SEO技术怎么做?

    很多新人对于seo也许不是很了解,但在互联网上seo却处处可见,我们平时浏览的新闻、视频、网页等等,都是与SEO技术有关的,很多大型的网站都有SEO技术人员,他们的目标就是为网站

    2020-07-09
    2.7K0
  • SEO见到效果再付费,可信吗?

    对于初创企业而言,在官网上线的时候,大部分都不具备自有SEO团队,由于经费有限,通常大部分的企业都会与SEO机构进行合作,进而满足通过线上获取业务订单的需求。  在接洽一些相关SEO公司的时候,经常会谈论到一个问题:SEO见到效果再付费,这是一些中小企业初识S

    2020-08-18
    2.2K0
  • 如何正确识别百度蜘蛛?只需做这两点

    很多SEO从业人员在刚刚接触这个行业的时候,经常会问——百度蜘蛛是什么?我们可以理解为百度蜘蛛就是用来抓取网站链接的IP,小编经常会听到百度蜘蛛来的太频繁,服务器要被抓

    2020-07-09
    3.0K0

发表回复

登录后才能评论