Lecture 10 link analysis trustrank and webspam

Base PageRank. Teleport set $S$ is $S = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]$

Topic-Specific PageRank (aka Personalized PageRank)

PageRank where nodes have different probabilities of teleport. #S = [0.1, 0, 0, 0.2, 0, 0, 0.5, 0, 0, 0.2]#

This creates a different PageRanks for different topics.(1)

Screenshot 2019-10-25 at 9.33.41 PM.png

Which topic ranking to use?

SimRank: (aka Random Walk with Restarts) Measuring Proximity in Graphs

Topic-Specific PageRank where teleport is always the same node. $S=[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]$ How to compute proximity in graphs? Need a method that considers:

SimRank: Random Walks from a fixed node on k-partite graphs. Setting: k-partite graph with k types of nodes (i.e. Authors, conderences, Tags), like below. This is used in e.g pintest where we have a bipartite graph of pins and boards,

Screenshot 2019-10-25 at 9.41.29 PM.png

SimRank = Topic Specific PageRank for k-partite graph with teleport set just node $u$: teleport set $S={u}$ Resulting scores measure similarity/proximity to node u. (2) Problem: Must be done once for each node $u$, so very limited in size.

Pixie Random Walk Algorithm for k-partite graphs

Screenshot 2019-10-25 at 9.47.28 PM.png

Above is a k-partite graph. Idea: every node has some importance. Importance gets evenly split among all edges and pushed out to the neighbors.

Some notes on Graph Clearning/Pruning

Pixie Pros:

You can use random walk to get a bigger and better seed set for topic specific pagerank. You can use random walk to discover prohibited content.

Combating Spam on the Web

Aside: Combating term spam (2). Google’s solution to term spam is to believe what people say about you, rather than what you say about yourself: use words in the anchor text (words the link is on) and surrounding text. So PageRank is used as a tool to measure the ‘importance’ of Web pages.

First, detection and blacklisting of structures that look like spam farms. Second, Google developed TrustRank to combat link spam. TrustRank = topic specific PageTank with a teleport set of trusted pages.

Process: Sample a set of seed pages from the web. Have an oracle (human) identify the good pages and the spam pages in the seed set. Call the subset of good seed pages trusted pages. Perform topic-speficic PageRank with trusted pages, propagate trust through links. Each page gets a trust value between 0 and 1. Use a threshold value and mark all pages below the trust threshold as spam.

Formally:

To use Trust Rank to catch spam:

Solution 1: Threshold and say pages with trust metric under a threshold are spam.

Solution 2: SpamRank:

SpamRank: What fraction of a page’s PageRank comes from spam pages? Im practice, we don’t know all the spam pages, so we need ot estimate based on trusted pages that we find.

Notes

(1) Potentialy taken from Open Directory (DMOZ). The 16 top-level categoies are Arts, Business, Sports, etc. (2) Throwing the word ‘movie’ on your page 10000 times and making the font white to make google think that it is about movies. (3) People started spam farms to link to a certain page many time to concentrate PageRank on a single page. The spammer has three accessible web pages:

Screenshot 2019-10-25 at 9.43.02 PM.png

Analysis of the effect of Spam Farm.

Screenshot 2019-10-25 at 10.09.25 PM.png

Note: Above rank of each “farm page” = $\frac{\beta y}{M} + \frac{1-\beta}{N}$ because the first element is: the target page has $M$ outlinks and it divides $\beta$ of its influence among the M outlinks. The $\frac{1-\beta}{N}$ term is due to random walkers over the web, and $N$ is the size of the web.

Essentially, the conclusion is that the PageRank of the target node is boosted by approx 3x (for $\beta = 0.85, 1/(1-\beta^2) = 3.6$, and then gets another linear boost which is approximately $M/N$, where $M$ is the number of farm nodes and $N$ is the size of the web.