1
Graph mining techniques applied to
blogsMary McGlohon
Seminar on Social Media Analysis- Oct 2 2007
2
Last week…
Lots of methods for graph mining and link analysis.
3
Last week…
Lots of methods for graph mining and link analysis.
This week…
A few examples of these methods applied to blogs.
4
Paper #1
● Jure Leskovec, Mary McGlohon, Christos Faloutsos, Natalie Glance, and Matthew Hurst. Patterns of Cascading Behavior in Large Blog Graphs, SDM 2007.– What temporal and topological features do we
observe in a large network of blogs?
5
Blogosphere network
B1 B2
B4B3
Representing blogs as graphsslashdot
boingboing
DlistedMichelleMalkin
6
Blogosphere network
B1 B2
B4B3
B1 B2
B4B3
11
2
1 3
1
Representing blogs as graphs
1
slashdotboingboing
DlistedMichelleMalkin
slashdotboingboing
Dlisted
MichelleMalkin
Blog network
7
Blogosphere network
B1 B2
B4B3
B1 B2
B4B3
11
2
1 3
1
a
b c
de
Representing blogs as graphs
1
Blog network Post network
slashdotboingboing
DlistedMichelleMalkin
slashdotboingboing
Dlisted
MichelleMalkin
8
Extracting subgraphs: Cascades
We gather cascades using the following procedure:– Find all initiators (out-degree 0).
a
b c
de
9
Extracting subgraphs: Cascades
We gather cascades using the following procedure:– Find all initiators (out-degree 0).– Follow in-links.
a
b c
de
a
b c
de
10
Extracting subgraphs: Cascades
We gather cascades using the following procedure:– Find all initiators (out-degree 0).– Follow in-links.– Produces directed acyclic graph.
a
b c
de
a
b c
de
d
e
b c
e
a
11
Paper #1,2 Dataset (Nielsen Buzzmetrics)
● Gathered from August-September 2005*
● Used set of 44,362 blogs, traced cascades
● 2.4 million posts, ~5 million out-links, 245,404 blog-to-blog links
Time [1 day]
Nu
mb
er
of p
ost
s
12
Temporal Observations
Does blog traffic behave periodically?• Posts have “weekend effect”, less traffic on
Saturday/Sunday.
13
Temporal Observations
How does post popularity change over time?
Monday post dropoff- days after post
Num
ber
in-li
nks
(log)
Popularity on day 1
Popularity on day 40
14
Temporal Observations
How does post popularity change over time?
Days after post
Nu
mb
er
of in
-lin
ks
Monday post dropoff- days after post
Num
ber
in-li
nks
(log)
How does post popularity change over time?
Post popularity dropoff follows a power law identical to that found in communication response times in [Vazquez2006].
15
Temporal Observations
How does post popularity change over time?
Days after post
Nu
mb
er
of in
-lin
ks
How does post popularity change over time?
Post popularity dropoff follows a power law identical to that found in communication response times in [Vazquez2006].
The probability that a post written at time tp acquires a link at time tp + is:
p(tp+) 1.5
16
Topological Observations
What graph properties does the blog network exhibit?
B1 B2
B4B3
11
2
1 3
1
17
Topological Observations
What graph properties does the blog network exhibit?
● 44,356 nodes, 122,153 edges● Half of blogs belong to largest connected
component.
B1 B2
B4B3
11
2
1 3
1
18
Topological Observations
What power laws does the blog network exhibit?
Both in- and out-degree follows a power law distribution, in-link PL exponent -1.7, out-degree PL exponent near -3.
This suggests strong rich-get-richer phenomena.
Number of blog in-links (log scale) Number of blog out-links (log scale)
Co
unt
(lo
g s
cale
)
Co
unt
(lo
g s
cale
)
19
Topological Observations
What graph properties does the post network exhibit?
a
b c
de
20
Topological Observations
a
b c
de
What graph properties does the post network exhibit?
Very sparsely connected: 98% of posts are isolated.
Inlinks/outlinks also follow power laws.
21
Topological Observations
How do we measure how information flows through the network?
Common cascade shapes are extracted using algorithms in [Leskovec2006].
22
Topological Observations
How do we measure how information flows through the network?
Number of edges increases linearally with cascade size, while effective diameter increases logarithmically, suggesting tree-like structures.
Cascade size (# nodes)
Num
ber
of e
dges
Cascade size
Eff
ectiv
e di
amet
er
More on cascades
● Cascade sizes, including sizes of particular shapes (stars, chains) also follow power laws.
● This paper also presents a model for influence propagation that generates cascades based on SIS model of epidemiology. The topic of influence propagation has been reserved for a later date.
24
Paper #2
Mary McGlohon, Jure Leskovec, Christos Faloutsos, Matthew Hurst, and Natalie Glance. Finding patterns in blog shapes and blog evolution, SDM 2007.
● Do different kinds of blogs exhibit different properties?
● What tools can we use to describe the behavior of a blog over time?
● Suppose we wanted to characterize a blog based on the properties of its posts.– Obtain a set of post features based on its role in a
cascade.– Use PCA for dimensionality reduction.
2626
Post features
● There are several terms we use to describe cascades:
● In-link, out-link
– Green node has one out-link
– Yellow node has one in-link.● Depth downwards/upwards
– Pink node has an upward depth of 1,
– downward depth of 2.
● Conversation mass upwards/downwards
– Pink node has upward CM 1,
– downward CM 3
2727
Dimensionality reduction
● Post features may be correlated, so some information may be unnecessary.
● Principal Component Analysis is a method of dimensionality reduction.
Depth upwards
Conversation mass upwards
Hypothetically, for each blog...
2828
Dimesionality reduction
● Post features may be correlated, so some information may be unnecessary.
● Principal Component Analysis is a method of dimensionality reduction.
Depth upwards
Conversation mass upwards
Hypothetically, for each blog...
2929
Dimensionality reduction
● Post features may be correlated, so some information may be unnecessary.
● Principal Component Analysis is a method of dimensionality reduction.
Depth upwards
Hypothetically, for each blog...
Conversation mass upwards
3030
Setting up the matrix
.6.1…
1.1.6boingboing-p002
6.24.2boingboing-p001
2.41.2…
4.5.2…
2.2.3slashdot-p002
4.5slashdot-p001
log(
# in
-link
s) l
og(#
out-l
inks
)
log(
CM
up)
log(
CM
dow
n)
lo
g(de
pth
up)
l
og(d
epth
dow
n)
~2,
400,
000
post
s Run PCA…
31
PostFeatures: Results
• Observation: Posts within a blog tend to retain similar network characteristics.
– PC1 ~ CM upward– PC2 ~ CM
downward
32
PostFeatures: Results
• Observation: Posts within a blog tend to retain similar network characteristics.
MichelleMalkin
Dlisted
– PC1 ~ CM upward– PC2 ~ CM
downward
33
● Suppose we want to cluster blogs based on content. What features do we use?– Get set of features based on cascade shapes.– Run PCA to reduce dimensionality.
34
PCA on a sparse matrix
• This time, each blog is one row.
• Use log(count+1)• Project onto 2
PC…
.01…
.07.67…
1.12.1…
5.1…
4.2…
.073.41.13.2boingboing
.092.14.6slashdot
…………
~9,000 cascade types
~44
,000
blo
gs
3535
CascadeType: Results
● Observation: Content of blogs and cascade behavior are often related.
• Distinct clusters for “conservative” and “humorous” blogs (hand-labeling).
3636
CascadeType: Results
● Observation: Content of blogs and cascade behavior are often related.
• Distinct clusters for “conservative” and “humorous” blogs (hand-labeling).
37
● What about time series data? How can we deal with that?
● Problem: time series data is nonuniform and difficult to analyze.
in-links over time
3838
BlogTimeFractal: Definitions
● Fortunately, we find that behavior is often self-similar.
● The 80-20 law describes self-similarity.● For any sequence, we divide it into two equal-
length subsequences. 80% of traffic is in one, 20% in the other.– Repeat recursively.
39
Self-similarity
● The bias factor for the 80-20 law is b=0.8.20 80
Det
ails
40
Self-similarity
● The bias factor for the 80-20 law is b=0.8.20 80
Q: How do we estimate b?
Det
ails
41
Self-similarity
● The bias factor for the 80-20 law is b=0.8.20 80
Q: How do we estimate b?
A: Entropy plots!
Det
ails
4242
BlogTimeFractal
● An entropy plot plots entropy vs. resolution.● From time series data, begin with resolution R=
T/2. ● Record entropy H
R
4343
BlogTimeFractal
● An entropy plot plots entropy vs. resolution.● From time series data, begin with resolution R=
T/2. ● Record entropy H
R
● Recursively take finer resolutions.
4444
BlogTimeFractal
● An entropy plot plots entropy vs. resolution.● From time series data, begin with resolution r=
T/2. ● Record entropy H
r
● Recursively take finer resolutions.
45
BlogTimeFractal: Definitions● Entropy measures the non-uniformity of histogram at
a given resolution.● We define entropy of our sequence at given R :
where p(t) is percentage of posts from a blog on interval t, R is resolution and 2R is number of intervals.
Det
ails
4646
BlogTimeFractal
● For a b-model (and self similar cases), entropy plot is linear. The slope s will tell us the bias factor.
● Lemma: For traffic generated by a b-model, the bias factor b obeys the equation:
s= - b log2 b – (1-b) log2 (1-b)
47
Entropy Plots
● Linear plot Self-similarity
Resolution
En
tro
py
48
Entropy Plots
● Linear plot Self-similarity● Uniform: slope s=1. bias=.5● Point mass: s=0. bias=1
Resolution
En
tro
py
49
Entropy Plots
● Linear plot Self-similarity● Uniform: slope s=1. bias=.5● Point mass: s=0. bias=1
Resolution
En
tro
py
Michelle Malkin in-links, s= 0.85
By Lemma 1, b= 0.72
5050
BlogTimeFractal: Results● Observation: Most time series of interest are
self-similar.● Observation: Bias factor is approximately 0.7--
that is, more bursty than uniform (70/30 law).
in-links, b=.72 conversation mass, b=.76 number of posts, b=.70
Entropy plots: MichelleMalkin
Papers #1,2 conclusions
● There are several power laws observed in a network of blogs.
● We can extract cascades to help describe how information propagates through a network.
● We can use cascade properties to describe behavior of some blogs.
● We can also use self-similarity to describe behavior of blogs over time.
52
Paper #3
● Eytan Adar, Li Zhang, Lada A. Adamic, and Rajan M. Lukose. Implicit Structure and the Dynamics of Blogspace. WWW 2004.– What are the large- and small- scale patterns of
blog epidemics?
Large scale: Epidemic profiles
● Example: The effects of popular websites linking to a given blog may cause popularity spikes.
53
Large scale: Epidemic profiles
● Quantify popularity of a topic into a vector.● Then, cluster different topics’ profiles.
Large scale: Epidemic profiles
● Used k-means clustering on topic buzz to identify different ways ideas gain and lose popularity. Found k=4 worked best.
55Centroids of clusters identified
Large scale: Epidemic profiles
● ‘Catchall’- picked up by different communities, no major spike.
● ‘Back page’ news- delayed spike, broader popularity.
● ‘Slashdot’- link picked up quickly, dies off quickly.
● ‘Front page’ news- immediate spike, broader popularity.
56‘catchall’48%
‘slashdot’14%
‘back page’20%
‘front page’18%
Link gathering
● Links acquired by blogrolls or automated trackbacks.
● Posts sometimes give information on source of information (‘via’).
57
May 16 2003, 8:48a
“GIANTmicrobes http://www.giantmicrobes.com/‘We make stuffed animals that look like tiny microbes– only a million times actual size! Now available: The Common Cold, The Flu, Sore Throat, and Stomach Ache.’ (via BoingBoing)
Small scale: link mining
● Links acquired by blogrolls or automated trackbacks.
● Posts sometimes give information on source of information (‘via’).
58
May 16 2003, 8:48a
“GIANTmicrobes http://www.giantmicrobes.com/‘We make stuffed animals that look like tiny microbes– only a million times actual size! Now available: The Common Cold, The Flu, Sore Throat, and Stomach Ache.’ (via BoingBoing)
Epstein- Barr
Ebola
Small scale: link mining
● Unfortunately, since ‘via’ information is rare (O(.1%)), there needs to be a better way to infer infection paths.– Solution: link prediction.
Link prediction
● Predict likelihood of 2 blogs linking to each other.– Blog similarity- common links to other blogs– Link similarity- common non-blog links– Textual similarity- text vector similarity– Timing of posts on certain topics.
● First three are cosine similarity, timing is likelihood based on observed distributions of link timings.
60
Link prediction results
● Used SVMs to predict links.– Undirected link prediction accuracy 91%– (Directed link prediction, 57%)
61
More goodies from Paper #3
● And…– Built Zoomgraph, a visualization tool (stay tuned
next week.)– Proposed iRank, a ranking based on
“infectiousness” of blogs (stay tuned Oct. 23.)
A more in-depth slide show may be found here: http://www.blogpulse.com/papers/Adar_blogworkshop2_ppt.pdf
62
63
Paper #4
● Noor Ali-Hasan and Lada Adamic. Expressing Social Relationships on the Blog through Links and Comments. ICWSM 2007 – Do different blog communities exhibit certain
structural properties?
[Ali-Hasen and Adamic 2007]
● Dataset of 3 blogging communities– Dallas/Ft. Worth– United Arab Emirates (UAE)– Kuwait
● Analyzed 3 types of links– Blogrolls (on a blog’s webpage)– Citations (link in a post)– Comments (interaction in a post’s discussion)
64
65
Citation link
Blogroll link
66
Comment link
Link type analysis
● It is of interest to compare different types of links…– Co-occurrences of
different link types.
67
Co-occurrence of link types (Kuwait)
Link type analysis
● It is of interest to compare different types of links…– Co-occurrences of
different link types.
– Reciprocity among link types, between communities.
68
Link reciprocation rates
Co-occurrence of link types (Kuwait)
Structural properties
● Centralization- to what extent links are not uniformly distributed. (low in all communities, indicating “hubs”)
69
Links per blog
Structural properties
● Centralization- to what extent links are not uniformly distributed. (low in all communities, indicating “hubs”)
● Modularity- to what extent “subcommunities” have formed.
70
Links per blog
Modularity
71
Comparing communities
Dallas-Fort Worth
-Most links are external to community (91%)
-Low centralization
-Low reciprocity
UAE
-Fewer links external to community
-More centralization
-Obvious “hub” structure
Kuwait
-Fewest links external to community (53%)
-Highly centralized
-Much reciprocity
Paper #4 Conclusions
● Based on a survey, they suggest that these different network characteristics indicated different mindsets inside the community.– Kuwait bloggers more often reported blogging in
order to make new friends.– DFW more often reported blogging to update
friends/family on events.
Conclusions
● Link analysis has discovered patterns in several aspects of the blogosphere.– Observing general network characteristics.– Describing behavior of specific blogs, or blog topics.– Illustrating how influence propagates.– Comparing different blogging communities.