两个概念模型及算法之间的关系
- 随机游走模型
随机游走模型是针对浏览器网页的用户行为建立的抽象概念模型,之所以要建立这个抽象概念模型,是因为包括PageRank算法在内的很多链接分析算法都是建立在随机游走模型基础上的。
随机游走模型假设网页在包含的url之间的跳转机会均等。假设有3个网页ABC,A网页包含B的URL,B包含C的URL,C包含A和B的URL,那么其矩阵为:
- 子集传播模型
其基本思想是,在做算法设计时,把互联网页面按照一定的规则划分,分为多个子集合。其中某个子集合具有特殊的性质,很多算法从这个特殊性质的子集出发,给与子集内网页初始权值,之后根据这个特殊子集合内网页和其他网页的链接关系,按照一定的方式将权值传递到其他网页。
PageRank算法
PageRank考虑到某个网页的入链接越多,这个网页越重要(同时这也有可作弊的空间了,比如疯狂刷链接)。还参考了网页质量因素,质量越高网页的链入,权重越大。
- 链接陷阱
链接有时候会形成循环,就是A指向B,B也指向A。这样在计算PageRank的时候,该结构导致系统只会吸收传入的分值,而不能将获得的分值传出去,随着连续的循环计算,这使得PageRank得分越来越高。
- 远程跳转
所谓远程跳转,即在网页向外传递分值的时候,不限于向出链所指向的网页传递,也可以有一定的概率向其他网页跳转,这对于陷阱链接,是一个解决方法。
- 缺点
- 与查询无关:PageRank必须结合内容相似性计算才能用来对网页相关性进行评价。
HITS算法
- Hub页面和Authority页面
所谓Authority页面:是指与某个领域或者某个话题相关的高质量的页面。(垂直页面)
所谓Hub页面:是指包含了很多高质量的Authority链接的页面,比如hao123。
- 相互增强关系
HITS算法是建立在下面两个假设的基础上的:
- 好的Authority页面会被很多好的Hub页面指向。
- 好的Hub页面会指向很多好的Authority页面。
- HITS算法
HITS算法和PageRank算法之间的一个显著差异是:HITS算法与用户输入的查询请求密切相关。HITS后续计算步骤都是在接收到用户查询后展开的。
HITS算法接受到了用户的查询之后,将查询提交给某个现有的搜索引擎,并在返回的搜索结果中,提取靠前的网页,得到一组与用户查询高度相关的初始网页集合,这个集合被称为根集。
在根集的基础上,HITS算法对网页集合进行扩充,扩充的原则是:凡是与根集网页有指向关系的网页都被扩充进来(指向或者被指向皆可),HITS算法在这个扩展的网页集合里寻找好的Hub和Authority网页。
那么什么是“好的”?我们对每个页面都设立两个权值,一个权值记录这个页面是Hub的可能性,另一个记录Authority页面的可能性。在初始情况下,可以都置为1。之后,可以利用上面两个假设,进行迭代计算,
- HITS的问题
- 计算效率低
- 主题飘移问题:如果扩展网页里含有与查询主题无关的页面,而且页面之间还有很多指向,就会飘移。
- 容易作弊:比如增加很多指向高质量网站的链接。
- 结构不稳定:在扩展网页集合里,如果添加或删除个别网页,会使得结果发生很大变化。
SALSA算法
初衷是为了解决PageRank和HITS的弊端,同时继承他们的有点,SALSA提出了。
SALSA算法分为两个阶段:
- 确定计算对象的集合
- 链接关系传播过程
- 确定计算对象的集合
PageRank的计算对象是互联网所有的网页,SALSA算法与此不同。本阶段与HITS算法思路大致相同:
- 扩展网页集合
SALSA算法在接收到用户查询后,获得根集,然后获得扩展网页集合。 - 转换为无向二分图
获得扩展网页集合之后SALSA根据网页集合内的链接关系,将其转换为一个二分图。即将网页集合分为两个子集合,一个是Hub子集合,一个是Authority子集合,划分规则如下:
1.如果包含出链接,切出链接指向扩展网页集合内的其他节点,则归入Hub。
2.如果包含扩展网页集合内的入链接,则归入Authority。
3.如果同时包含,则可以同时归入两个集合。
- 链接关系传播
放弃了Hub和Authority之间相互增强的假设,而采用PageRank的随机游走模型。
链接关系传播概念模型
实际则是往往从Authority的子集合出发,以相等概率随机选择一个链接,权值是被所有链接平均分配。(而PageRank的权值只传给其中一个。)
主题敏感PageRank
这个算法与PageRank的差异在于,用户会对某些领域感兴趣,用户看完一个领域的内容后的跳转,总是更倾向于跳转到相同领域的页面。
所以会有一个相似度计算之类的算法,了解就好。