搜索引擎链接算法之: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”页面。
图6-11 自然语言处理领域的Hub页面
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页面之间的相互增强关系(参考图6-12), 即某个网页的Hub质量越高,则其链接指向的页面的Authority质量越好;反过来也是如此,一个网页的Authority质量越高,则那些有链接指向本网页的页面Hub质量越高。通过这种相互增强关系不断迭代计算,即可找出哪些页面是高质量的Hub页面,哪些页面是高质量的Authority页面。
之后,即可利用上面提到的两个基本假设,以及相互增强关系等原则进行多轮迭代计算,每轮迭代计算更新每个页面的两个权值,直到权值稳定不再发生明显的变化为止。
因为HITS算法是与查询相关的算法,所以必须在接收到用户查询后实时进行计算,而HITS算法本身需要进行很多轮迭代计算才能获得最终结果,这导致其计算效率较低,这是实际应用时必须慎重考虑的问题。
所谓结构不稳定,就是说在原有的“扩充网页集合”内,如果添加删除个别网页或者改变少数链接关系,则HITS算法的排名结果就会有非常大的改变。
2.HITS算法因为与用户查询密切相关,所以必须在接收到用户查询后实时进行计算,计算效率较低;而PageRank则可以在爬虫抓取完成后离线计算,在线直接使用计算结果,计算效率较高;
3.HITS算法的计算对象数量较少,只需计算扩展集合内网页之间的链接关系;而PageRank是全局性算法,对所有互联网页面节点进行处理;
4.从两者的计算效率和处理对象集合大小来比较,PageRank更适合部署在服务器端,而HITS算法更适合部署在客户端;
5.HITS算法存在主题泛化问题,所以更适合处理具体化的用户查询;而PageRank在处理宽泛的用户查询时更有优势;
7.从链接反作弊的角度来说,PageRank从机制上优于HITS算法,而HITS算法更易遭受链接作弊的影响。
8.HITS算法结构不稳定,当对“扩充网页集合”内链接关系作出很小改变,则对最终排名有很大影响;而PageRank相对HITS而言表现稳定,其根本原因在于PageRank计算时的“远程跳转”。
搜索引擎链接算法之:HITS算法解析相关推荐
- HITS算法--从原理到实现
转载请注明出处:http://blog.csdn.net/rubinorth/article/details/52231620 本文介绍HITS算法的相关内容. 算法来源 算法原理 算法证明 算法实现 ...
- 链接挖掘算法之PageRank算法和HITS算法
参考资料:http://blog.csdn.net/hguisu/article/details/7996185 更多数据挖掘算法:https://github.com/linyiqun/DataMi ...
- 搜索引擎(三)-- PageRank和HITS算法
文章目录 一.简介 二.PageRank 2.1计算公式 2.1.1 原始PR算法 2.1.2 Rank Sink问题与改良版PR PageRank矩阵表示 三.HITS 3.1 HITS计算 四.其 ...
- PageRank算法和HITS算法
楼楼刚才想了一个特别骚情的标题,叫PageRank算法和HITS算法的"前世今生",特别像之前写头条号的套路,然后就想起来去年6月份自己有在经营一个技术型的头条号,后来因为做不到一 ...
- 无监督域对抗算法:ICCV2019论文解析
无监督域对抗算法:ICCV2019论文解析 Drop to Adapt: Learning Discriminative Features for Unsupervised Domain Adapta ...
- 【搜索引擎】全文索引数据结构和算法
最近一直在研究sphinx的工作机制,在[搜索引擎]Sphinx的介绍和原理探索简单地介绍了其工作原理之后,还有很多问题没有弄懂,比如底层的数据结构和算法,于是更进一步地从数据结构层面了解其工作原理. ...
- PnP算法简介与代码解析-柴政
PnP算法简介与代码解析-柴政 PnP求解算法是指通过多对3D与2D匹配点,在已知或者未知相机内参的情况下,利用最小化重投影误差来求解相机外参的算法.PnP求解算法是SLAM前端位姿跟踪部分中常用的算 ...
- ViBe算法原理和代码解析
ViBe - a powerful technique for background detection and subtraction in video sequences 算法官网:http:// ...
- 机器学习算法源码全解析(三)-范数规则化之核范数与规则项参数选择
前言 参见上一篇博文,我们聊到了L0,L1和L2范数,这篇我们絮叨絮叨下核范数和规则项参数选择.知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正.谢谢. 机器学习算法源码全解析( ...
最新文章
- C#中Request.servervariables参数
- sql 忽略大小写_Flink使用Calcite解析Sql做维表关联(一)
- 华科研究生复试机试题代码堆积供以后参考
- python安装pyqt5 qml_PyQt5:PyQt5程序打包2
- CString 用法
- PHP 在线 编辑 解析
- C语言和C+的区别是什么?8个点通俗易懂的告诉你
- 代码中大量的if/else,你有什么优化方案?
- CSS3:nth-child()伪类选择器,Table表格奇偶数行定义样式
- PHP无限极分类巧用引用生成树
- oracle中如何测试,Oracle数据库中如何正确的查看sql
- WINDOWS 一键host地址绑定
- KVC 与 KVO 理解
- 分布式任务调度组件 Uncode-Schedule
- 泉城济南——三妮儿暴走一日游
- java idea导入ecli项目
- H5扫描二维码获取内容
- C# winform表格datagridview行高自动设置问题
- 算法与数据结构 --- 哈夫曼树及其应用
- 为何说美团打车更像是一场破坏行业生态的闹剧?