PageRank算法和HITS算法
链接分析算法
PageRank算法
PageRank算法是一种静态的网页评级方法,每一个网页都有一个PageRank值,作为网页排序的依据。
PageRank值的影响因素
- 数量因素:如果一个页面节点接收到的入链数量越多,这个页面越重要
- 质量因素:指向页面A的入链质量不同,越是质量高的页面指向页面A,则页面A越重要
我们将网页之间的链接关系看作一个有向图G(V,E),其中V是所有节点的集合,E是所有有向边的集合。假设|V|=n,PageRank值的定义如下:
其中,P(i)表示网页i的PageRank值,(i,j)表示存在网页j指向网页i的超链接。
我们用一个列向量P来表示n个网页的PageRank值,给定初值P0就可以通过若干次迭代得到Pn。满足公式方程组的解P*就是最终的全局PageRank值列向量。
但是,要存在这样的解,需要转移矩阵A满足三个条件:
- 随机矩阵
- 不可约矩阵
- 非周期性矩阵
随机矩阵理解为避免出现悬空节点(指没有出度的节点),否则不断迭代,网页整体的PageRank值会降低为0。
解决方式:将矩阵全为0的一行元素用1/n代替,即我们是有一定概率访问其他网页的。
不可约矩阵就是矩阵A对应的有向图是强连接图,每个节点都存在链接,即我们无论在访问哪个网页,都有概率访问别的网页。
解决方式:以α的概率选择一个链出链接继续浏览,1-α概率不点击链接,随机选择一个网页进行浏览。
最终的迭代公式为:
我们可以用幂迭代法求解,赋予任意的PageRank初始值,当PageRank值不再显著变化,趋于收敛时,迭代算法结束。
- 𝑃_0←𝑒/𝑛
- k=1
- 𝑃_𝐾=[𝛼(𝐴+𝑋 )^𝑇 + (1−𝛼)((𝑒𝑒^𝑇)/n)] 𝑃_(k−1)
- k=k+1
- Until ‖P_k - P_k-1‖<𝜖
- Return 𝑃_𝑘
PageRank算法的优点:
- 从全局出发的度量以及非查询相关的特性,因此用户在查询时,不需要通过实时计算,搜索效率高。
- 具有一定的反作弊能力,一个网页的拥有者很难将重要网页的链接指向自己的网页。
PageRank算法的缺点:
- 该算法没有考虑时间问题。一个网页存在时间越久,指向它的链接越多,它的PageRank值就越高,使得一些新的高质量网页在搜索中不能获得高排名。
- 由于非查询相关特性,查询结果可能发生偏离,有人为了改进,提出Topic-Sensitive PageRank)。
HITS算法(Hyperlink-Induced Topic Search)
Hub页面和Authority页面是HITS算法最基本的两个定义。所谓 Authority 页面,是指与某个
领域或者某个话题相关的高质量网页。搜索引擎领域,google和百度,视频领域优酷和土豆,Hub页面,指包含了很多指向高质量Authority页面链接的网页,hao123。HTIS算法最后返回能代表用户查询内容的高质量Authority页面。
两个集合之间的关系,相互增强。
枢纽值(Hub Scores),权威值(Authority Scores),这两种值是互相依存、互相影响的。
- 所谓枢纽值,指的是页面上所有导出链接指向页面的权威值之和。
- 权威值是指所有导入链接所在的页面中枢纽之和。
- Authority网页是和查询内容相关的高质量网页,Hub网页是指向高质量Authority网页链接的网页。
在限定范围之后根据网页的出度和入度建立一个矩阵,通过矩阵的迭代运算和定义收敛的阈值不断对两个向量Authority和Hub值进行更新直至收敛。
具体算法如下:将查询内容提交给基于关键字查询的检索系统,从返回结果页面的集合中取前n个网页,作为根集合,记为S,则S满足:
- S中的网页数量较少
- S中的网页是与查询内容相关的网页
- S中的网页包含较多的权威(Authority)网页
HITS 算法接收到了用户查询之后,将查询提交给某个现有的搜索引擎(或者是自己构造的检
索系统),并在返回的搜索结果中,提取排名靠前的网页,得到一组与用户查询高度相关的
初始网页集合,这个集合被称做根集( Root Set)。
在根集的基础上, HITS 算法对网页集合进行扩充(参考图 2-13),扩充原则是:凡是与根集
内网页有直接链接指向关系的网页都被扩充进来,无论是有链接指向根集内页面也好,或者
是根集页面有链接指向的页面也好,都被扩充进入扩展网页集合。 HITS 算法在这个扩展网页
集合内寻找好的 Hub 页面与好的 Authority 页面。
- 通过向S加入被S引用和S引用的网页,扩展成一个更大的集合T.以T中的Hub网页为顶点集V1,Authority网页为顶点集V2。
- V1中的网页到V2中的网页超链接为边集E,形成一个二分有向图。对V1中的任一个顶点v,用h(v)表示网页v的Hub值,且h(v)收敛。对V2中的任意顶点u,用a(u)表示网页u的Authorit值。
- 不断迭代两个值,直至收敛。
- 如果发现总体来说权值没有明显变化,说明系统已进入稳定状态,则可以结束计算。
HITS的不足
- 计算效率较低
- 主题漂移,如果在扩展网页集合里包含部分与查询主题无关的页面,而且这些页面之间有较多的相互链接指向,那么使用HITS算法很可能会给予这些无关网页很高的排名,导致搜索结果发生主题漂移,这种现象被称为紧密链接社区现象
- 易被作弊者操纵结果
- 结构不稳定
- 因为权威页面必须针对某一主题或关键词而言。例如某一页面对一确定主题具有较大权威性,但这并不意味在其他与其无关的主题方面同样具有权威性。
- 非正常目的的引用.在HITS算法看来,也误认为是正常引用,导致实际结果与目标的出入。
- 针对前面第一种不足,就有相关的学者提出了一种利用超链文字及其周围文字与关键字相匹配而计算超链权值的方法,并引入系数对周围文字和超链文字进行权值的相对控制,很好地将页面文本信息引入到HITS算法,提高了算法的可靠性,并在现实中取得了很好的效果。
- 后来,经过不断的改进。HITS算法又引入了时间参数,即利用对一链接引用的时间长短来评价是否为正常引用。因为非正常链接其引用时间肯定不会很长(如交换链接、广告链接),相反,如果一页面对另一页面的链接时间较长,则必然反映此页面就是用户的寻找页面。即目标页面或至少是正常引用。
HITS算法与PageRank算法的比较分析
PageRank和HITS算法可以说是链接分析的两个基础且重要的算法。
- HITS算法与用户查询请求相关 HITS算法可以单独作为相似性计算评价标准;PR算法无需结合查询内容,必须结合内容相似性计算才能对网页相关性进行评价
- HITS算法实时计算,效率低。PR离线计算效率高
- HITS算法计算对象少,只计算集合内的,PR全局对所有网页节点处理
- 反作弊家督上 PR优于HITS
- HITS结构不稳定,PR相对稳定
- HITS算法基于某个检索主题的权重
- PageRank算法独立于检索主题
- HITS算法处理页面少,PageRank多,但是PageRank是离线计算,等待时间要少于HITS。
浙公网安备 33010602011771号