2.5.3 TrustRank算法
TrustRank是多年来常被讨论的基于链接关系的排名算法。TrustRank可以被翻译为“信任指数”。
TrustRank算法最初来自2004年斯坦福大学和Yahoo!的一项联合研究,用来检测垃圾网站,并且于2006年申请专利。TrustRank算法的发明人还发表了一份专门的PDF文件,说明TrustRank算法的应用。感兴趣的读者可以在下面这个网址下载这份PDF文件:
http://www.vldb.org/conf/2004/RS15P3.PDF
TrustRank算法并不是由Google提出的,不过由于Google所占市场份额最大,而且TrustRank的概念很可能在Google排名中也是一个重要的因素,所以有些人误以为TrustRank是Google提出的。更让人糊涂的是,2005年Google也曾经把TrustRank申请为商标,虽然后来放弃了。
TrustRank算法基于一个基本假设:好的网站很少会链接到坏的网站。反之,则不成立。也就是说,坏的网站很少链接到好网站这句话并不成立。正相反,很多垃圾网站会链接到高权威、高信任指数的网站,试图提高自己的信任指数。
基于这个假设,如果能挑选出可以百分之百信任的网站,将这些网站的信任指数评为最高,将这些网站所链接到的网站信任指数稍微降低,但也会很高。依此类推,第二层被信任的网站链接出去的第三层网站,信任度继续下降。由于种种原因,好的网站也不可避免地会链接到一些垃圾网站,不过离第一层网站点击距离越近,所传递的信任指数越高,离第一级网站点击距离越远,信任指数将依次下降。这样,通过TrustRank算法就能计算出所有网站相应的信任指数,离第一层网站越远,是垃圾网站的可能性就越大。
计算TrustRank值首先要选择一批种子网站,然后人工查看网站,设定一个初始TrustRank值。挑选种子网站有两种方式:一种是选择导出链接最多的网站,因为TrustRank算法就是计算指数随着导出链接的衰减。导出链接多的网站,在某种意义上可以理解为“逆向PR值”比较高。另一种挑选种子网站的方法是选PR值高的网站,因为PR值越高,在搜索结果页面出现的概率就越大。这些网站才正是TrustRank算法应该关注的、需要调整排名的网站。那些PR值很低的页面,在没有TrustRank算法时排名也很靠后,计算TrustRank值的意义就不大了。
根据测算,挑选出两百个左右网站作为种子,之后就可以比较精确地计算出所有网站的TrustRank值。
计算TrustRank值随链接距离递减的公式有两种方式:一种是随链接次数衰减,也就是说如果第一层页面TrustRank值是100,第二层页面衰减为90,第三层衰减为80。第二种计算方法是按导出链接的数目分配TrustRank值,也就是说,如果一个页面的TrustRank值是100,页面上有5个导出链接,每个链接将传递20%的TrustRank值。衰减和分配这两种计算方法通常会被综合使用,使用后的整体效果是随着链接层次的增加,TrustRank值逐步降低。
得出网站和页面的TrustRank值后,可以通过两种方式影响排名。一种是把传统排名算法挑选出的相关页面,根据TrustRank值比较,重新进行排名调整。另一种是设定一个最低的TrustRank值门槛,只有超过这个门槛的页面,才被认为有足够的质量进入排名,低于门槛的页面将被认为是垃圾页面,从搜索结果中过滤出去。
虽然TrustRank算法最初是作为检测垃圾页面的方法,但在现在的搜索引擎排名算法中,TrustRank概念使用更为广泛,常常影响网站的整体排名。TrustRank算法最初针对的是页面级别,在现在的搜索引擎算法中,TrustRank值也经常表现在域名级别,整个域名的信任指数越高,整体排名能力就越强。