信息检索(IR)—链接分析
1 超链接介绍
1.1 网页中的超链接
链接反应的是网页之间形成的“参考”、“引用”和推荐的关系。可以合理的假设,若一篇网页被较多的其他网页连接,则它相对被人关注,其内容应该是较为重要的或者较为有用的。因此,可以认为一个网页的“入度”(指向它的网页的个数)是衡量它重要程度的一种有意义的指标,同时,网页的“出度”对分析网上信息的状况也很有意义,因此可以使用这两个指标来衡量网页。
1.2 经典的链接分析
- 基于随机漫游的模型。如PageRank等等
- 基于Hub和Authority相互加强模型。如HITS及其变种
2 PageRank算法
2.1 基本思想
在PageRank中,只考虑网页之间的链接的数量,不考虑链接之间的重要性。对于网页p而言,其初始化的排序公式为:
R
(
p
)
=
c
∑
q
:
q
−
>
p
R
(
q
)
N
q
R(p)=c∑_{q:q->p}\frac{R(q)}{N_q}
R(p)=cq:q−>p∑NqR(q)
- R()表示网页的当前排序值。
- N q N_q Nq是网页q的链出总数。
- 网页q,将它权威性的值平均分给它指向的网页。
- c是常数。
我们举一个简单的例子来计算一下:这里我们取C=1。
对于网页B而言,其链入的网页为A,那么B的排序值为:
R
(
B
)
=
R
(
A
)
2
R(B)=\frac{R(A)}{2}
R(B)=2R(A)
同理可以计算出来:
R
(
C
)
=
R
(
B
)
+
0.5
R
(
A
)
R(C)=R(B)+0.5R(A)
R(C)=R(B)+0.5R(A)
R
(
A
)
+
R
(
B
)
+
R
(
C
)
=
1
R(A)+R(B)+R(C)=1
R(A)+R(B)+R(C)=1
解的:
R
(
A
)
=
R
(
C
)
=
0.4
,
R
(
B
)
=
0.2
R(A)=R(C)=0.4,R(B)=0.2
R(A)=R(C)=0.4,R(B)=0.2
进一步,我们举一个更为复杂的例子:
2.2 PageRank的迭代收敛
假设S为网页的集合:
- 初始化任意p∈S:R( p)= 1 ∣ S ∣ \frac{1}{|S|} ∣S∣1
- 对于每一个p∈S:
- R ′ ( p ) = ∑ q : q − > p R ( q ) N q , c = 1 ∑ p ∈ S R ′ ( p ) R'(p)=∑_{q:q->p}\frac{R(q)}{N_q},c=\frac{1}{∑_{p∈S}R'(p)} R′(p)=q:q−>p∑NqR(q),c=∑p∈SR′(p)1
- 所有的网页值进行归一化有: p ∈ S : R ( p ) = c R ′ ( p ) p∈S:R(p)=cR'(p) p∈S:R(p)=cR′(p)
- 迭代收敛之后,算法结束。
举个例子来说明一下:
2.3 排序沉没问题
在PageRank中,当网页之间的引用出现“环状”的时候,会出现排序值无法收敛的情况。如下图所示:
为了解决这个问题,我们使用随机冲浪模型来解决排序沉没的问题:
在随机冲浪模型中,在PageRank算法中,增加了用户浏览网页跳转出来的可能性(跳出环结构)。其具体的计算公式如下:
R
(
u
)
=
c
∑
v
∈
B
u
R
(
V
)
N
v
+
c
E
(
u
)
R(u)=c∑_{v∈B_u}\frac{R(V)}{N_v}+cE(u)
R(u)=cv∈Bu∑NvR(V)+cE(u)
其中E(u)是网页u的初始排序值,初始的排序值可以是均匀分布,也可以是个性化的关于网页的喜好程度的分布。
2.4 PageRank算法的局限性
PageRank算法中仅仅基于网页的链接数量,被越多网页指向的网页越权威。PageRank算法中对于向外的链接的权重贡献是平均的,忽略了链接之间的重要程度。
2.5 PageRank改进——HillTop
类似于PageRank的思想,HillTop算法也是通过网页被链接的数量和质量来确定搜索结果的排序权重。HillTop认为单纯计算具有相同主题的相关文档链接对于搜索者的价值会更大。举个例子来说,如果网站是介绍“服装”的,有10个链接都是从“服装”的相关网站链接过来的,那么这十个链接比另外10个从“电器”相关网站链接过来的贡献要大。
3 HITS算法
3.1 基本思想
对于每一个网页而言,其拥有两个属性,Hub和Authority,Hub表明了贡献度,Authority表明了链接数量的权威程度,按照此进行排序。
网页的权威性:Authority
权威性是公认的提供重要程度,可信度以及有用信息的页面记录。链入数(指向一个网页的链接数)是权威性的一个简单度量。
网页的重要性:Hub
Hub网页是提供指向权威网页链接集合的WEB网页。Hub网页本身可能并不重要,可能没有几个网页指向它,但是Hub网页的确提供了指向就某个主题而言最为重要的站点的链接集合,举一个例子来说,比如一个课程主页上的推荐参考文献的列表。
将Hub网页和Authority网页进行合并,可以组成一个双向图:
3.2 构造子图
- 对一个特定的Q,从标准的搜索引擎返回文档的集合作为根集R。
- 对于R初始化S
- 将指向R中的任意网页所指的网页加入到S中。
- 将所有被R中网页所指的网页加入到S中。
3.4 HITS算法描述
- 将查询q提交给传统的基于关键字匹配的搜索引擎
- 搜索引擎返回很多的网页,从中提取出前n个网页作为根集。
- 通过向R中加入被R引用的网页和引用R的网页,将R扩展成一个更大的集合S。
- 采用迭代的算法计算A/H的值,最终按照A进行排序。
其中,迭代算法的描述如下:
假设 a ( i ) 和 h ( i ) a(i)和h(i) a(i)和h(i)表示网页节点的权威度和中心度,将所有的节点的权威度和中心度都初始化为1。更新规则如下:
权威网页被中心网页所指:
a
i
=
∑
q
:
q
−
>
i
h
q
a_i=∑_{q:q->i}h_q
ai=q:q−>i∑hq
中心性网页指向许多好的权威网页:
h
i
=
∑
i
:
i
−
>
q
a
q
h_i=∑_{i:i->q}a_q
hi=i:i−>q∑aq
举个例子来说:
综上所述:
1、 给定网页P,令R(根集)中t个网页指向P。
2、从R中获得基本集S。
3、在S上运行HITS算法。
4、返回S中最好的权威网页作为P的最相似的网页。
3.5 HITS算法的局限性
- 计算效率比较低,需要根据查询实时计算。
- 主题漂移问题,基本集中如果存在和查询主题无关但是相互连接比较多的页面的时候,会导致最终的排序结果和查询主题发生偏移。
- 容易被作弊者操纵结果,作弊者可以构建好的Hub页面,并令其指向作弊网页,提升作弊网页的Authority。
- 结构不稳定,针对已有的查询,如果向基本集中添加或删除个别网页或改变少数链接,则HITS算法产生的排序结果会有很大差异。
4 总结:PageRank VS HITS
- HITS算法的计算对象数量比较少,只需要计算扩展集合内网页之间的链接关系,而PageRank是全局算法,对所有的互联网页面节点进行处理。
- 从两者的计算效率和处理对象集合大小来比较,PageRank更合适部署在服务器端,而HITS算法更适合部署在客户端。
- HITS存在主题泛化问题,所有更适合处理具体化的用户查询,而PageRank在处理宽泛的用户查询的时候更具有优势。
- HITS算法在计算时,对于每个页面需要计算两个分值,而PageRank只需计算一个分值即可;在搜索引擎领域,更重视HITS算法计算出的Authority权值,但是在很多应用HITS算法的其它领域,Hub分值也有很重要的作用。
- 从链接反作弊的角度来说,PageRank从机制上优于HITS算法,而HITS算法更易遭受链接作弊的影响。
- HITS算法结构不稳定,当对“扩充网页集合”内链接关系作出很小改变,则对最终排名有很大影响;而PageRank相对HITS而言表现稳定。
5 参考
- 哈工大——信息检索