Social Role-aware Information Diffusion

发布时间:2026年11月4日

Introduction

In this work, we study the interplay between users’ social roles and their influence on information diffusion. Users’ social roles affect the influence they may have on other users, and hence the information diffusion process. The figure below presents how users taking three roles, namely opinion leaders, structural hole spanners and ordinary users, influence other users’ probability of reposting a message.

 

As we can see, when an opinion leader reposts a message, the probability that her follower v will subsequently repost the message is 12 times higher than the case where the message is reposted by an ordinary user in the first place. More interestingly, if the number of reposting opinion leaders, all followed by v, reaches 3, the probability that v will subsequently repost decreases significantly, but keeps increasing after that. Regarding this finding, we conjecture that 2-3 opinion leaders are sufficient to spread a piece of information throughout a community, making their followers unwilling to repost a message that most of her friends would have known already. However, when a message attracts the attention of more than 3 opinion leaders in a community, it may have become so influential and popular that reposting the message becomes a social norm that other users might want to adopt. Results on structural hole spanners show a different story. The probability for v to repost i keeps increasing with the number of her reposting followees who are structural hole spanners. As structural hole spanners are those who bridge different otherwise disconnected communities, they tend to bring information that a certain community is rarely exposed to, thus may be able to interest v more easily. To summarize, the probability that a user will repost a message depends strongly on the roles of her followees who reposted the message. It is therefore crucial to capture users' social roles when modeling the information diffusion process. 

Dataset

We conduct experiments on real data from a popular Twitter-like Chinese microblogging service. The complete data set contains the directed following networks and posting logs of over 200 million users. If there exists a following link from a user v to another user u, we say that v is a follower of u, and that u is a followee of v. There are two types of posts in our dataset, namely original posts and reposts (or retweets). The reposting log of an original post essentially represents an information diffusion process. In total, we have 184,491 users, and 4,588,559 original posts. We removed original posts that were reposted by fewer than 5 users, and use the remaining 242,831 original posts for experiments.

Data Format

The dataset consists of four parts:

  1. Post retweeting network 
  2. User following network
  3. Pagerank score
  4. Network constraint score

We introduce each part in detail:

Post retweeting network

10percentage_post.txt (sample data), post.txt (complete data, coming soon)

In this file, each line indicate a post, with the following formate:

post_idx post_time user_id root_id root_user_id parent_id parent_user_id type_1 type_2 type_3

"post_idx" is the unique index of the post;

"post_time" is the time when the post was published;

"user_id" is the user who published the post;

"root_id" is the index of the source post;

"root_user_id" is the user who published the source post;

"parent_id" is the index of another post the current post retweeted from;

"parent_user_id" is the user who published "parent post";

type_1, type_2, type_3 indicate the type of post, which can be omitted simply.

Notice: we remove all content information in each post for users' privacy.

User following network

10percentage_network.txt (sample data), network.txt (complete data, coming soon)

In this file, each line indicate a following relationship between two users, with the following formate:

user_a user_b

which indicate user_a follows user_b.

PageRank score

pr.txt

In this file, each line consists of an integer, denoting the user index, and a real number, indicating the PageRank score of that user.

NetworkConstraint score

nc.txt

Similar with PageRank score, each line consists of an integer, denoting the user index, and a real number, indicating the NetworkConstraint score of that user.

[Download]

Another dataset can be downloaded here.

Model & Code

 

Problem: Modeling Social Role-aware Information Diffusion

The input of the problem consists of two parts: a social network and a diffusion tree for any message.

Intuitively, a user may take different roles in different information diffusion processes. For instance, she may act as an opinion leader when spreading messages about a specific topic of her interest, and a structural hole spanner when propagating a piece of news from her colleagues to her family members. We model this intuition by associating each user with a social role distribution:

We are given a social network, and information diffusion processes across the network in terms of diffusion trees. Our task is to model the diffusion processes and infer the social role distributions of all users in the network simultaneously.

Social Role-aware Diffusion Model

Our idea is to use two interrelated generative processes to jointly model users’ roles and information diffusion. Specifically, the first generative process models users’ roles according to their social attributes. The second process models information diffusion based on diffusion trees.

Code Specification

The code contains the c++ implementation of our role-aware information diffusion model. 
Please execute make to compile the source code. 
After that, execute ./main to run the code.
 
Input parameters:
 
-n  string  :   network file dir 
-d  string  :   post file dir
-p  string  :   PageRank score file dir
-s  string  :   NetworkConstraint socre file dir
-i  int     :   number of maximum iterations used for learning algorithm [optional, 10 as default]
-k  int     :   number of social roles [optional, 3 as default]
 
We test the code in MacOS 10.9 .
 

Experiments

 

We evaluate the proposed model based on the following two tasks. (1) At the micro-level, how accurate is the roleaware diffusion model in predicting whether a user will repost a given message? (2) At the macro-level, can the role-aware diffusion model predict the scale and duration of a diffusion process?

Here we present our macro-level expiermental results. Please refer to our paper for micro-level experiments. 

At the macro-level, we use the fitted model to predict the scale and duration of a diffusion process. Specifically, we first trace the diffusion process of each topic by selecting all original posts relevant to that topic. Then, we evaluate how accurate the proposed model can predict for each topic its diffusion scale, defined as the number of reposts of the original posts under that topic, and the diffusion duration, defined as the last reposting time of these posts. We use the IC model as the baseline for comparison.