您可以使用有偏差的页面排名,正如 Haveliwala 在本文中所描述的那样。
这个想法很简单,而不是使用常规随机分量:[1/n,1/n,....,1/n]
,使用有偏随机分量,当你进行随机游走时,不是以概率 1/n 去每一页,而是以概率 去每一页f(doc)
,其中 f( doc) 对于较新的页面更高,并且Sigma(f(doc)) = 1
[对于集合中的所有文档,因此您的随机组件将是[f(doc1),f(doc2),...,f(docn)]
请注意,对于每个文档,必须是f(doc)>0
,否则不能保证收敛 [ Perron-Frobenius定理将不适用]。
另一种可能性是计算常规页面排名,并将其与为每个页面赋予数值的不同函数相乘g:Collection->R
,页面越新,该文档的得分越高。
编辑:
作为对原始问题编辑的回应:
另一种可能性是在为网络生成图形时,添加附加信息w:E->[0,1]
,意思是:为每条边添加一个权重函数,确定它的重要性,如果链接是在原始链接之后不久建立的编辑,w(e) 将更接近 1,如果晚得多,分数将更接近 0。
创建矩阵时,您在计算 pagerank 时使用 put Matrix[v1][v2] <- w((v1,v2))
,而不是简单的二进制值,指示图中存在边。
一旦你有了这个矩阵,就可以正常计算 PageRank。