0

想要做好SEO,就要了解搜索引擎的算法,知道其工作原理,排名规则,才能有的放矢,补充短板,那么搜索引擎核心算法有哪些呢?

1、基于文本检索的TF-IDF算法

2、基于链接传递权重的链接算法:Pagerank

3、基于链接再计算的:HITS算法

4、基于链接相关度的:Hilltop算法

5、基于链接计算更加灵活的:SALSA算法

6、更加完善的Pagerank算法

7、基于用户点击行为的结果性排序

1. PageRank算法概述

         PageRank,即网页排名,又称网页级别Google左側排名佩奇排名。

        是Google创始人拉里·佩奇和谢尔盖·布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后,该算法也成为其他搜索引擎和学术界十分关注的计算模型。眼下许多重要的链接分析算法都是在PageRank算法基础上衍生出来的。PageRank是Google用于用来标识网页的等级/重要性的一种方法,是Google用来衡量一个站点的好坏的唯一标准。在揉合了诸如Title标识和Keywords标识等全部其他因素之后,Google通过PageRank来调整结果,使那些更具“等级/重要性”的网页在搜索结果中另站点排名获得提升,从而提高搜索结果的相关性和质量。其级别从0到10级,10级为满分。PR值越高说明该网页越受欢迎(越重要)。比如:一个PR值为1的站点表明这个站点不太具有流行度,而PR值为7到10则表明这个站点很受欢迎(或者说极其重要)。一般PR值达到4,就算是一个不错的站点了。Google把自己的站点的PR值定到10,这说明Google这个站点是很受欢迎的,也能够说这个站点很重要。

2. 从入链数量到 PageRank

        在PageRank提出之前,已经有研究者提出利用网页的入链数量来进行链接分析计算,这样的入链方法如果一个网页的入链越多,则该网页越重要。早期的非常多搜索引擎也採纳了入链数量作为链接分析方法,对于搜索引擎效果提升也有较明显的效果。 PageRank除了考虑到入链数量的影响,还參考了网页质量因素,两者相结合获得了更好的网页重要性评价标准。
对于某个互联网网页A来说,该网页PageRank的计算基于下面两个基本如果: 
     数量如果:在Web图模型中,如果一个页面节点接收到的其它网页指向的入链数量越多,那么这个页面越重要。
     质量如果:指向页面A的入链质量不同,质量高的页面会通过链接向其它页面传递很多其它的权重。所以越是质量高的页面指向页面A,则页面A越重要。
       利用以上两个如果,PageRank算法刚開始赋予每一个网页同样的重要性得分,通过迭代递归计算来更新每一个页面节点的PageRank得分,直到得分稳定为止。 PageRank计算得出的结果是网页的重要性评价,这和用户输入的查询是没有不论什么关系的,即算法是主题无关的。如果有一个搜索引擎,其相似度计算函数不考虑内容相似因素,全然採用PageRank来进行排序,那么这个搜索引擎的表现是什么样子的呢?这个搜索引擎对于随意不同的查询请求,返回的结果都是同样的,即返回PageRank值最高的页面。

3. PageRank算法原理

      PageRank的计算充分利用了两个如果:数量如果和质量如果。过程例如以下:
      1)在初始阶段:网页通过链接关系构建起Web图,每一个页面设置同样的PageRank值,通过若干轮的计算,会得到每一个页面所获得的终于PageRank值。随着每一轮的计算进行,网页当前的PageRank值会不断得到更新。

      2)在一轮中更新页面PageRank得分的计算方法:在一轮更新页面PageRank得分的计算中,每一个页面将其当前的PageRank值平均分配到本页面包括的出链上,这样每一个链接即获得了对应的权值。而每一个页面将全部指向本页面的入链所传入的权值求和,就可以得到新的PageRank得分。当每一个页面都获得了更新后的PageRank值,就完毕了一轮PageRank计算。 

3.2 基本思想:

       假设网页T存在一个指向网页A的连接,则表明T的全部者觉得A比較重要,从而把T的一部分重要性得分赋予A。这个重要性得分值为:PR(T)/L(T)

     当中PR(T)为T的PageRank值,L(T)为T的出链数

        则A的PageRank值为一系列类似于T的页面重要性得分值的累加。

        即一个页面的得票数由全部链向它的页面的重要性来决定,到一个页面的超链接相当于对该页投一票。一个页面的PageRank是由全部链向它的页面(链入页面)的重要性经过递归算法得到的。一个有较多链入的页面会有较高的等级,相反假设一个页面没有不论什么链入页面,那么它没有等级。

3.3 PageRank简单计算:

       如果一个由仅仅有4个页面组成的集合:A,B,C和D。如果全部页面都链向A,那么A的PR(PageRank)值将是B,C及D的和。

       继续如果B也有链接到C,而且D也有链接到包含A的3个页面。一个页面不能投票2次。所以B给每一个页面半票。以相同的逻辑,D投出的票仅仅有三分之中的一个算到了A的PageRank上。

      换句话说,依据链出总数平分一个页面的PR值。

3.4  修正PageRank计算公式:

         因为存在一些出链为0,也就是那些不链接不论什么其它网页的网, 也称为孤立网页,使得非常多网页能被訪问到。因此须要对 PageRank公式进行修正,即在简单公式的基础上添加了阻尼系数(damping factor)q, q一般取值q=0.85。

      其意义是,在随意时刻,用户到达某页面后并继续向后浏览的概率。 1- q= 0.15就是用户停止点击,随机跳到新URL的概率)的算法被用到了全部页面上,估算页面可能被上网者放入书签的概率。

      最后,即全部这些被换算为一个百分比再乘上一个系数q。因为以下的算法,没有页面的PageRank会是0。所以,Google通过数学系统给了每一个页面一个最小值。

     这个公式就是.S Brin 和 L. Page 在《The Anatomy of a Large- scale Hypertextual Web Search Engine Computer Networks and ISDN Systems 》定义的公式。

     所以一个页面的PageRank是由其它页面的PageRank计算得到。Google不断的反复计算每一个页面的PageRank。假设给每一个页面一个随机PageRank值(非0),那么经过不断的反复计算,这些页面的PR值会趋向于正常和稳定。这就是搜索引擎使用它的原因。

4. PageRank算法优缺点

有点:是一个与查询无关的静态算法,全部网页的PageRank值通过离线计算获得;有效降低在线查询时的计算量,极大降低了查询响应时间。

缺点:1)人们的查询具有主题特征,PageRank忽略了主题相关性,导致结果的相关性和主题性减少。2)旧的页面等级会比新页面高。由于即使是非常好的新页面也不会有非常多上游链接,除非它是某个网站的子网站。

5.百度的链接传递算法

百度在结合谷歌链接传递算法的基础上,更加注重网站链接之间的相关性,将相关性作为一个量化的标准。

期待你一针见血的评论,Come on!