SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Graph based User Interest Modeling in Twitter
CS 224W : Final Project , Group 41
Aparna Krishnan
aparnak@stanford.edu

1

Motivation

Interest graph is a comparatively recent phenomenon in social media, building on the lines
of Knowledge Graph1 and Social Graph2 . Simply put, an interest graph is a representation of
relationship between people and things that they
are interested in. Companies like Netflix and
Facebook are already leveraging Interest graph to
power their recommendations. Additionally, these
interest graphs fuel behavioral profiling based on
interests for advertisement targeting and audience
analytics. One social network that inherently
presents itself as an interest graph is Twitter. In
this project, we explore a graph based approach to
user-interest modeling in Twitter.

2

Related Work

In the light of the current push towards development of an interest graph, identification and characterization of user interest in social media is very
relevant. Most works focusing on identifying user
interest on Twitter use text analysis techniques like
Bag of Words, TF-IDF or Latent Dirichlet Allocation [Michelson and Macskassy (2010)]. This
paper proposes a method to discover twitter users
topics of interests based on the entities in their
tweets. Another common method used to extract
user interests is to use a knowledge corpus as in
[Lim and Datta (2013)] where the authors infer
the users topics of interest from the domains of the
celebrities followed by the user. Taking cue from
these works, we hypothesize that since Twitter as
a social medium is primarily based on who we follow, the properties of network structure of a user
are potentially indicative of his/her interest profile.
1
2

Raghav Ramesh
raghavr@stanford.edu

3

Problem Definition

The high level goal of the project is to study the
following two questions:
1. How well can we gauge the interest profile of
a user based on his network structure?
2. How predictive are different graph based features in identifying the interests of a user?
The intuition behind this is the following: a user
interested in baseball will follow his favorite team,
say @SFGiants, while one interested in technology will follow @TechCrunch. Thus, the network
of a user represents his/her interest. Additionally,
the more a user (say, a huge fan of Star Trek) is
interested in a topic, higher will be his interaction
with @StarTrekMovie.
This, the primary goal of this project is to model
the interest profile of a Twitter user using the
network structure of the Twitter follower-friend
graph. Concretely, we explore various graph features to capture the level of influence exerted by
the followers and friends, and use this to predict
the interests of the user. Additionally, we use a
machine learning approach to build a supervised
model to predict the interest profile of a user.

4
4.1

Data
Data Collection

We obtained Twitter social graph data from the internet3 . The dataset contains 41.7 million nodes
and 1.47 billion edges. A dataset of tweets was
obtained from SNAP datasets. This data contains
476 million tweets that includes about 50 million
hashtags and 180 million URL entries4 . Since the
social graph dataset references users by a numeric
user-id and the tweets datasets does it through the
users screen name, a user-id to screen name map
obtained from 3 was used to link the two datasets.

www.google.com/insidesearch/features/search/knowledge.html 3 http://an.kaist.ac.kr/traces/WWW2010.html
4
www.facebook.com/about/graphsearch
http://snap.stanford.edu/data/bigdata/twitter7/
4.2

Data pre-processing

Since, we use data from different sources, a considerable amount of pre-processing was required
to get the data to a usable form. We use a MongoDB to store all data required for the project. We
start with the tweets dataset and use the user-id :
name map to insert the data into a db collection
with the following schema - user id, name, [list
of tweets] . From this, we subset users who have
a minimum of 50 tweets. Then, we use the Twitter graph data to obtain the list of followers and
followees for these users and form our dataset.

5

Mathematical Model

In this section, we describe the mathematical formulations of our project and define the terms that
are used in the rest of the report.
5.1

Identifying relevant subgraphs

As discussed in the data description, the Twitter
graph we deal with contains 41.7 million nodes
and 1.47 billion edges. Such a large graph can
clearly not be dealt with in its entirety due to the
memory and processing limits. The natural alternative is to consider only neighborhoods that relate to the node in focus. In fact, this fits our bill
perfectly as only nodes that are closest to the node
in focus, can possibly influence its interest profile.
Let Ga denote the subgraph for a node a , containing all nodes and edges that influence a. We used
two methods of arriving at the subgraph, denoted
G1 and G2,
• G1 (a) = {Φ(a) ∪ Ψ(a)}
• G2 (a) = {G1 (a) ∪ Ψ(G1 (a)) ∪ Φ(G1 (a))}
where

5.2

Interest Profile

The interest profile of a user I(a) is represented
as a probability distribution of his interest over the
set of categories. Let K be the total number of categories, then I(a) is a K dimensional vector, [pk ],
where pk denote the probability that a user is interested in category k relative to other categories.
Here, k = 1, 2, ., K
5.3

Interest Influence Model Framework

We hypothesize that the interest profile of a
user can be derived from the interest profiles
of the followers and that of their friends, using
appropriate weighting schemes. Particularly, we
propose two models for obtaining a user’s interest
profile:
Φ
Iw (a) =

1
w(a,b)
b∈Φ(a)

Ψ
Iw (a) =

1
w(a,b)
b∈Ψ(a)

w(a, b)I(b)
b∈Φ(a)

w(a, b)I(b)
b∈Ψ(a)

where,
Φ
• Iw (a) denotes the predicted interest profile
for user a based on Φ(a) (the set of followers
of a) using the weighting scheme w,
Ψ
• Iw (a) denotes the predicted interest profile
for user a based on Ψ(a) (the set of friends
of a) using the weighting scheme w and

• w(a, b) is the weighting factor that captures
the influence node b exerts on node a.
This represents the general framework, wherein
we use different weighting schemes and obtain
different predictions for the interest profile of user.
The various weighting schemes implemented are
discussed in Section 6.2

• Φ(a) denotes the set of followers of a
• Ψ(a) denotes the set of friends (those who
follow a) of a.
The subgraph G1 is useful in quantifying the
effects of as immediate neighbors on its interest
profile, while G2 is useful in accounting for the
cascading effect. For example, the influence then
nodes in G1 can have on a can be modeled as a
function of its neighbors using the subgraph G2 .
These methods of subgraph capture our requirements well and hence, other methods were not explored.

5.4

Composite Feature Model

The weighting schemes w(a, b) are so defined (explained in 6.2) to capture a particular aspect of the
relationship between a and b. Thus, a number of
interest profile predictions can be obtained by using different weighting schemes. Since, each of
these predictions uses a single aspect of the relationship, we propose a composite feature model
that takes into account all aspects by combining
the different predictions in an optimal proportion.
To design such a composite feature model, we
require a way of effectively combining the results
from the different weighting schemes. All weighting schemes are not expected to (and from our
results, do not) reflect the interest profile equally
well. Moreover, different weighting schemes work
well for different categories. Thus, we assign
a category-wise quality score to each weighting
scheme. This quality score is based on how well
the weighting scheme identifies the true interest
level of the user for that category.
To obtain these quality scores, we formulate a
category-wise regression problem. For the regression problem, the independent variables (features
/ x values) are the probability predictions obtained
under different weighting schemes for that category and the dependent variable (predicted variable / y value) is the true interest probability for
the user for that category. Solving this regression (curve fitting) problem, gives the coefficients
for different features, which represent the quality
score for each weighting scheme.
Using these quality scores, we obtain the interest prediction from the composite model as
followsI c (a) = [ic (a)]
k

(1)

ic (a) is the composite predicted interest level for
k
category k, given by
ic (a) =
k

1
Qkw
w∈W

Qkw ikw
w∈W

where
• W - set of all weighting schemes
• Qkw is the quality score for weighting
scheme w for category k
• ikw is the interest level for category k
predicted using the weighting scheme w
I c (a) is normalized to obtain a probability distribution.
5.5

Machine Learning Model

In addition to the graph based interest influence approach described above, we use a machine learning based predictive model to predict
the interest of a user using graph features. We
use a multi-label, multi-class supervised learning
model, where each user is represented by a vector
of features obtained from his graph and the variable to predict is the list of all interest categories
for the user.

6

Experimental Details

6.1

Obtaining interest profiles

The primary entity of the study is the interest profile of a user. Since the focus of our project is
to conduct a graph based interest modeling, we
adopt a simple approach to obtain the interest profile and do not explore other options. We use a
set of 5 categories - Sports, Entertainment, Food,
Health and Technology and map a user’s tweets
to a probability distribution over these topics. We
use a word list of topics and increment the count
for each topic if a word of that topic appears in
the user’s tweet. The distribution thus obtained is
normalized to get the probability distribution over
categories for that user, which represents the interest profile I(a) for user a.
For example, a tweet - “I love the new iPhone ”
contains the word “iPhone ” which is a part of the
words list for the topic “Technology ” and hence
will output a distribution [0,1,0,0,0]. We obtain
these topic-wise word lists by merging the lists
from the following sources5 6 .
6.2

Feature Engineering

As described in 5.2, the predicted interest profile
of a user is obtained using a weighted average of
the interest profiles of the user’s followers/friends.
Also, as previously described, we implement a variety of weighting schemes to incorporate different aspects (features) of the relationship between
the user and his network.
The features used are listed below. For each feature, we reason the use of the feature and give the
weighting scheme w used.
6.2.1

Baseline Weighting

All weights w(a, b) are defined to be 1. Thus, the
baseline method does a simple average of all the
interest profiles.
6.2.2

Retweet Weighting

A user highly interested in (say) T echnology
would not only follow a user (say @T echCrunch)
but is also more likely to interact more with that
user. Interactions in Twitter can be captured in
terms of ReTweets and Mentions. Thus, we use
a Retweet weighting scheme where
w(a, b) = number of times the user a has
retweeted a tweet of user b.
5
6

http:www.ourcommunity.com.au/tech/tech article.jsp?articleId=74
http://www.enchantedlearning.com/wordlist/
Since this weighting scheme can potentially
have zeros for a lot of users, we use a smoothened
measure,
w(a, b) = 1 + number of times the user a has
retweeted a tweet of user b
6.2.3

Mentions Weighting

Similar to the ReTweet weighting scheme, we use
the mentions to obtain Mentions Weighting, where
w(a, b) = number of times the user a has mentioned b in his tweet.
The smoothened measure is
w(a, b) = 1 + number of times the user a has
mentioned b in his tweet.
6.2.4

Mutual Followers Weighting

Another edge based feature is the number of nodes
the two nodes are mutually connected to. Twitter
graph, being a directed graph, we use two such
measures based on in-edges and out-edges.
w(a, b) = |Φ(a) ∩ Φ(b)|
The smoothened measure is w(a, b) = 1 +
|Φ(a) ∩ Φ(b)|
6.2.5

Mutual Friends Weighting

This is similar to mutual followers weightingw(a, b) = |Ψ(a) ∩ Ψ(b)|
The smoothened measure is w(a, b) =
1 + |Ψ(a) ∩ Ψ(b)|
All features described above are edge-based
measures. Next ,we list all the node based features
we develop. The intuition behind these features
is that different nodes have different influencing
capabilities and thus, the properties of the relevant
nodes for a user influence the interest profile of the
user. We implement three such features as given
below.
6.2.6

Follower bias

This measures the importance or popularity of the
person
w(a, b) = |Φ(b)|
6.2.7

Friend bias

This measures the relevance of the person.
w(a, b) = |Ψ(b)|
6.2.8

Tweets bias

This measures the level of activity of the person
w(a, b) = Number of tweets of user b

We use all the weighting schemes described
Φ
Ψ
above to obtain both Iw (a) and Iw (a).
6.3

Deriving topics of interest from interest
profile

Once we obtain the interest profile using these
methods, we derived the topics of interest using
two methods:
• Threshold: Select all topics whose probability (component in the interest profile) is more
than a threshold value. We used a threshold
1
of K , where K is the number of categories.
Topics = {k|Ik (a) > 1/K}
• ChooseTopM: Select M topics with the highest probability values. In our experiments, we
used a value of M = 2, since we deal with
only 5 categories.
6.4

Error metrics

To quantify the performance of our models, we
used three metrics - Precision, Recall and F1
scores for the true labels and the predicted labels
obtained.
6.5

Composite Feature Model

As described in 5.4, we use a regression model to
obtain the category-wise quality scores for each
weighting scheme. In particular, we used ridge
regression where the loss function is the linear
least squares function and regularization is given
by L2-norm. We identified the regularization coefficient using leave-one-out cross validation. The
regression model was then used to arrive at the
quality scores. These quality scores where then
used in conjunction with the interest profiles obtained from different weighting schemes to arrive
at the predicted interest profile using the composite model.
6.6

Machine Learning Model

For the machine learning based prediction task
explained in 5.5, we used a Random Forest
based classifier and validate the performance using
leave-one-out cross validation. The error metric
used is the F1 score. Additionally, we used a feature selection algorithm based on the feature importances calculated by the Random Forest classifier to identify the optimal subset of features. The
optimal set of features were then used for the prediction task.
7

Results and Analysis

Figures 1, 2 and 3 show the results (Precision, Recall and F1) obtained from the interest influence
model for different feature weighting schemes.
All results presented here are obtained by averaging the results for 100 users. We observe that the
general trend is that the values obtained using the
ChooseTopM method are higher than that obtained
using the Threshold method. This is attributed to
the fact that the ChooseTopM method is agnostic to the probability values and chooses just the
topics corresponding to the top M values. Since,
we use only a small number of categories in our
analysis, it is quite easy for the model to perform
better under ChooseTopM method. Contrast this
with the Threshold method, which chooses only
values that are higher than a threshold. Hence,
this method is better indicative of the actual performance of our approaches, given that we use a
simple approach based on tweets to identify the
interest profiles. Going forward, we use only the
Threshold method for analysis.
In the Threshold method, we observe that the
follower network gives slightly higher performance in terms of all of precision, recall and
F1 than the friend network. While all weighting
schemes give comparable performance, only a few
weighting schemes give better results. This is partially due to the fact that we use a limited data and
a basic approach to topic identification (in terms
of text matching) and primarily due to the fact that
each feature captures only one aspect of the interest influence.
This leads us on to the composite model, where
we combine the features as explained previously.
The results obtained using the composite model
using both the friend network and follower network are shown in Table 1. The composite model
gives a superior performance compared to the base
model in terms of F1 score for both the friend and
the follower network.
Table 2 shows the results obtained using the machine learning approach. The F1 score obtained
here is significantly higher than the interest influence model and the composite model. This indicates that a supervised model that learns from the
graph based features leverages the training effectively and gives a higher performance. Thus, using
the graph features in conjunction with a machine
learning approach is lucrative. Moreover, it is important to note that the dataset used consisted of

100 users and hence, using a larger dataset shall
certainly be expected to increase the performance.

8

Discussion

The results obtained using the graph based approaches were encouragingly positive. We dug
deep into the results to understand how the performance varies for different users. In particular,
we wanted to identify if some graph property of
the user was indicative of the performance. Our
analysis suggests that clustering coefficient of a
user is indeed representative of the efficiency of
the graph based model to predict his/her interest
profile. Users with high clustering coefficient obtained high F1 scores, while those with lower clustering coefficient values, got low F1 scores. Some
representative values are shown in Table 3

9

Conclusion and Future Work

In this project, we have explored various graph
features for the task of predicting the interest profiles of a user based on his/her friends and followers. The techniques devised are promising and
can definitely be extended to improve the performance. We focused only on the network based
features in this study and hence used simple procedures for other aspects. For example, we have
used the tweets of the followers/friends of the
user to extract the interest profiles of the followers/friends. We could extend this to include the
biography of the followers/friends obtained from
their Twitter user profile. We have used a naive
method to extract the probability distribution of
the tweets over the different categories for a user
where we directly compare the words in the tweets
of the user to the wordlists for each category.
This can be improved to check for words with
edit-distances of 1 to take into account common
spelling errors. This becomes important particularly in Twitter where the language used in informal and error-prone. Moreover, we use a set of
5 pre-defined categories. This can be increased to
include more categories.

References
Kwan Hui Lim and Amitava Datta. 2013. Interest classification of twitter users using wikipedia.
In Proceedings of the 9th International Symposium
on Open Collaboration, WikiSym ’13, pages 22:1–
22:2, New York, NY, USA. ACM.
Figure 1: Interest Influence Model : Precision

Figure 2: Interest Influence Model : Recall

Figure 3: Interest Influence Model : F1

Baseline - Friend network
Composite - Friend network
Baseline - Follower network
Composite - Follower network

Precision
0.5325
0.5966
0.5528
0.6498

Recall
0.6128
0.7174
0.6992
0.6908

Table 1: Composite Model : Results
Precision
0.8079

Recall
0.7232

F1
0.7277

Table 2: Classifier Model: Results

F1
0.5439
0.6174
0.5882
0.6300
Clustering coefficient
0.024
0.08
0.41
1.56

F1
0
0.5
0.5
0.6667

Table 3: Clustering coefficient values and F1 scores for sample users

Matthew Michelson and Sofus A. Macskassy. 2010.
Discovering users’ topics of interest on twitter: A
first look. In Proceedings of the Fourth Workshop on
Analytics for Noisy Unstructured Text Data, AND
’10, pages 73–80, New York, NY, USA. ACM.

Más contenido relacionado

La actualidad más candente

IRJET - Implementation of Twitter Sentimental Analysis According to Hash Tag
 IRJET - Implementation of Twitter Sentimental Analysis According to Hash Tag IRJET - Implementation of Twitter Sentimental Analysis According to Hash Tag
IRJET - Implementation of Twitter Sentimental Analysis According to Hash TagIRJET Journal
 
security enhanced content sharing in social io t a directed hypergraph based ...
security enhanced content sharing in social io t a directed hypergraph based ...security enhanced content sharing in social io t a directed hypergraph based ...
security enhanced content sharing in social io t a directed hypergraph based ...Venkat Projects
 
User Behaviour Modeling on Financial Message Boards
User Behaviour Modeling on Financial Message BoardsUser Behaviour Modeling on Financial Message Boards
User Behaviour Modeling on Financial Message Boardsprithan
 
Exploration of Imputation Methods for Missingness in Image Segmentation
Exploration of Imputation Methods for Missingness in Image SegmentationExploration of Imputation Methods for Missingness in Image Segmentation
Exploration of Imputation Methods for Missingness in Image SegmentationChristopher Peter Makris
 
IRJET - Twitter Spam Detection using Cobweb
IRJET - Twitter Spam Detection using CobwebIRJET - Twitter Spam Detection using Cobweb
IRJET - Twitter Spam Detection using CobwebIRJET Journal
 
Ensemble Learning in Recommender Systems: Combining Multiple User Interaction...
Ensemble Learning in Recommender Systems: Combining Multiple User Interaction...Ensemble Learning in Recommender Systems: Combining Multiple User Interaction...
Ensemble Learning in Recommender Systems: Combining Multiple User Interaction...Arthur Fortes
 
11. Efficient Image Based Searching for Improving User Search Image Goals
11. Efficient Image Based Searching for Improving User Search Image Goals11. Efficient Image Based Searching for Improving User Search Image Goals
11. Efficient Image Based Searching for Improving User Search Image GoalsINFOGAIN PUBLICATION
 
Socially Shared Images with Automated Annotation Process by Using Improved Us...
Socially Shared Images with Automated Annotation Process by Using Improved Us...Socially Shared Images with Automated Annotation Process by Using Improved Us...
Socially Shared Images with Automated Annotation Process by Using Improved Us...IJERA Editor
 
7239edefaf061ba9818666362c0e6aaa
7239edefaf061ba9818666362c0e6aaa7239edefaf061ba9818666362c0e6aaa
7239edefaf061ba9818666362c0e6aaaAnas Metasploit
 
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...ijcsa
 
A Novel Approach for User Search Results Using Feedback Sessions
A Novel Approach for User Search Results Using Feedback  SessionsA Novel Approach for User Search Results Using Feedback  Sessions
A Novel Approach for User Search Results Using Feedback SessionsIJMER
 
Social media recommendation based on people and tags (final)
Social media recommendation based on people and tags (final)Social media recommendation based on people and tags (final)
Social media recommendation based on people and tags (final)es712
 
Sentiment analysis in twitter using python
Sentiment analysis in twitter using pythonSentiment analysis in twitter using python
Sentiment analysis in twitter using pythonCloudTechnologies
 

La actualidad más candente (19)

Paper9
Paper9Paper9
Paper9
 
IRJET - Implementation of Twitter Sentimental Analysis According to Hash Tag
 IRJET - Implementation of Twitter Sentimental Analysis According to Hash Tag IRJET - Implementation of Twitter Sentimental Analysis According to Hash Tag
IRJET - Implementation of Twitter Sentimental Analysis According to Hash Tag
 
Report
ReportReport
Report
 
security enhanced content sharing in social io t a directed hypergraph based ...
security enhanced content sharing in social io t a directed hypergraph based ...security enhanced content sharing in social io t a directed hypergraph based ...
security enhanced content sharing in social io t a directed hypergraph based ...
 
User Behaviour Modeling on Financial Message Boards
User Behaviour Modeling on Financial Message BoardsUser Behaviour Modeling on Financial Message Boards
User Behaviour Modeling on Financial Message Boards
 
Exploration of Imputation Methods for Missingness in Image Segmentation
Exploration of Imputation Methods for Missingness in Image SegmentationExploration of Imputation Methods for Missingness in Image Segmentation
Exploration of Imputation Methods for Missingness in Image Segmentation
 
757
757757
757
 
lec14_ref.pdf
lec14_ref.pdflec14_ref.pdf
lec14_ref.pdf
 
IRJET - Twitter Spam Detection using Cobweb
IRJET - Twitter Spam Detection using CobwebIRJET - Twitter Spam Detection using Cobweb
IRJET - Twitter Spam Detection using Cobweb
 
Ensemble Learning in Recommender Systems: Combining Multiple User Interaction...
Ensemble Learning in Recommender Systems: Combining Multiple User Interaction...Ensemble Learning in Recommender Systems: Combining Multiple User Interaction...
Ensemble Learning in Recommender Systems: Combining Multiple User Interaction...
 
11. Efficient Image Based Searching for Improving User Search Image Goals
11. Efficient Image Based Searching for Improving User Search Image Goals11. Efficient Image Based Searching for Improving User Search Image Goals
11. Efficient Image Based Searching for Improving User Search Image Goals
 
Socially Shared Images with Automated Annotation Process by Using Improved Us...
Socially Shared Images with Automated Annotation Process by Using Improved Us...Socially Shared Images with Automated Annotation Process by Using Improved Us...
Socially Shared Images with Automated Annotation Process by Using Improved Us...
 
7239edefaf061ba9818666362c0e6aaa
7239edefaf061ba9818666362c0e6aaa7239edefaf061ba9818666362c0e6aaa
7239edefaf061ba9818666362c0e6aaa
 
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
A Proposal on Social Tagging Systems Using Tensor Reduction and Controlling R...
 
Ijsea04031005
Ijsea04031005Ijsea04031005
Ijsea04031005
 
A Novel Approach for User Search Results Using Feedback Sessions
A Novel Approach for User Search Results Using Feedback  SessionsA Novel Approach for User Search Results Using Feedback  Sessions
A Novel Approach for User Search Results Using Feedback Sessions
 
Final Report
Final ReportFinal Report
Final Report
 
Social media recommendation based on people and tags (final)
Social media recommendation based on people and tags (final)Social media recommendation based on people and tags (final)
Social media recommendation based on people and tags (final)
 
Sentiment analysis in twitter using python
Sentiment analysis in twitter using pythonSentiment analysis in twitter using python
Sentiment analysis in twitter using python
 

Similar a Graph Based User Interest Modeling in Twitter

Social Friend Overlying Communities Based on Social Network Context
Social Friend Overlying Communities Based on Social Network ContextSocial Friend Overlying Communities Based on Social Network Context
Social Friend Overlying Communities Based on Social Network ContextIRJET Journal
 
EffectiveCrowdSourcingForProductFeatureIdeation v18
EffectiveCrowdSourcingForProductFeatureIdeation v18EffectiveCrowdSourcingForProductFeatureIdeation v18
EffectiveCrowdSourcingForProductFeatureIdeation v18Karthikeyan Rajasekharan
 
srd117.final.512Spring2016
srd117.final.512Spring2016srd117.final.512Spring2016
srd117.final.512Spring2016Saurabh Deochake
 
A Survey on Recommendation System based on Knowledge Graph and Machine Learning
A Survey on Recommendation System based on Knowledge Graph and Machine LearningA Survey on Recommendation System based on Knowledge Graph and Machine Learning
A Survey on Recommendation System based on Knowledge Graph and Machine LearningIRJET Journal
 
cs224w-79-final
cs224w-79-finalcs224w-79-final
cs224w-79-finalDarren Koh
 
Profile Analysis of Users in Data Analytics Domain
Profile Analysis of   Users in Data Analytics DomainProfile Analysis of   Users in Data Analytics Domain
Profile Analysis of Users in Data Analytics DomainDrjabez
 
Social Media Content Analyser
Social Media Content AnalyserSocial Media Content Analyser
Social Media Content AnalyserIRJET Journal
 
An improvised model for identifying influential nodes in multi parameter soci...
An improvised model for identifying influential nodes in multi parameter soci...An improvised model for identifying influential nodes in multi parameter soci...
An improvised model for identifying influential nodes in multi parameter soci...csandit
 
Marketing analysis
Marketing analysisMarketing analysis
Marketing analysisGaurav Dubey
 
COMMUNITY DETECTION IN THE COLLABORATIVE WEB
COMMUNITY DETECTION IN THE COLLABORATIVE WEBCOMMUNITY DETECTION IN THE COLLABORATIVE WEB
COMMUNITY DETECTION IN THE COLLABORATIVE WEBIJMIT JOURNAL
 
Hybrid Personalized Recommender System Using Modified Fuzzy C-Means Clusterin...
Hybrid Personalized Recommender System Using Modified Fuzzy C-Means Clusterin...Hybrid Personalized Recommender System Using Modified Fuzzy C-Means Clusterin...
Hybrid Personalized Recommender System Using Modified Fuzzy C-Means Clusterin...Waqas Tariq
 
Testing Vitality Ranking and Prediction in Social Networking Services With Dy...
Testing Vitality Ranking and Prediction in Social Networking Services With Dy...Testing Vitality Ranking and Prediction in Social Networking Services With Dy...
Testing Vitality Ranking and Prediction in Social Networking Services With Dy...reshma reshu
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
An Experiment In Cross-Representation Mediation Of User Models
An Experiment In Cross-Representation Mediation Of User ModelsAn Experiment In Cross-Representation Mediation Of User Models
An Experiment In Cross-Representation Mediation Of User ModelsDaniel Wachtel
 
Alluding Communities in Social Networking Websites using Enhanced Quasi-cliqu...
Alluding Communities in Social Networking Websites using Enhanced Quasi-cliqu...Alluding Communities in Social Networking Websites using Enhanced Quasi-cliqu...
Alluding Communities in Social Networking Websites using Enhanced Quasi-cliqu...IJMTST Journal
 
Advances In Collaborative Filtering
Advances In Collaborative FilteringAdvances In Collaborative Filtering
Advances In Collaborative FilteringScott Donald
 
Online Social Netowrks- report
Online Social Netowrks- reportOnline Social Netowrks- report
Online Social Netowrks- reportAjay Karri
 

Similar a Graph Based User Interest Modeling in Twitter (20)

Social Friend Overlying Communities Based on Social Network Context
Social Friend Overlying Communities Based on Social Network ContextSocial Friend Overlying Communities Based on Social Network Context
Social Friend Overlying Communities Based on Social Network Context
 
EffectiveCrowdSourcingForProductFeatureIdeation v18
EffectiveCrowdSourcingForProductFeatureIdeation v18EffectiveCrowdSourcingForProductFeatureIdeation v18
EffectiveCrowdSourcingForProductFeatureIdeation v18
 
B017650510
B017650510B017650510
B017650510
 
srd117.final.512Spring2016
srd117.final.512Spring2016srd117.final.512Spring2016
srd117.final.512Spring2016
 
A Survey on Recommendation System based on Knowledge Graph and Machine Learning
A Survey on Recommendation System based on Knowledge Graph and Machine LearningA Survey on Recommendation System based on Knowledge Graph and Machine Learning
A Survey on Recommendation System based on Knowledge Graph and Machine Learning
 
cs224w-79-final
cs224w-79-finalcs224w-79-final
cs224w-79-final
 
V3 i35
V3 i35V3 i35
V3 i35
 
Profile Analysis of Users in Data Analytics Domain
Profile Analysis of   Users in Data Analytics DomainProfile Analysis of   Users in Data Analytics Domain
Profile Analysis of Users in Data Analytics Domain
 
Social Media Content Analyser
Social Media Content AnalyserSocial Media Content Analyser
Social Media Content Analyser
 
An improvised model for identifying influential nodes in multi parameter soci...
An improvised model for identifying influential nodes in multi parameter soci...An improvised model for identifying influential nodes in multi parameter soci...
An improvised model for identifying influential nodes in multi parameter soci...
 
Marketing analysis
Marketing analysisMarketing analysis
Marketing analysis
 
Data Science Machine
Data Science Machine Data Science Machine
Data Science Machine
 
COMMUNITY DETECTION IN THE COLLABORATIVE WEB
COMMUNITY DETECTION IN THE COLLABORATIVE WEBCOMMUNITY DETECTION IN THE COLLABORATIVE WEB
COMMUNITY DETECTION IN THE COLLABORATIVE WEB
 
Hybrid Personalized Recommender System Using Modified Fuzzy C-Means Clusterin...
Hybrid Personalized Recommender System Using Modified Fuzzy C-Means Clusterin...Hybrid Personalized Recommender System Using Modified Fuzzy C-Means Clusterin...
Hybrid Personalized Recommender System Using Modified Fuzzy C-Means Clusterin...
 
Testing Vitality Ranking and Prediction in Social Networking Services With Dy...
Testing Vitality Ranking and Prediction in Social Networking Services With Dy...Testing Vitality Ranking and Prediction in Social Networking Services With Dy...
Testing Vitality Ranking and Prediction in Social Networking Services With Dy...
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
An Experiment In Cross-Representation Mediation Of User Models
An Experiment In Cross-Representation Mediation Of User ModelsAn Experiment In Cross-Representation Mediation Of User Models
An Experiment In Cross-Representation Mediation Of User Models
 
Alluding Communities in Social Networking Websites using Enhanced Quasi-cliqu...
Alluding Communities in Social Networking Websites using Enhanced Quasi-cliqu...Alluding Communities in Social Networking Websites using Enhanced Quasi-cliqu...
Alluding Communities in Social Networking Websites using Enhanced Quasi-cliqu...
 
Advances In Collaborative Filtering
Advances In Collaborative FilteringAdvances In Collaborative Filtering
Advances In Collaborative Filtering
 
Online Social Netowrks- report
Online Social Netowrks- reportOnline Social Netowrks- report
Online Social Netowrks- report
 

Último

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Último (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Graph Based User Interest Modeling in Twitter

  • 1. Graph based User Interest Modeling in Twitter CS 224W : Final Project , Group 41 Aparna Krishnan aparnak@stanford.edu 1 Motivation Interest graph is a comparatively recent phenomenon in social media, building on the lines of Knowledge Graph1 and Social Graph2 . Simply put, an interest graph is a representation of relationship between people and things that they are interested in. Companies like Netflix and Facebook are already leveraging Interest graph to power their recommendations. Additionally, these interest graphs fuel behavioral profiling based on interests for advertisement targeting and audience analytics. One social network that inherently presents itself as an interest graph is Twitter. In this project, we explore a graph based approach to user-interest modeling in Twitter. 2 Related Work In the light of the current push towards development of an interest graph, identification and characterization of user interest in social media is very relevant. Most works focusing on identifying user interest on Twitter use text analysis techniques like Bag of Words, TF-IDF or Latent Dirichlet Allocation [Michelson and Macskassy (2010)]. This paper proposes a method to discover twitter users topics of interests based on the entities in their tweets. Another common method used to extract user interests is to use a knowledge corpus as in [Lim and Datta (2013)] where the authors infer the users topics of interest from the domains of the celebrities followed by the user. Taking cue from these works, we hypothesize that since Twitter as a social medium is primarily based on who we follow, the properties of network structure of a user are potentially indicative of his/her interest profile. 1 2 Raghav Ramesh raghavr@stanford.edu 3 Problem Definition The high level goal of the project is to study the following two questions: 1. How well can we gauge the interest profile of a user based on his network structure? 2. How predictive are different graph based features in identifying the interests of a user? The intuition behind this is the following: a user interested in baseball will follow his favorite team, say @SFGiants, while one interested in technology will follow @TechCrunch. Thus, the network of a user represents his/her interest. Additionally, the more a user (say, a huge fan of Star Trek) is interested in a topic, higher will be his interaction with @StarTrekMovie. This, the primary goal of this project is to model the interest profile of a Twitter user using the network structure of the Twitter follower-friend graph. Concretely, we explore various graph features to capture the level of influence exerted by the followers and friends, and use this to predict the interests of the user. Additionally, we use a machine learning approach to build a supervised model to predict the interest profile of a user. 4 4.1 Data Data Collection We obtained Twitter social graph data from the internet3 . The dataset contains 41.7 million nodes and 1.47 billion edges. A dataset of tweets was obtained from SNAP datasets. This data contains 476 million tweets that includes about 50 million hashtags and 180 million URL entries4 . Since the social graph dataset references users by a numeric user-id and the tweets datasets does it through the users screen name, a user-id to screen name map obtained from 3 was used to link the two datasets. www.google.com/insidesearch/features/search/knowledge.html 3 http://an.kaist.ac.kr/traces/WWW2010.html 4 www.facebook.com/about/graphsearch http://snap.stanford.edu/data/bigdata/twitter7/
  • 2. 4.2 Data pre-processing Since, we use data from different sources, a considerable amount of pre-processing was required to get the data to a usable form. We use a MongoDB to store all data required for the project. We start with the tweets dataset and use the user-id : name map to insert the data into a db collection with the following schema - user id, name, [list of tweets] . From this, we subset users who have a minimum of 50 tweets. Then, we use the Twitter graph data to obtain the list of followers and followees for these users and form our dataset. 5 Mathematical Model In this section, we describe the mathematical formulations of our project and define the terms that are used in the rest of the report. 5.1 Identifying relevant subgraphs As discussed in the data description, the Twitter graph we deal with contains 41.7 million nodes and 1.47 billion edges. Such a large graph can clearly not be dealt with in its entirety due to the memory and processing limits. The natural alternative is to consider only neighborhoods that relate to the node in focus. In fact, this fits our bill perfectly as only nodes that are closest to the node in focus, can possibly influence its interest profile. Let Ga denote the subgraph for a node a , containing all nodes and edges that influence a. We used two methods of arriving at the subgraph, denoted G1 and G2, • G1 (a) = {Φ(a) ∪ Ψ(a)} • G2 (a) = {G1 (a) ∪ Ψ(G1 (a)) ∪ Φ(G1 (a))} where 5.2 Interest Profile The interest profile of a user I(a) is represented as a probability distribution of his interest over the set of categories. Let K be the total number of categories, then I(a) is a K dimensional vector, [pk ], where pk denote the probability that a user is interested in category k relative to other categories. Here, k = 1, 2, ., K 5.3 Interest Influence Model Framework We hypothesize that the interest profile of a user can be derived from the interest profiles of the followers and that of their friends, using appropriate weighting schemes. Particularly, we propose two models for obtaining a user’s interest profile: Φ Iw (a) = 1 w(a,b) b∈Φ(a) Ψ Iw (a) = 1 w(a,b) b∈Ψ(a) w(a, b)I(b) b∈Φ(a) w(a, b)I(b) b∈Ψ(a) where, Φ • Iw (a) denotes the predicted interest profile for user a based on Φ(a) (the set of followers of a) using the weighting scheme w, Ψ • Iw (a) denotes the predicted interest profile for user a based on Ψ(a) (the set of friends of a) using the weighting scheme w and • w(a, b) is the weighting factor that captures the influence node b exerts on node a. This represents the general framework, wherein we use different weighting schemes and obtain different predictions for the interest profile of user. The various weighting schemes implemented are discussed in Section 6.2 • Φ(a) denotes the set of followers of a • Ψ(a) denotes the set of friends (those who follow a) of a. The subgraph G1 is useful in quantifying the effects of as immediate neighbors on its interest profile, while G2 is useful in accounting for the cascading effect. For example, the influence then nodes in G1 can have on a can be modeled as a function of its neighbors using the subgraph G2 . These methods of subgraph capture our requirements well and hence, other methods were not explored. 5.4 Composite Feature Model The weighting schemes w(a, b) are so defined (explained in 6.2) to capture a particular aspect of the relationship between a and b. Thus, a number of interest profile predictions can be obtained by using different weighting schemes. Since, each of these predictions uses a single aspect of the relationship, we propose a composite feature model that takes into account all aspects by combining the different predictions in an optimal proportion. To design such a composite feature model, we require a way of effectively combining the results
  • 3. from the different weighting schemes. All weighting schemes are not expected to (and from our results, do not) reflect the interest profile equally well. Moreover, different weighting schemes work well for different categories. Thus, we assign a category-wise quality score to each weighting scheme. This quality score is based on how well the weighting scheme identifies the true interest level of the user for that category. To obtain these quality scores, we formulate a category-wise regression problem. For the regression problem, the independent variables (features / x values) are the probability predictions obtained under different weighting schemes for that category and the dependent variable (predicted variable / y value) is the true interest probability for the user for that category. Solving this regression (curve fitting) problem, gives the coefficients for different features, which represent the quality score for each weighting scheme. Using these quality scores, we obtain the interest prediction from the composite model as followsI c (a) = [ic (a)] k (1) ic (a) is the composite predicted interest level for k category k, given by ic (a) = k 1 Qkw w∈W Qkw ikw w∈W where • W - set of all weighting schemes • Qkw is the quality score for weighting scheme w for category k • ikw is the interest level for category k predicted using the weighting scheme w I c (a) is normalized to obtain a probability distribution. 5.5 Machine Learning Model In addition to the graph based interest influence approach described above, we use a machine learning based predictive model to predict the interest of a user using graph features. We use a multi-label, multi-class supervised learning model, where each user is represented by a vector of features obtained from his graph and the variable to predict is the list of all interest categories for the user. 6 Experimental Details 6.1 Obtaining interest profiles The primary entity of the study is the interest profile of a user. Since the focus of our project is to conduct a graph based interest modeling, we adopt a simple approach to obtain the interest profile and do not explore other options. We use a set of 5 categories - Sports, Entertainment, Food, Health and Technology and map a user’s tweets to a probability distribution over these topics. We use a word list of topics and increment the count for each topic if a word of that topic appears in the user’s tweet. The distribution thus obtained is normalized to get the probability distribution over categories for that user, which represents the interest profile I(a) for user a. For example, a tweet - “I love the new iPhone ” contains the word “iPhone ” which is a part of the words list for the topic “Technology ” and hence will output a distribution [0,1,0,0,0]. We obtain these topic-wise word lists by merging the lists from the following sources5 6 . 6.2 Feature Engineering As described in 5.2, the predicted interest profile of a user is obtained using a weighted average of the interest profiles of the user’s followers/friends. Also, as previously described, we implement a variety of weighting schemes to incorporate different aspects (features) of the relationship between the user and his network. The features used are listed below. For each feature, we reason the use of the feature and give the weighting scheme w used. 6.2.1 Baseline Weighting All weights w(a, b) are defined to be 1. Thus, the baseline method does a simple average of all the interest profiles. 6.2.2 Retweet Weighting A user highly interested in (say) T echnology would not only follow a user (say @T echCrunch) but is also more likely to interact more with that user. Interactions in Twitter can be captured in terms of ReTweets and Mentions. Thus, we use a Retweet weighting scheme where w(a, b) = number of times the user a has retweeted a tweet of user b. 5 6 http:www.ourcommunity.com.au/tech/tech article.jsp?articleId=74 http://www.enchantedlearning.com/wordlist/
  • 4. Since this weighting scheme can potentially have zeros for a lot of users, we use a smoothened measure, w(a, b) = 1 + number of times the user a has retweeted a tweet of user b 6.2.3 Mentions Weighting Similar to the ReTweet weighting scheme, we use the mentions to obtain Mentions Weighting, where w(a, b) = number of times the user a has mentioned b in his tweet. The smoothened measure is w(a, b) = 1 + number of times the user a has mentioned b in his tweet. 6.2.4 Mutual Followers Weighting Another edge based feature is the number of nodes the two nodes are mutually connected to. Twitter graph, being a directed graph, we use two such measures based on in-edges and out-edges. w(a, b) = |Φ(a) ∩ Φ(b)| The smoothened measure is w(a, b) = 1 + |Φ(a) ∩ Φ(b)| 6.2.5 Mutual Friends Weighting This is similar to mutual followers weightingw(a, b) = |Ψ(a) ∩ Ψ(b)| The smoothened measure is w(a, b) = 1 + |Ψ(a) ∩ Ψ(b)| All features described above are edge-based measures. Next ,we list all the node based features we develop. The intuition behind these features is that different nodes have different influencing capabilities and thus, the properties of the relevant nodes for a user influence the interest profile of the user. We implement three such features as given below. 6.2.6 Follower bias This measures the importance or popularity of the person w(a, b) = |Φ(b)| 6.2.7 Friend bias This measures the relevance of the person. w(a, b) = |Ψ(b)| 6.2.8 Tweets bias This measures the level of activity of the person w(a, b) = Number of tweets of user b We use all the weighting schemes described Φ Ψ above to obtain both Iw (a) and Iw (a). 6.3 Deriving topics of interest from interest profile Once we obtain the interest profile using these methods, we derived the topics of interest using two methods: • Threshold: Select all topics whose probability (component in the interest profile) is more than a threshold value. We used a threshold 1 of K , where K is the number of categories. Topics = {k|Ik (a) > 1/K} • ChooseTopM: Select M topics with the highest probability values. In our experiments, we used a value of M = 2, since we deal with only 5 categories. 6.4 Error metrics To quantify the performance of our models, we used three metrics - Precision, Recall and F1 scores for the true labels and the predicted labels obtained. 6.5 Composite Feature Model As described in 5.4, we use a regression model to obtain the category-wise quality scores for each weighting scheme. In particular, we used ridge regression where the loss function is the linear least squares function and regularization is given by L2-norm. We identified the regularization coefficient using leave-one-out cross validation. The regression model was then used to arrive at the quality scores. These quality scores where then used in conjunction with the interest profiles obtained from different weighting schemes to arrive at the predicted interest profile using the composite model. 6.6 Machine Learning Model For the machine learning based prediction task explained in 5.5, we used a Random Forest based classifier and validate the performance using leave-one-out cross validation. The error metric used is the F1 score. Additionally, we used a feature selection algorithm based on the feature importances calculated by the Random Forest classifier to identify the optimal subset of features. The optimal set of features were then used for the prediction task.
  • 5. 7 Results and Analysis Figures 1, 2 and 3 show the results (Precision, Recall and F1) obtained from the interest influence model for different feature weighting schemes. All results presented here are obtained by averaging the results for 100 users. We observe that the general trend is that the values obtained using the ChooseTopM method are higher than that obtained using the Threshold method. This is attributed to the fact that the ChooseTopM method is agnostic to the probability values and chooses just the topics corresponding to the top M values. Since, we use only a small number of categories in our analysis, it is quite easy for the model to perform better under ChooseTopM method. Contrast this with the Threshold method, which chooses only values that are higher than a threshold. Hence, this method is better indicative of the actual performance of our approaches, given that we use a simple approach based on tweets to identify the interest profiles. Going forward, we use only the Threshold method for analysis. In the Threshold method, we observe that the follower network gives slightly higher performance in terms of all of precision, recall and F1 than the friend network. While all weighting schemes give comparable performance, only a few weighting schemes give better results. This is partially due to the fact that we use a limited data and a basic approach to topic identification (in terms of text matching) and primarily due to the fact that each feature captures only one aspect of the interest influence. This leads us on to the composite model, where we combine the features as explained previously. The results obtained using the composite model using both the friend network and follower network are shown in Table 1. The composite model gives a superior performance compared to the base model in terms of F1 score for both the friend and the follower network. Table 2 shows the results obtained using the machine learning approach. The F1 score obtained here is significantly higher than the interest influence model and the composite model. This indicates that a supervised model that learns from the graph based features leverages the training effectively and gives a higher performance. Thus, using the graph features in conjunction with a machine learning approach is lucrative. Moreover, it is important to note that the dataset used consisted of 100 users and hence, using a larger dataset shall certainly be expected to increase the performance. 8 Discussion The results obtained using the graph based approaches were encouragingly positive. We dug deep into the results to understand how the performance varies for different users. In particular, we wanted to identify if some graph property of the user was indicative of the performance. Our analysis suggests that clustering coefficient of a user is indeed representative of the efficiency of the graph based model to predict his/her interest profile. Users with high clustering coefficient obtained high F1 scores, while those with lower clustering coefficient values, got low F1 scores. Some representative values are shown in Table 3 9 Conclusion and Future Work In this project, we have explored various graph features for the task of predicting the interest profiles of a user based on his/her friends and followers. The techniques devised are promising and can definitely be extended to improve the performance. We focused only on the network based features in this study and hence used simple procedures for other aspects. For example, we have used the tweets of the followers/friends of the user to extract the interest profiles of the followers/friends. We could extend this to include the biography of the followers/friends obtained from their Twitter user profile. We have used a naive method to extract the probability distribution of the tweets over the different categories for a user where we directly compare the words in the tweets of the user to the wordlists for each category. This can be improved to check for words with edit-distances of 1 to take into account common spelling errors. This becomes important particularly in Twitter where the language used in informal and error-prone. Moreover, we use a set of 5 pre-defined categories. This can be increased to include more categories. References Kwan Hui Lim and Amitava Datta. 2013. Interest classification of twitter users using wikipedia. In Proceedings of the 9th International Symposium on Open Collaboration, WikiSym ’13, pages 22:1– 22:2, New York, NY, USA. ACM.
  • 6. Figure 1: Interest Influence Model : Precision Figure 2: Interest Influence Model : Recall Figure 3: Interest Influence Model : F1 Baseline - Friend network Composite - Friend network Baseline - Follower network Composite - Follower network Precision 0.5325 0.5966 0.5528 0.6498 Recall 0.6128 0.7174 0.6992 0.6908 Table 1: Composite Model : Results Precision 0.8079 Recall 0.7232 F1 0.7277 Table 2: Classifier Model: Results F1 0.5439 0.6174 0.5882 0.6300
  • 7. Clustering coefficient 0.024 0.08 0.41 1.56 F1 0 0.5 0.5 0.6667 Table 3: Clustering coefficient values and F1 scores for sample users Matthew Michelson and Sofus A. Macskassy. 2010. Discovering users’ topics of interest on twitter: A first look. In Proceedings of the Fourth Workshop on Analytics for Noisy Unstructured Text Data, AND ’10, pages 73–80, New York, NY, USA. ACM.