Note to other teachers and users of these slides: We would be delighted if you found this ourmaterial useful in giving your own lectures. Feel free to use these slides verbatim, or to modify
them to fit your own needs. If you make use of a significant portion of these slides in your own
lecture, please include this message, or a link to our web site: http://www.mmds.org

Mining of Massive Datasets
Jure Leskovec, Anand Rajaraman, Jeff Ullman
Stanford University

http://www.mmds.org

A
3.3

B
38.4

C
34.3

D
3.9

E
8.1

F
3.9

1.6
1.6

1.6

1.6

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

1.6
2

y

[1/N]NxNM

0.8·½+0.2·⅓

1/2 1/2 0
0.8 1/2 0 0
0 1/2 1
0.8+0.2·⅓

a

m
y
a =
m

1/3
1/3
1/3

r =

Ar

0.33
0.20
0.46

0.24
0.20
0.52

1/3 1/3 1/3+ 0.2 1/3 1/3 1/3
1/3 1/3 1/3

y 7/15 7/15 1/15
a 7/15 1/15 1/15
m 1/15 7/15 13/15

0.26
0.18
0.56

...

A
7/33
5/33
21/33

Equivalently:     ⋅  

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

 
3 Input: Graph Directed graph Parameterand parameter with spider traps and dead ends

 Output: PageRank vector  Set: 
 do:




 ,


1





 ∀: ′  ∑→  ′  " if in-degree of  is 0

 Now re-insert the leaked PageRank:∀:   #    

 while ∑

 $

%
% 
&



%

where: )  ∑ ′

'(

If the graph has no deadends then the amount of
leaked PageRank is 1-β. But
since we have dead-ends theamount of leaked PageRank
may be larger. We have to
explicitly account for it bycomputing S.

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

4 Measures generic popularity of a page

 Will ignore/miss topic-specific authorities
 Solution: Topic-Specific PageRank (next)
 Uses a single measure of importance Other models of importance Solution: Hubs-and-Authorities
 Susceptible to Link spam

 Artificial link topographies created in order toboost page rank Solution: TrustRank
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

5 Instead of generic popularity, can wemeasure popularity within a topic?
 Goal: Evaluate Web pages not just according
to their popularity, but by how close they are
to a particular topic, e.g. “sports” or “history”
 Allows search queries to be answered basedon interests of the user
 Example: Query “Trojan” wants different pages
depending on whether you are interested in
sports, history and computer security
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

7 Random walker has a small probability of

teleporting at any step Teleport can go to: Standard PageRank: Any page with equal probability
 To avoid dead-end and spider-trap problems

 Topic Specific PageRank: A topic-specific set of“relevant” pages (teleport set)
 Idea: Bias the random walk

 When walker teleports, she pick a page from a set S
 S contains only pages that are relevant to the topic
 E.g., Open Directory (DMOZ) pages for a given topic/query For each teleport set S, we get a different vector rS
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

8 To make this work all we need is to update theteleportation part of the PageRank formulation:*      & /|$| if  ∈ $   "otherwise A is stochastic!
 We weighted all pages in the teleport set S equally Could also assign different weights to pages!
 Compute as for regular PageRank:

 Multiply by M, then add a vector
 Maintains sparsenessJ. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

9

0.5
0.4

2 0.8

0.2

Suppose S = {1}, β = 0.8

1

Node

0.5
0.4

1

3
1

1
0.8

0.8

1
2
3
4

Iteration
0
1
0.25
0.4
0.25
0.1
0.25
0.3
0.25
0.2

4
S={1}, β=0.90:
r=[0.17, 0.07, 0.40, 0.36]
S={1} , β=0.8:
r=[0.29, 0.11, 0.32, 0.26]
S={1}, β=0.70:
r=[0.39, 0.14, 0.27, 0.19]

2 …
0.28
0.16
0.32
0.24

stable
0.294
0.118
0.327
0.261

S={1,2,3,4}, β=0.8:
r=[0.13, 0.10, 0.39, 0.36]
S={1,2,3} , β=0.8:
r=[0.17, 0.13, 0.38, 0.30]
S={1,2} , β=0.8:
r=[0.26, 0.20, 0.29, 0.23]
S={1} , β=0.8:
r=[0.29, 0.11, 0.32, 0.26]

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

10 Create different PageRanks for different topics

 The 16 DMOZ top-level categories:
 arts, business, sports,…

 Which topic ranking to use?

 User can pick from a menu
 Classify query into a topic
 Can use the context of the query E.g., query is launched from a web page talking about aknown topic
 History of queries e.g., “basketball” followed by “Jordan”

 User context, e.g., user’s bookmarks, …
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

11

Random Walk with Restarts: S is a single element

[Tong-Faloutsos, ‘06]

I

1

J

1
A

1
1

1

H

1

B

1

D
1 1 1
E

G
F

a.k.a.: Relevance, Closeness, ‘Similarity’…
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

13 Shortest path is not good: No effect of degree-1 nodes (E, F, G)!
 Multi-faceted relationships
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

14 Network flow is not good: Does not punish long paths

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

15

[Tong-Faloutsos, ‘06]

I

1

J

1
A

1
1

H

1

B

• Multiple connections
1

1

D• Quality of connection…

• Direct & Indirect

1 1 1
E

G
F

connections• Length, Degree,
Weight…

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

16 SimRank: Random walks from a fixed node on

k-partite graphs
 Setting: k-partite graphwith k types of nodes

Authors

Conferences

Tags

 E.g.: Authors, Conferences, Tags
 Topic Specific PageRank

from node u: teleport set S = {u} Resulting scores measures similarity to node u Problem:
 Must be done once for each node u Suitable for sub-Web-scale applications
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

17

…

…
IJCAI

Philip S. Yu
KDD
ICDM

Ning Zhong

SDM

R. Ramakrishnan

AAAI

M. Jordan…

NIPS

Q: What is most related
conference to ICDM?
A: Topic-Specific
PageRank with
teleport set S={ICDM}…
Conference

AuthorJ. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

18

PKDD
SDM

PAKDD
0.008
0.009

0.007
0.005

KDD

ICML

0.011

ICDM
CIKM

0.004
0.004

0.005

ICDE
0.005
0.004

ECML

SIGMOD
DMKD

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

19 “Normal” PageRank:

 Teleports uniformly at random to any node All nodes have the same probability of surfer landing
there: S = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
 Topic-Specific PageRank also known as

Personalized PageRank:
 Teleports to a topic specific set of pages
 Nodes can have different probabilities of surfer
landing there: S = [0.1, 0, 0, 0.2, 0, 0, 0.5, 0, 0, 0.2]
 Random Walk with Restarts:

 Topic-Specific PageRank where teleport is always tothe same node. S=[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

20 Spamming: Any deliberate action to boost a web
page’s position in search engine results,
incommensurate with page’s real value
 Spam: Web pages that are the result of spamming This is a very broad definition

 SEO industry might disagree!
 SEO = search engine optimization
 Approximately 10-15% of web pages are spamJ. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

22 Early search engines: Crawl the Web
 Index pages by the words they contained
 Respond to search queries (lists of words) withthe pages containing those words
 Early page ranking: Attempt to order pages matching a search queryby “importance”
 First search engines considered: (1) Number of times query words appeared (2) Prominence of word position, e.g. title, header
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

23 As people began to use search engines to findthings on the Web, those with commercial
interests tried to exploit search engines tobring people to their own site – whether theywanted to be there or not Example:
 Shirt-seller might pretend to be about “movies”
 Techniques for achieving highrelevance/importance for a web pageJ. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

24 How do you make your page appear to beabout movies?
 (1) Add the word movie 1,000 times to your page
 Set text color to the background color, so only
search engines would see it (2) Or, run the query “movie” on yourtarget search engine
 See what page came first in the listings
 Copy it into your page, make it “invisible”
 These and similar techniques are term spamJ. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

25 Believe what people say about you, rather

than what you say about yourself
 Use words in the anchor text (words that appear
underlined to represent the link) and its
surrounding text
 PageRank as a tool to measure the“importance” of Web pages

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

26 Our hypothetical shirt-seller looses

 Saying he is about movies doesn’t help, because
others don’t say he is about movies
 His page isn’t very important, so it won’t be ranked
high for shirts or movies
 Example:

 Shirt-seller creates 1,000 pages, each links to his with“movie” in the anchor text
 These pages have no links in, so they get little PageRank So the shirt-seller can’t beat truly important movie
pages, like IMDB
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

27

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

28

SPAM FARMING
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

29 Once Google became the dominant searchengine, spammers began to work out ways tofool Google Spam farms were developed to concentrate

PageRank on a single page
 Link spam: Creating link structures that
boost PageRank of a particular
page
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

30 Three kinds of web pages from a

spammer’s point of view
 Inaccessible pages
 Accessible pages
 e.g., blog comments pages
 spammer can post links to his pages

 Owned pages
 Completely controlled by spammer May span multiple domain names

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

31 Spammer’s goal: Maximize the PageRank of target page t Technique: Get as many links from accessible pages as
possible to target page t
 Construct “link farm” to get PageRank
multiplier effect

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

32

Accessible

Owned

1

Inaccessiblet2

M
Millions offarm pages

One of the most common and effective
organizations for a link farm
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

33

Accessible

Owned

1

Inaccessible

t

2

M

N…# pages on the web
M…# of pages spammerowns

 x: PageRank contributed by accessible pages
 y: PageRank of target page t./ .
 Rank of each “farm” page 


0
.3
 .
 .
 /1 20.  . 0 .
4
Very small; ignore
1 5

Now we solve for y


6

.
 /
8
where 9  7
:.
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

34

Accessible

Owned

1

Inaccessible

t

2

M

6

 /
8
7
 

N…# pages on the web
M…# of pages spammer
owns.
where 9 :.

 For β = 0.85, 1/(1-β2)= 3.6

 Multiplier effect for acquired PageRank By making M large, we can make y as

large as we want
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

35 Combating term spam

 Analyze text using statistical methods
 Similar to email spam filtering Also useful: Detecting approximate duplicate pages
 Combating link spam

 Detection and blacklisting of structures that look likespam farms
 Leads to another war – hiding and detecting spam farms

 TrustRank = topic-specific PageRank with a teleport
set of trusted pages
 Example: .edu domains, similar domains for non-US schools
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

37 Basic principle: Approximate isolation

 It is rare for a “good” page to point to a “bad”(spam) page
 Sample a set of seed pages from the web
 Have an oracle (human) to identify the good

pages and the spam pages in the seed set
 Expensive task, so we must make seed set as
small as possible

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

38 Call the subset of seed pages that are

identified as good the trusted pages
 Perform a topic-sensitive PageRank with

teleport set = trusted pages
 Propagate trust through links:
 Each page gets a trust value between 0 and 1

 Solution 1: Use a threshold value and markall pages below the trust threshold as spamJ. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

39 Set trust of each trusted page to 1
 Suppose trust of page p is tp

 Page p has a set of out-links op

 For each q∈op, p confers the trust to q

 β tp /|op| for 0 <β < 1 Trust is additive Trust of p is the sum of the trust conferredon p by all its in-linked pages
 Note similarity to Topic-Specific PageRank Within a scaling factor, TrustRank = PageRank withtrusted pages as teleport set
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

40 Trust attenuation: The degree of trust conferred by a trusted pagedecreases with the distance in the graph Trust splitting: The larger the number of out-links from a page,the less scrutiny the page author gives each outlink
 Trust is split across out-links

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

41 Two conflicting considerations: Human has to inspect each seed page, so
seed set must be as small as possible
 Must ensure every good page gets adequate
trust rank, so need make all good pages
reachable from seed set by short paths

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

42 Suppose we want to pick a seed set of k pages
 How to do that?
 (1) PageRank:

 Pick the top k pages by PageRank Theory is that you can’t get a bad page’s rank
really high (2) Use trusted domains whose membershipis controlled, like .edu, .mil, .gov

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

43 In the TrustRank model, we start with good

pages and propagate trust Complementary view:

What fraction of a page’s PageRank comesfrom spam pages?
 In practice, we don’t know all

the spam pages, so we needto estimate

Trustedset

Web
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

44Solution 2: ; = PageRank of page p :; = PageRank of p with teleport into
trusted pages only Then: What fraction of a page’s PageRank comesfrom spam pages?

;  ; & :; Spam mass of p =;Trustedset; Pages with high spam mass
are spam.
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

Web45 HITS (Hypertext-Induced Topic Selection)

 Is a measure of importance of pages or documents,
similar to PageRank Proposed at around same time as PageRank (‘98)
 Goal: Say we want to find good newspapers

 Don’t just find newspapers. Find “experts” – people
who link in a coordinated way to good newspapers
 Idea: Links as votes

 Page is more important if it has more links In-coming links? Out-going links?
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

47 Hubs and Authorities

Each page has 2 scores: Quality as an expert (hub): Total sum of votes of authorities pointed to Quality as a content (authority):
 Total sum of votes coming from experts

NYT: 10
Ebay: 3
Yahoo: 3
CNN: 8
WSJ: 9

 Principle of repeated improvement

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

48Interesting pages fall into two classes:
1. Authorities are pages containing
useful information
 Newspaper home pages
 Course home pages
 Home pages of auto manufacturers
2.

Hubs are pages that link to authorities
 List of newspapers
 Course bulletin
 List of US auto manufacturers
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

49Each page starts with hubscore 1. Authorities collect
their votes(Note this is idealized example. In reality graph is not bipartite andeach page has both the hub and authority score)
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

50

Sum of hubscores of nodes
pointing to NYT.

Each page starts with hubscore 1. Authorities collect
their votes(Note this is idealized example. In reality graph is not bipartite andeach page has both the hub and authority score)
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

51

Sum of authority
scores of nodes thatthe node points to.

Hubs collect authority scores(Note this is idealized example. In reality graph is not bipartite andeach page has both the hub and authority score)
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

52

Authorities again collectthe hub scores(Note this is idealized example. In reality graph is not bipartite andeach page has both the hub and authority score)
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

53 A good hub links to many good authorities
 A good authority is linked from many goodhubs
 Model using two scores for each node: Hub score and Authority score
 Represented as vectors < and =J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

54

[Kleinberg ‘98]

 Each page  has 2 scores:

j1

j2

j3

 Authority score: = Hub score: <j4iHITS algorithm:=  D <


→
 Initialize: >  1/ N, hA  1/ N
 Then keep iterating until convergence:
i
%:
%
 ∀: Authority: >B ∑→ C%:% ∀: Hub: CB ∑→ > ∀: Normalize:∑B >B %:4%:∑
 1,  C

4

1

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

j1

j2

j3

j4

<  D =→55

[Kleinberg ‘98]

 HITS converges to a single stable point Notation:

 Vector =  >1 … , >F , <  C1 … , CF  Adjacency matrix * (NxN): *  1 if G, 0 otherwise

 Then <  ∑→ =

can be rewritten as <  ∑ * ⋅ =
So: <  * ⋅ = Similarly, =  ∑→ <
can be rewritten as =  ∑ * ⋅ <  *H ⋅ <J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

56 HITS algorithm in vector notation:

 Set: =  < I

Repeat until convergence: <*⋅=
 =  *H ⋅ < Normalize = and < Then: =  *H ⋅ * ⋅ =
new <

new =

Convergence criterion:
%

% 

%

% 

D CB & CB
B

D >B & >B
B

4

4

L(
L(

= is updated (in 2 steps):>  JK J >  JK J >h is updated (in 2 steps):C  J JK C  J JK  C
Repeated matrix powering

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

57λ = 1 / ∑hi
μ = 1 / ∑ai h=λAa a = μ AT h
 h = λ μ A AT h
 a = λ μ AT A a

 Under reasonable assumptions about A,

HITS converges to vectors h* and a*: h* is the principal eigenvector of matrix A AT
 a* is the principal eigenvector of matrix AT A

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

58

111
A= 101010

110
AT = 1 0 1
110

Yahoo

AmazonM’softh(yahoo) =h(amazon) =h(m’soft) =.58 .80 .80.58 .53 .53.58 .27 .27

.79
.57
.23

...
...
...

.788
.577
.211

a(yahoo) =a(amazon) =a(m’soft) =.58 .58 .62.58 .58 .49.58 .58 .62

.62
.49
.62

...
...
...

.628
.459
.628

J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

59 PageRank and HITS are two solutions to thesame problem: What is the value of an in-link from u to v?
 In the PageRank model, the value of the linkdepends on the links into u
 In the HITS model, it depends on the value of theother links out of u
 The destinies of PageRank and HITS

post-1998 were very different
J. Leskovec, A. Rajaraman, J. Ullman: Mining of Massive Datasets, http://www.mmds.org

60