参考文档:
[1] http://boston.lti.cs.cmu.edu/classes/11-642/
[2] http://www.shuang0420.com/categories/NLP/Search-Engines/
为啥要它?
retrieval model大多只考虑page content的好坏,比如title url什么的,然而来自不同source的相似的content的价值也会不一样。所以我们需要Authority metrics来描述
which information
sources are more trustworthy。
介绍4种authority metrics:
- PageRank
- Topic-Sensitive PageRank
- T-Fresh(不考)
- HITS:Authority and Hubs
PageRank:
为了评估web page的重要性。
其他种类的page呢
原理:
- 根据web page的hyperlinks生成有向图,也叫做web graph
- 对web graph进行random walk算法。经过n轮后,结果会收敛,得到的每个node的score就是那个网页的PageRank score
- 因为PR score的跨度比较大(虽然都在0到1之间,但是还可以差好几个数量级),不利于ML算法train model,所以要compress and transform the range。
Random Walk算法:
PageRank 可以被看作是一个随机游走的算法。基本思想是模拟一个悠闲的上网者,上网者首先随机选择一个网页打开,然后在这个网页上呆了几分钟后,跳转到该网页所指向的链接,这样无所事事、漫无目的地在网页上跳来跳去,PageRank 就是估计这个悠闲的上网者分布在各个网页上的概率。
- 随机选一个网页 A 。
- 网页 A 有 n 条出链(outlinks),这时候有两种方法进行下一步。
随机在出链中选一个到下一个网页。
随机从所有 web 网页里选一个其它网页(teleport)。(因为网页 A 可能没有出链) - 不断重复以上过程。
随机游走中访问越频繁的网页越重要。
啥样的文档PageRank分数高?
根据公式推出:
- 有很多inlinks
- 有很多从high PR page过来的inlink
- inlinks从outlinks少的pages过来的
缺点:
- 因为它是query independent的,所以一个好网页可能对某个query不太好。
- 存在很多问题:
-
- Should links among pages on the same site count?如果是,那么很容易操纵PR score。
- 因为PR bias 老网页,那新网页的PR Score咋办?该继承host的PR score么?
- 怎么处理sink(没有outgoing link的网页)?
- 怎么处理link farm和link changes?
TSPR: Topic-Sensitive PageRank:
Main idea:
之前考虑的 PageRank 是等概率跳到一个随机网页的情况,关于 topic PageRank,我们考虑的是非等概率跳到一个随机网页的情况,计算的是基于特定兴趣/主题的 PageRank。如一个体育迷希望有关体育主题的网页的排名高于非体育主题的网页,假定这些有关体育的网页在 web 图中彼此相近,那么随机游走过程中,一个喜欢体育网页的人就可能在这类网页上停留大量的时间,因此,体育类网页的稳态分布概率被提升。
PR算法里的teleportation概率不是random了,而是跟主题有关。主题可以
来自persenalization,
query等等。
PR算法是与qry无关的,TSPR可以解决这个问题~
Define topics:
- 用Open Directory Project的top-level topics啊什么的。。其中还有很多topics下的web pages,可以作为training data去训练模型,给一个new web page 标记topics。
- 还可以咋样?
算法逻辑:
- 在索引过程中,每一个网页都被自动分配一个 topic (用文本分类的方法)。
- 为每一个网页计算一个 topic-specific 的 PageRank。
- 每一个 query 都被分配一个 topic,根据用户在这个 search session 中浏览的网页来确定 topic。
- 对每一个页面,只考虑 topic-related PageRank,如 PRsports(d)
还是不太明白怎么计算TSPR。。。
对于一个doc属于多个topic的情况:
T-Fresh:
不考,知道是解决PageRank bias old pages的问题的就可以了
Hyperlink-Induced Topic Search(HITS):
两种重要的web pages:
- Authority 网页:一些权威性的网页。
- Hub 网页:指向有好内容网页的网页。
一个好的 hub 网页会同时指向多个好的 authority 网页,而一个好的 authority 网页同时会被多个好的 hub 网页所指向。给定某个查询,我们对每个网页给出两个得分,一个是 hub 值,一个是 authority 值,所以对任何一个查询,我们都能得到两个排序结果列表。
算法:
- 初始化所有page的H(p) = 1,A(p) = 1
- 迭代地计算H和A
-
- 每次迭代完都normalize一下
-
总之,算A用H,算H用A!
注意:并不是对整个 web 计算 Hubs 和 Authority 分数。而是对一个较小的 set 来进行计算。
set 的创建方法如下:
- 收集 query q 的 top n 网页构成 the root set;
- 用 root set 的入链和出链扩充这个 set;
- 可能会经过几次迭代。
之后在这个base set上来计算 hub 和 authority 值。
这个 set 的好处:
- 有一个 strong, query-specific focus,
- 而且 set 规模相对较小,大概只有 200 个网页。
- 因为 score 必须在 query time 时进行计算,所以必须efficient!
根据课件例子练习一下~背背公式~
HITS VS PageRank
- 更容易被骗,容易制造high Hub的网页
- run time更大
- 所以一般用:
-
- 在寻找community tightly-bound hubs and authorities
- 寻找expert within community