HITS
HITS
1 概述
HITS(hypertext induced topic search)超链接归纳主题搜索是由kleinbers在90年代提出的基于链接分析的网页排名算法。Hits算法是利用HubAuthority的搜索方法,即中心权威的思想。
Hits算法的基本思想:
- 好的中心网页拥有很多的链出链接,这些链接都指向权威网页。
- 好的权威网页拥有很多的链入链接,这些链接都来自中心网页。
即:一个优秀的中心页必然会指向很多优秀的权威页,一个优秀的权威页必然会被很多优秀的中心页指向。
2 网页收集
在算法描述前,先描述HITS算法是如何收集待评级的网页的。HITS将根据如下描述来搜索页面集合:
- 它将搜搜字段q送至搜索引擎系统,然后收集t个排名最高的网页,这些网页都是与查询字段q高度相关的。该集合称为根集W。
- 然后它通过将指向W集合内部的网页或者W集内部网页指向的外部网页加入W集的方式来扩充W。这就得到了一个更大的集合,我们称为集合S,S被称为基本集。然而,这个集合可能相当的大,算需要通过相纸每个W集内部的网页,仅允许它们最多将K个指向自己的网页加入S来限制S集的大小。
接着HITS对S集内部的每张网页进行处理,对每张S集内部的网页指定一个权威分值和中心分值。
3 HITS算法
HITS算法的求解过程如下:
- 收集根集页面
- 将所有根集页面的A(Authority Score)和H(hub Score)赋予初值
- 根据公式计算新一轮的H和A的值
- 规范化结果
- 重复(3)(4),直到结果收敛。
具体操作:
假设待考察的网页数目为n。我们用G=(V,E)来表示S的有向链接图。V是网页集,E是有向边集。我们用L来表示图的邻接矩阵。

每张网页i的权威分值被表示为a(i),中心分值被表示为h(i)。两种分值的相互增益关系为:

将它们写成矩阵形式,用a表示所有权威分值的列向量,
,
用h表示所有中心分值的列向量,
,

计算权威分值和中心分值采用幂迭代方法。迭代公式如下:

初始情况如下:

在每次迭代后,数据要进行归一化处理。满足:

当
时,停止迭代。
4 HITS算法和PageRank算法比较
相同:
两种算法那都利用了特征向量作为理论基础和收敛基础。这也是超链接环境下此类算法的共同特征。
不同:
- 权值的传播角度:HITS算法是将权威网页的权值经过中心网页的传递进行传播;PageRank算法是将网页的权值直接从权威网页传递给权威网页。
- 算法思想角度:HITS算法的权威值只是相对于某个检索主题的权重;PageRank算法独立于搜索主题
- 处理的数据量及用户端的等待时间角度:HITS算法对所需排序的网页数量需求少,一般为1000到5000,但由于需要从基于内容分析的搜索引擎中提取根集并扩充基本集,耗时长;PageRank算法处理的数据远远多于HITS。
- 从两者处理的对象角度:HITS处理的对象是搜索引擎针对具体查询主题所返回的记过,从几百个页面到几千个页面;PageRank处理的对象是一个搜索引擎上当前搜索下来的所有网页,一般在几千万以上。
- 从具体应用的角度:THIS一般用于全文本所有引擎的客户端,对于宽主题的所有相当有效,可以用于自动编撰万维网分类目录或者元搜索引擎的网页排序;PageRank一般用于搜索引擎的服务端,直接用于标题查询并获得较好的结果。
参考文献:
[1] [1]常庆,周明全,耿国华. 基于PageRank和HITS的Web搜索[J]. 计算机技术与发展,2008,(07):77-79.
[2] http://blog.csdn.net/androidlushangderen/article/details/43311943
HITS的更多相关文章
- yourphp读取不到hits
源代码 <YP:list name="Article" order="id desc" catid="37" limit=" ...
- EnCase v7 search hits in compound files?
I used to conduct raw search in EnCase v6, and I'd like to see if EnCase v7 raw search could hit key ...
- Hits算法
HITS(HITS(Hyperlink - Induced Topic Search) ) 算法是由康奈尔大学( Cornell University ) 的Jon Kleinberg 博士于1997 ...
- 链接分析算法之:HITS算法
链接分析算法之:HITS算法 HITS(HITS(Hyperlink - Induced Topic Search) ) 算法是由康奈尔大学( Cornell University ) 的Jo ...
- Jmeter Dash Report(HTML Report)删除Hits Per Second graph的方法
通过命令行 Non GUI的方式执行jmeter的jmx脚本可以生成HTML Report(Dash Report). 这个report默认自带了很多种图表报告,比如statistics,Over t ...
- HITS算法--从原理到实现
本文介绍HITS算法的相关内容. 1.算法来源 2.算法原理 3.算法证明 4.算法实现 4.1 基于迭代法的简单实现 4.2 MapReduce实现 5.HITS算法的缺点 6.写在最后 参考资料 ...
- kibana提示"[illegal_argument_exception] mapper [hits] cannot be changed from type [long] to [integer]"
=============================================== 2019/1/30_第1次修改 ccb_warlock == ...
- windchill StatementCache: wt.util.Cache%828007782 [size=50, count=4, hits=36, misses=4, aged=0]
StatementCache: wt.util.Cache%828007782 [size=50, count=4, hits=36, misses=4, aged=0] 方法: EXEC sys.s ...
- LoadRunner hits per second 深入理解
Hits per Second Graph The Hits per Second graph shows the number of HTTP requests made by Vusers to ...
随机推荐
- hadoop之 Hadoop 2.x HA 、Federation
HDFS2.0之HA 主备NameNode: 1.主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换: 2.主NameNode的信息发生变化后,会将信息写到共享数 ...
- php如何获取服务器所在的时区
//获取默认时区echo date_default_timezone_get(); //将时区设置为中国date_default_timezone_set("PRC"); //将时 ...
- bzoj2750最短路计数
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2750 枚举每一个起点,通过该边的子树中有多少节点就知道本次它被经过几次了: 因为同一起点到该 ...
- linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署
CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...
- Ubuntu 16.04 natural scrolling
http://ubuntuhandbook.org/index.php/2016/05/install-ubuntu-tweak-in-ubuntu-16-04/ download ubuntu-tw ...
- Android网络请求
HTTP请求与响应 HTTP请求包结构 例: POST /meme.php/home/user/login HTTP/1.1 Host: 114.215.86.90 Cache-Control: no ...
- MySQL性能调优 – 你必须了解的15个重要变量
1.DEFAULT_STORAGE_ENGINE 如果你已经在用MySQL 5.6或者5.7,并且你的数据表都是InnoDB,那么表示你已经设置好了.如果没有,确保把你的表转换为InnoDB并且设置d ...
- mysql-7事务管理
1.事务的使用场景 mysql事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人愿,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...
- 第3课 QT的诞生和本质
1. GUI用户界面元素 (1)操作系统提供了创建用户界面元素所需要的函数 (2)各种功能不同的函数依次调用,从而创建出界面元素 (3)操作系统提供的原生函数无法直接映射到界面元素 2. 面向对象的G ...
- var和let示例
声明后未赋值,表现相同 (function() { var varTest; let letTest; console.log(varTest); //输出undefined console.log( ...