seo实战搜索引擎链接算法之:HITS算法解析

作者: admin 分类: SEO优化 发布时间: 2020-10-29 20:48

  seo实战搜索引擎链接算法之:HITS算法解析

  HITS算法也是链接剖析中十分根底且重要的算法,目前已被Teoma查找引擎(www.teoma.com)作为链接剖析算法在实践中运用。

  6.4.1 Hub页面与Authority页面

  Hub页面和Authority页面是HITS算法最根本的两个界说。所谓“Authority”页面,是指与某个范畴或许某个论题相关的高质量网页,比方查找引擎范畴,Google和百度主页即该范畴的高质量网页,比方视频范畴,优酷和土豆主页即该范畴的高质量网页。所谓“Hub”页面,指的是包括了许多指向高质量“Authority”页面链接的网页,比方hao123主页能够认为是一个典型的高质量“Hub”网页。

  图6-11给出了一个“Hub”页面实例,这个网页是斯坦福大学核算语言学研讨组保护的页面,这个网页收集了与核算自然语言处理相关的高质量资源,包括一些闻名的开源软件包及语料库等,并经过链接的方法指向这些资源页面。这个页面能够认为是“自然语言处理”这个范畴的“Hub”页面,相应的,被这个页面指向的资源页面,大部分是高质量的“Authority”页面。

  HITS算法的目的便是经过一定的技能手段,在海量网页中找到与用户查询主题相关的高质量“Authority”页面和“Hub”页面,尤其是“Authority”页面,由于这些页面代表了能够满意用户查询的高质量内容,查找引擎以此作为查找成果回来给用户。

  6.4.2 彼此增强联系

  许多算法都是建立在一些假定之上的,HITS算法也不例外。HITS算法隐含并运用了2个根本假定:

  根本假定1:一个好的“Authority”页面会被许多好的“Hub”页面指向;

  根本假定2:一个好的“Hub”页面会指向许多好的“Authority”页面;

  到目前停止,无论是从“Hub”或许“Authority”页面的界说也好,仍是从两个根本假定也好,都能看到一个模糊的描绘,即“高质量”或许“好的”,那么什么是“好的”Hub页面?什么是“好的”Authority页面?两个根本假定给出了所谓“好”的界说。

  根本假定1阐明了什么是“好的”Authority页面,即被许多好的Hub页面指向的页面是好的“Authority”页面,这里两个修饰语十分重要:“许多”和“好的”,所谓“许多”,即被越多的Hub页面指向越好,所谓“好的”,意味着指向本页面的“Hub”页面质量越高,则本页面越好。即归纳了指向本页面的一切Hub节点的数量和质量要素。

  根本假定2则给出了什么是“好的”Hub页面的阐明,即指向许多好的Authority页面的网页是好的Hub页面。相同的,“许多”和“好的”两个修饰语很重要,所谓“许多”,即指向的Authority页面数量越多越好;所谓“好的”,即指向的Authority页面质量越高,则本页面越是好的Hub页面。也即归纳考虑了该页面有链接指向的一切页面的数量和质量要素。

  从以上两个根本假定能够推导出Hub页面和Authority页面之间的彼此增强联系,即某个网页的Hub质量越高,则其链接指向的页面的Authority质量越好;反过来也是如此,一个网页的Authority质量越高,则那些有链接指向本网页的页面Hub质量越高。经过这种彼此增强联系不断迭代核算,即可找出哪些页面是高质量的Hub页面,哪些页面是高质量的Authority页面。

  6.4.3 HITS算法

  HITS算法与Pagerank算法一个明显的差异是:HITS算法与用户输入的查询恳求密切相关,而Pagerank是与查询无关的大局算法。HITS后续核算步骤都是在接收到用户查询后打开的,便是与查询相关的链接剖析算法。

  HITS算法接收到了用户查询之后,将查询提交给某个现有的查找引擎(或许是自己构造的检索系统),并在回来的查找成果中,提取排名靠前的网页,得到一组与用户查询高度相关的初始网页调集,这个调集被称作为根集(Root Set)。

  在根集的根底上,HITS算法对网页调集进行扩大(参阅图6-13),扩大原则是:凡是与根集内网页有直接链接指向联系的网页都被扩大进来,无论是有链接指向根集内页面也好,或许是根集页面有链接指向的页面也好,都被扩大进入扩展网页调集。HITS算法在这个扩大网页调集内寻找好的“Hub”页面与好的“Authority”页面。

  关于“扩大网页调集”来说,我们并不知道哪些页面是好的“Hub”或许好的“Authority”页面,每个网页都有潜在的或许,所以关于每个页面都建立两个权值,分别来记载这个页面是好的Hub或许Authority页面的或许性。在初始情况下,在没有更多可运用信息前,每个页面的这两个权值都是相同的,能够都设置为1。

  之后,即可运用上面提到的两个根本假定,以及彼此增强联系等原则进行多轮迭代核算,每轮迭代核算更新每个页面的两个权值,直到权值安稳不再产生明显的改动停止。

  图6-14给出了迭代核算过程中,某个页面的Hub权值和Authority权值的更新方法。假定以A(i)代表网页i的Authority权值,以H(i)代表网页i的Hub权值。在图6-14的例子中,“扩大网页调集”有3个网页有链接指向页面1,同时页面1有3个链接指向其它页面。那么,网页1在此轮迭代中的Authority权值即为一切指向网页1页面的Hub权值之和;相似的,网页1的Hub分值即为所指向的页面的Authority权值之和。

  “扩大网页调集”内其它页面也以相似的方法对两个权值进行更新,当每个页面的权值都获得了更新,则完成了一轮迭代核算,此刻HITS算法会评估上一轮迭代核算中的权值和本轮迭代之后权值的差异,假如发现总体来说权值没有明显改动,阐明系统已进入安稳状况,则能够结束核算。将页面根据Authority权值得分由高到低排序,取权值最高的若干页面作为呼运用户查询的查找成果输出。假如比较发现两轮核算总体权值差异较大,则继续进入下一轮迭代核算,直到整个系统权值安稳停止。

  6.4.4 HITS算法存在的问题

  HITS算法整体而言是个作用很好的算法,目前不只运用在查找引擎范畴,而且被“自然语言处理”以及“交际剖析”等许多其它核算机范畴学习运用,并取得了很好的运用作用。尽管如此,最初版别的HITS算法依然存在一些问题,而后续许多基于HITS算法的链接剖析方法,也是立足于改进HITS算法存在的这些问题而提出的。

  归纳起来,HITS算法主要在以下几个方面存在不足:

  1.核算功率较低

  由于HITS算法是与查询相关的算法,所以有必要在接收到用户查询后实时进行核算,而HITS算法本身需求进行许多轮迭代核算才能获得最终成果,这导致其核算功率较低,这是实践运用时有必要慎重考虑的问题。

  2.主题漂移问题

  假如在扩展网页调集里包括部分与查询主题无关的页面,而且这些页面之间有较多的彼此链接指向,那么运用HITS算法很或许会给予这些无关网页很高的排名,导致查找成果产生主题漂移,这种现象被称为“严密链接社区现象”(Tightly-Knit CommunityEffect)。

  3.易被作弊者操纵成果

  HITS从机制上很简单被作弊者操纵,比方作弊者能够建立一个网页,页面内容增加许多指向高质量网页或许闻名网站的网址,这就是一个很好的Hub页面,之后作弊者再将这个网页链接指向作弊网页,于是能够提升作弊网页的Authority得分。

  4.结构不安稳

  所谓结构不安稳,就是说在原有的“扩大网页调集”内,假如增加删除单个网页或许改动少量链接联系,则HITS算法的排名成果就会有十分大的改动。

  6.4.5 HITS算法与PageRank算法比较

  HITS算法和PageRank算法能够说是查找引擎链接剖析的两个最根底且最重要的算法。从以上对两个算法的介绍能够看出,两者无论是在根本概念模型仍是核算思路以及技能完成细节都有很大的不同,下面临两者之间的差异进行逐一阐明。

  1.HITS算法是与用户输入的查询恳求密切相关的,而PageRank与查询恳求无关。所以,HITS算法能够单独作为相似性核算评价规范,而PageRank有必要结合内容相似性核算才能够用来对网页相关性进行评价;

  2.HITS算法由于与用户查询密切相关,所以有必要在接收到用户查询后实时进行核算,核算功率较低;而PageRank则能够在爬虫抓取完成后离线核算,在线直接运用核算成果,核算功率较高;

  3.HITS算法的核算目标数量较少,只需核算扩展调集内网页之间的链接联系;而PageRank是大局性算法,对一切互联网页面节点进行处理;

  4.从两者的核算功率和处理目标调集大小来比较,PageRank更适合布置在服务器端,而HITS算法更适合布置在客户端;

  5.HITS算法存在主题泛化问题,所以更适合处理具体化的用户查询;而PageRank在处理广泛的用户查询时更有优势;

  6.HITS算法在核算时,关于每个页面需求核算两个分值,而PageRank只需核算一个分值即可;在查找引擎范畴,更注重HITS算法核算出的Authority权值,但是在许多运用HITS算法的其它范畴,Hub分值也有很重要的作用;

  7.从链接反作弊的视点来说,PageRank从机制上优于HITS算法,而HITS算法更易遭受链接作弊的影响。

  8.HITS算法结构不安稳,当对“扩大网页调集”内链接联系作出很小改动,则对最终排名有很大影响;而PageRank相对HITS而言体现安稳,其根本原因在于PageRank核算时的“远程跳转”。