欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

页面解析之搜索引擎技术的排序算法

程序员文章站 2022-07-09 23:50:52
各种搜索引擎的技术改进和优化,都直接反应到搜索结果的排序上。许多搜索引擎都在进一步研究新的排序方法,来提升排名,需要的朋友可以参考下... 14-09-16...

  联网的出现和迅速发展使信息检索的环境发生了重大变化。而基于互联网的搜索引擎的排名算法直接关系到用户在新的环境里进行信息检索的使用体验。 现有的搜索引擎排名算法,以基于网页链接结构的算法为主,主要的两种代表性算法是pagerank算法和hits算法,基于这两种算法国内外许多学者和研究机构又进行了新的探索和改进。

  在此基础上形成了一些适于搜索引擎使用的成熟的综合排名模型。 本文研究分析了国内外搜索引擎的发展背景,以及对搜索引擎排序有重要影响的seo技术。在此基础之上,对pagerank算法和hits算法进行了深入的分析。

  一、pagerank

  算法pagerank是最著名的搜索引擎google采用的一种算法策略,是根据每个网页的超级链接信息计算网页的一个权值,用于优化搜索引擎的结果。由拉里-佩奇提出。

  简单说,pagerank算法是计算每个网页的综合得分数,即假如网页a链向网页b,则网页b加一分,当然。不同链接网页对于指向网页的加分也是不同的,一个页面的得分情况是由所有链向它的页面的重要性经过递归算法得到的。

  pagerank算法的基本原理推导如下:

  pr(a) = (1-d) + d*(pr(t1)/c(t1) + ... + pr(tn)/c(tn))

  其中,pr(a)是指网页a的pr值。

  t1,t2,...,tn是指网页a的链入网页。

  pr(ti)是指网页ti的pr值(i=1,2,...,n)。

  c(ti)是指网页ti的链出数量(i=1,2,...,n)。

  d是一个衰减因子,0<d<1,通常取值为0.85。

  从以上公式可以看出,影响一个网页pr值的主要因素如下:

  (1)该网页的链入数量。

  (2)该网页的链入网页本身的pr值。

  (3)该网页的链入网页本身的链出数量。

  根据上面分析可以判断:一个网页的链入数量越多,这些链入网页的pr值越高,这些网页本身的链出数量越少,则该网页的pr值越高。

  google给每一个网页都赋予一个初始pr值(1-d),然后利用pagerank算法收敛计算其pr值。

  网页的链入链出关系,时刻都在变化,那么pr值也需要更新,可以用定时任务重复计算后更新,使得网页的最终pr值达到一个均衡稳定的状态。

  google的查询过程是这样的:首先根据用户输入的查询关键词对于网页数据库中的网页尽情匹配,然后对于匹配到的网页按照其本身的pr排序呈献给用户。

  此外,一个网页在检索结果列表中的位置还与其它很多因素相关,比如检索词在网页中的位置等。

  pagerank的缺陷在于不考虑链接的价值,这对通用搜索引擎比较合适,但对主题相关的垂直搜索引擎而言并不是很好的策略。

  二、hits

  pagerank算法对于向外链接的权值贡献是平均的,即不考虑不同链接的重要性,但是页面链接中可能某些是广告、导航或者注释链接,平均权值显然不太符合实际情况。

  hits(hyperlink induced topic search)算法则是一种经典的专题信息提取策略,能够提高垂直查准率。

  1、原理

  hits算法由jon kleinberg提出,其对每个网页都要计算两个值:权威值(authority)和中心值(hub)。

  (1)权威网页

  一个网页被多次引用,则它可能是很重要的;一个网页虽然没有被多次引用,但是被重要的网页引用,则它也可能是很重要的;一个网页的重要性被平均的传递到它所引用的网页。这种网页称为权威网页。

  (2)hub网页

  提供指向权威网页的链接集合的web网页,它本身可能并不重要,或者说没几个网页指向它,但是它提供了指向就某个主题而言最为重要的站点的链接集合,这种网页叫做hub网页。

  (3)算法思想

  首先利用通用搜索引擎得到一个网页的初始子集i,当然i内的页面都是和用户查询条件有很大相关性。然后把i指向的网页和指向i的网页都包含进来,形成基础集合e,e中的每个页面都具有一个authority权值和hub权值,分别记作a和h,a值表示网页与查询条件相关度的高低,h反应的是该页面链出相关度页面的多少情况。a=(a1, a2, ..., an)和h=(h1, h2, ..., hn)代表e中所有网页的authority和hub向量,初始时把所有的ai和hi都设置为1,然后利用下面的公式进行计算:

页面解析之搜索引擎技术的排序算法

  其中,b(i)和f(i)分别表示指向该网页的网页链接集合和该网页指向的网页链接集合。用n*n的矩阵a表示集合e的网页节点间的连接,如果节点i和节点j之间有连接,则a[i,j]=1,则a[i,j]=0,因此,上面公式可以表示为:

页面解析之搜索引擎技术的排序算法

  迭代计算a和h,直至收敛。这样我们集中求ata和aat。最后按照authority和hub值排序,将a和h值大于阈值m的网页挑出来。

  若一个网页由很多好的hub指向,则其权威值会相应增加;若一个网页指向很多好的权威页,则hub值也会相应增加。hits算法最后输出的一组具有较大hub值的网页和具有较大权威值的网页。

  2、缺陷

  hits算法在提高一定的垂直查准率的同时,也存在如下缺陷:

  (1)hits算法忽略了网页内容的差异,对于每个链接网页赋予相同的加权常数,因为每个网页中都会有一些广告链接等非相关的链接网页,这些非相关网页和相关网页同等对待,会容易产生主题漂移现象。

  (2)在开始形成url集合e中,对于初始集合i中网页的一些非相关链接也加入到e中,增加了无谓的下载量,也致使后边更多的无关网页参与到了计算,对准确率存在一定的影响。

  3、改进

  改进方向如下:

  (1)主题漂移

  (2)下载过滤

  以上就是搜索引擎技术之排序算法,虽然公式有点麻烦,但是仔细钻研的话就会有所收获的哦,谢谢大家阅读。