链接分析算法PageRank和HITS

来源:互联网 发布:小明看看台湾永久域名 编辑:程序博客网 时间:2024/04/27 08:01

链接分析算法PageRank和HITS


PageRank

PageRank是Google创始人提出的链接分析算法计算模型,可以说成就了Google公司。

PageRank考察网页时,不仅考虑到入链数量(指向本网页的其它网页数量),还参考了网页质量,两者结合得到更有效的网页重要性评价标准。

首先,数量上。本页面入链越多,越重要;
其次,质量上。指向本页面的页面质量越高,本页面越重要。

  • PageRank算法
    PageRank算法刚开始赋予每个网页相同的重要性得分,通过迭代递归计算来更新每个页面节点的PageRank得分,直到得分稳定为止。具体方法是每个页面将其当前的PageRank值平均分配到它所包含的出链(指向其他网页的链接)上,这样每个链接就获得了相应的权值;每个页面将所有指向本页面的入链所传入的权值求和,即可得到新的PageRank得分。

    需要注意的是,PageRank算法是主题无关的,即与用户输入的查询无关,因此要与内容相关性算法组合使用。

  • 存在的问题
    链接陷阱(Link Sink):链接间形成环形结构,使得其中的页面PageRank得分越来越高。
    解决方法:远程跳转(Teleporting),在网页向外传递分值的时候,不限于向出链所指网页传递,也可以以一定的概率向任意其他网页跳转。

HITS

HITS算法也是链接分析中非常基础且重要的算法,目前已被Teoma搜索引擎作为链接分析算法在实际中使用。

  • Hub页面与Authority页面

    “Authority”页面,是指与某个领域或者某个话题相关的高质量网页,比如搜索引擎领域,Google和百度首页即该领域的高质量网页;
    “Hub”页面,指的是包含了很多指向高质量“Authority”页面链接的网页,比如hao123首页可以认为是一个典型的高质量“Hub”网页。

HITS算法要通过一定的技术手段,在海量网页中找到与用户查询主题相关的高质量“Authority”页面和“Hub”页面,尤其是“Authority”页面,因为这些页面代表了能够满足用户查询的高质量内容,搜索引擎以此作为搜索结果返回给用户。

  • 相互增强关系

HITS算法隐含并利用了2个基本假设:

基本假设1:一个好的“Authority”页面会被很多好的“Hub”页面指向;
基本假设2:一个好的“Hub”页面会指向很多好的“Authority”页面;

从以上两个基本假设可以推导出Hub页面和Authority页面之间的相互增强关系, 即某个网页的Hub质量越高,则其链接指向的页面的Authority质量越好;反过来也是如此,一个网页的Authority质量越高,则那些有链接指向本网页的页面Hub质量越高。通过这种相互增强关系不断迭代计算,即可找出哪些页面是高质量的Hub页面,哪些页面是高质量的Authority页面。

  • HITS算法

    HITS算法与Pagerank算法一个显著的差异是:HITS算法与用户输入的查询请求密切相关,而Pagerank是与查询无关的全局算法。HITS后续计算步骤都是在接收到用户查询后展开的,即是与查询相关的链接分析算法。

    具体过程:

    1. HITS算法接收到了用户查询之后,将查询提交给某个现有的搜索引擎(或者是自己构造的检索系统),并在返回的搜索结果中,提取排名靠前的网页,得到一组与用户查询高度相关的初始网页集合,这个集合被称作为根集(Root Set)。
    2. 在根集的基础上,HITS算法对网页集合进行扩充,扩充原则是:凡是与根集内网页有直接链接指向关系的网页都被扩充进来,无论是有链接指向根集内页面也好,或者是根集页面有链接指向的页面也好,都被扩充进入扩展网页集合。HITS算法在这个扩充网页集合内寻找好的“Hub”页面与好的“Authority”页面。对于每个页面都设立两个权值,分别来记载这个页面是好的Hub或者Authority页面的可能性。在初始情况下,在没有更多可利用信息前,每个页面的这两个权值都是相同的,可以都设置为1。
    3. 之后,即可利用上面提到的两个基本假设,以及相互增强关系等原则进行多轮迭代计算,每轮迭代计算更新每个页面的两个权值,直到权值稳定不再发生明显的变化为止。
  • 存在的问题

    1.计算效率较低

    因为HITS算法是与查询相关的算法,所以必须在接收到用户查询后实时进行计算,而HITS算法本身需要进行很多轮迭代计算才能获得最终结果,这导致其计算效率较低,这是实际应用时必须慎重考虑的问题。

    2.主题漂移问题

    如果在扩展网页集合里包含部分与查询主题无关的页面,而且这些页面之间有较多的相互链接指向,那么使用HITS算法很可能会给予这些无关网页很高的排名,导致搜索结果发生主题漂移,这种现象被称为“紧密链接社区现象”(Tightly-Knit CommunityEffect)。

    3.易被作弊者操纵结果

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

    4.结构不稳定

    所谓结构不稳定,就是说在原有的“扩充网页集合”内,如果添加删除个别网页或者改变少数链接关系,则HITS算法的排名结果就会有非常大的改变。

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计算时的“远程跳转”。

原创粉丝点击