算法背景
TrustRank是2004年提出适用于web搜索引擎链接作弊(web spam)场景的算法。虽然算法原理比较简单,但是在具备实锤作弊黑样本的情况下还是比较有用的。
算法原理
它的基本思想和“近朱者赤近墨者黑”比较相像,比如一个网页如果是正常的,那么它大概率也不会添加指向垃圾网站(赌博等)的超链接。那么我就可以根据专家经验先挑选一批白的或黑的网页给其标记分值,然后再通过链接关系将其传递出去。考虑到信任传播是有衰减的,文章给出了两种具体的衰减方式。一种是Dampening,当前节点的分值乘以阻尼系数传递给邻居节点;另一种是Splitting,当前节点的分值被均等传递给邻居节点。
算法过程
- 选取种子节点
- 人工标注
- 多轮次传播即可
评估方法
除了常规的准召评估,还可以采用网页对排序是否合理的评估方法,如果黑的网页的score(T函数)>白的网页的score就认为是一个bad case。
那么在给定的数据集上Pairwise Orderedness的定义为:
如果最终pairord=1,那么就没有任何一对网页的对比是错误的,反之则为0。
和PageRank的对比
PageRank得到的是网页的权威值,虽然它也能屏蔽一部分垃圾网站,但是当遇到针对算法原理刻意为之的链接作弊场景还是会有问题。TrustRank能解决这种问题,但是需要先验的专家经验,因此并不是完全无监督的。
作者给出了一个实验结果,将分值分桶后计算每个桶的作弊率。从下图可以看到PageRank权威性高的网站也会被作弊问题困扰,比如2那个桶的作弊率达到了20%,而TrustRank的结果就很符合预期了。