链接分析算法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计算时的“远程跳转”。

链接分析算法PageRank和HITS相关推荐

  1. 链接分析算法系列-机器学习排序

    这个系列的文章:原文 一:链接分析算法之:HITS算法: HITS(HITS(Hyperlink - Induced Topic Search) ) 算法是由康奈尔大学( Cornell Univer ...

  2. 链接分析算法在网络舆情热点

    基于PageRank算法的热点舆情挖掘 原理:PageRank算法原理 在舆情热点挖掘中引入 PageRank算法思想,构造舆情网络,单个节点的重要性来 自于该网络中其 他成员节点重要性的线性组合,从 ...

  3. 【大数据】五、链接分析(PageRank、Topic-sensetive PageRank)

    文章目录 1. PageRank 1.1 普通 PageRank 算法例题 2. 避免终止节点 2.1 消除终止节点 2.2 采集器陷阱及"抽税"法(自环与参数β) 3. 面向主题 ...

  4. 搜索引擎技术 ——链接分析

    文章目录 Web图 链接模型 随机游走模型 子集传播模型 链接分析算法 PageRank算法 链接陷阱 HITS算法 Hub页面和Authority页面 相互增强关系 HITS算法 SALSA算法 确 ...

  5. 链接挖掘算法之PageRank算法和HITS算法

    参考资料:http://blog.csdn.net/hguisu/article/details/7996185 更多数据挖掘算法:https://github.com/linyiqun/DataMi ...

  6. 搜索引擎链接算法之:HITS算法解析

    本文节选自<这就是搜索引擎:核心技术详解>第六章 HITS算法也是链接分析中非常基础且重要的算法,目前已被Teoma搜索引擎(www.teoma.com)作为链接分析算法在实际中使用. 6 ...

  7. 链接分析–PageRank 算法分析实现及优化

    资源下载地址:https://download.csdn.net/download/sheziqiong/85601120 一.摘要 互联网时代带给人们生活最大的改变是,通过搜索引擎进行高效准确的 W ...

  8. 深圳大学信息检索:链接分析实验

    前言 我们在搜索引擎内输入一个查询,然后搜素引擎便会很快返回大量的网页结果.这些网页结果已经通过某种方式排好了序,每一页从上到下会显示若干条搜索结果,然后所有搜索结果会分为很多页.当然,我们平时使用搜 ...

  9. 链接分析之随机游走模型和子集传播模型

    两个web页面通过hyperlink连接,可以认为这两个页面具有某种关系,在科学文献中这种关系很大程度上可以认为是引用文献与被引用文献在内容.主题上有很多的相似性,并且利用这种引用关系在信息计量学领域 ...

最新文章

  1. [leedcode 118] Pascal's Triangle
  2. linux pwm控制蜂鸣器 滴滴_兴安盟KOBISHI电磁蜂鸣器BZ-21BLAC24V保证
  3. Strongswan — 常用配置说明
  4. C#中JSON序列化和反序列化
  5. C# Serializable(序列化)
  6. SQL——快速定位相关的外键表
  7. Struts2中<s:iterator>基本用法及示例
  8. python棋盘放米问题_Python基于回溯法子集树模板解决马踏棋盘问题示例
  9. PAC自动代理文件格式,教你如何写PAC文件
  10. 主机 700 主控制台重连
  11. Android ImageView ScaleType:图解
  12. 调音台docker教程_超详细Docker实战教程,万字详解!
  13. ubuntu防火墙安装arm架构说明
  14. wordpress 安装插件
  15. 终于把所有的 Python 库都整理出来啦,赶紧收藏!!!
  16. [BZOJ5145] [Ynoi2018] 五彩斑斓的世界 [并查集][分块][摊还分析]
  17. 爆肝1万字《c++入门综合》
  18. shell脚本编程之awk入门
  19. c语言作文的题目_C语言入门题
  20. H3C交换机的简单配置

热门文章

  1. 微型计算机的软 硬件组成,微型计算机的软、硬件组成及主要性能指标
  2. Imply之快速开始
  3. 删除linux后,修复windows的启动项:MBRFix工具
  4. stm32 硬件spi半双工三线的一些研究心得
  5. php mt4,2020最新Thinkphp5.0版微盘|微交易源码|MT4+外汇+贵金属交易 PHP整站源码
  6. DETA10惯性导航产品介绍
  7. manjaro+Windows10双系统安装
  8. 卷积神经网络在图像识别上的应用介绍(一)
  9. 项目策划书编写,企业策划书制作介绍
  10. 如何实现微信公众号预约服务器,微信公众号的微信预约是怎么实现的