我正在寻找一种能够进行某种页面排名的算法,但随着年龄的增长,页面的价值会降低。
我见过的所有算法都是相反的(给旧域更多的价值)。
非常感谢帮助找到这样的算法。
编辑: 看看我最初的问题,我认为我对于我的要求有点不清楚,问题比我原先想的要复杂得多。 基本上我想要的是某种排名算法,如果站点A在站点B发布后立即链接到站点B,那么站点B的页面获得额外的页面排名(可能得分是更好的词),但是如果站点A有在帖子发布很长一段时间后链接到站点B,它对页面排名几乎没有增加。
希望这是有道理的。抱怨最初的问题是错误的。
答案 0 :(得分:5)
您可以使用有偏见的网页排名,如Haveliwala在此article中所述。
这个想法很简单,而不是使用常规的随机组件:[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,放置Matrix[v1][v2] <- w((v1,v2))
,而不是简单的二进制值,表示图中存在边。
一旦你有这个矩阵,通常会计算PageRank。