Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Towards trust-aware recommender systems
Alberto Lumbreras
Ricard Gavaldà (Advisor)
July 2012
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
1. Introduction
2. Recommender systems
3. Related work
4. A recommender system for Twitter
5. Experiments
6. Conclusions
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
1. Introduction
2. Recommender systems
3. Related work
4. A recommender system for Twitter
5. Experiments
6. Conclusions
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Introduction
The paradox of choice: "more is less"
Recommender systems to reduce
information overload
Social networks information
to enhance recommendations
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Aims of the Thesis
Recommend tweets
to users based on their
social network information
Studying the concept of trust in Twitter
Can trust improve tweet recommendations?
What other techniques are useful?
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
1. Introduction
2. Recommender systems
3. Related work
4. A recommender system for Twitter
5. Experiments
6. Conclusions
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Recommender systems
Collaborative Filtering:
• Look at "similar users" (similar ratings)
• Average their ratings weighted by closeness.
• Sparsity
• Cold-start problem
Content Based:
• Based on items similarity / machine learning
• Features extracted automatically or by experts
• Cold-start problem
• What features are relevant?
Trust-aware:
• Use trust to enhance recommendation methods
• What is trust?
• How to compute and propagate trust?
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Computing Trust
Direct trust computation:
• Explicit: Users annotations
• Implicit: Inferred from users’ behavior and/or interactions
Trust propagation:
• Algorithms fit network properties (decay, trust horizon,...)
• Network as Markov Chain: PageRank, EigenTrust...
• ...
Trust-aware recommendations:
• Trust + Collaborative Filtering
• Trust + Content Based Filtering
• ...
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
1. Introduction
2. Recommender systems
3. Related work
4. A recommender system for Twitter
5. Experiments
6. Conclusions
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Related work
TidalTrust:
• Movie recommendation.
• Customized algorithm for trust propagation
• Direct trust explicitly annotated by users (0-10 range)
• Pro: Do not normalize trust
• Con: Requires annotated direct trust
EigenTrust:
• Reputation in P2P networks
• Direct trust inferred from proportion of successful downloads
• Trust propagation by Random Walk
• Distributed computation
• Pro: Simple algorithm
• Con: Do not explicitly consider network properties
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
1. Introduction
2. Recommender systems
3. Related work
4. A recommender system for Twitter
5. Experiments
6. Conclusions
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Goals and challenges
GOAL:
Recommend tweets to users based on their social network information
CHALLENGES:
In GETTING the data:
• APIs limits
• Implement a crawler
• Crawling criteria
In ANALYZING the data:
• No explicit feedback mechanism
• Textual items of 140 characters
• Items volatility (hours or days)
• Very high sparsity (items rated (retweets) by few users)
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Contributions
Trust metric (for social networks)
Trust-aware crawler (for social networks)
Recommender system prototype
Analysis of trust properties in Twitter
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Computing trust in Twitter
Interactions in Twitter
tweet:
• @xamat: Markov Random Fields for #recsys: http://t.co/zHggOl2r
mention:
• @bob: Nice tutorial @xamat!
• @bob: Not a very good tutorial @xamat...
• trust or distrust (assumption: mostly trust)
retweet (forward) :
• @charles: RT "@xamat: Markov Random Fields for #recsys: http://t.co/zHggOl2r"
• @charles: So bad! RT "@xamat: Markov Random Fields for #recsys:
http://t.co/zHggOl2r"
• trust or distrust (observation: mostly trust)
favorite:
• store a friend’s tweet
• observation: mostly trust
follow/unfollow :
• users subscribe/unsubscribe to other users publications
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Computing trust in Twitter
Direct trust
Mentions and retweets as a sign of trust
Trust tij as proportion of interactions of user i with user j.
(m) (rt)
wNij + (1 − w )Nij
tij = (1)
Ni
Temporal decay of interactions:
Ni (t) = λNi (t) + (1 − λ)Ni (t − 1) (2)
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Computing trust in Twitter
Trust propagation through random walk
Step 1: With direct trusts, build transition probabilities matrix P
0 0.2 0.8 0
0 0 0.5 0.5
P=
0
0 0 1
0.3 0.3 0.3 0
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Computing trust in Twitter
Trust propagation through random walk
Step 2: Propagate trust
1
T3 = (α1 P +α2 P2 +α3 P3 ) (3)
3
walk 1 step walk 2 steps walk 3 steps
s
1
Ts = αn P n (4)
s n=1
P: direct trust matrix (transition matrix)
s: trust horizon
αn : path length penalization αn
Note: Assumes transitivity
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Architecture
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Crawler
Algorithm 1: Crawling cycle
while True do
S ←− SeedUsers() ∪ TopTrustedUsers()
foreach s ∈ S do
statuses ←− GetLastUpdates(s)
UpdateInteracctionsMatrix(s, statuses)
end
TruncateInteractionsMatrix() /*remove unsignificant users*/
UpdateTrustMatrix()
UpdateTopTrustedUsers()
end
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Recommender
Optional: Tweet expansion.
Optional: bag-of-words or tfPOS /tfNEG ratio.
Tweet candidates from top-trusted neighborhood
Learn to predict retweets.
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Recommender
Query (tweet) expansion
Query expansion:
• Bag of words probably not enough. Too few word coincidences between tweets
• If expanding the query (i.e: synonyms) more chances to get coincidences
• Query expansion proved useful in some scenarios (i.e: for QA systems with search
engines)
Tweet expansion:
• Query Bing with tweets
• Get first 200 results (summaries)
• Add summaries words to tweet
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Recommender
Scoring: Trust-aware + Content-based
Features:
• has_url [True, False]
• bag-of-words or tf ratio
• trust [0,1]
Label:
• retweet [True, False]
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
1. Introduction
2. Recommender systems
3. Related work
4. A recommender system for Twitter
5. Experiments
6. Conclusions
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Dataset
20 target users
6 month crawling
Spanish, Catalan, English
314 instances/user (50% retweets, 50% non-retweets)
70% training, 30% test.
Offline testing (a posteriori prediction of retweets)
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Transitivity tests
Normalize trust rankings [0-10]
∆: Disagreement about ranking of common neighbors.
If transitivity: the higher trust on a user, the smaller ∆ between their ratings
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Transitivity tests
Interactions
Question: are interactions of Twitter users transitive?
Table: Relation of interactions rank and delta
Ranking [0-10] ∆
[0 − 1) 1.36
[1 − 2) 0.75
[2 − 3) 1.14
[3 − 4) 0.83
[4 − 5) 0.78
[5 − 6) 0.52
[6 − 7) 1.06
[7 − 8) 0.53
[8 − 9) 0.57
[9 − 10) 0.17
Agreement about common neighbors (no matter the ∆)
... but we do not see transitivity.
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Transitivity tests
Trust
different path decays (αn )
Table: Relation of trust rank and delta
Ranking ∆ ∆ ∆
(0-10) No decay Linear decay Exp.decay
(0-1) 1.14 0.90 0.87
(1-2) 1.10 1.22 1.09
(2-3) 0.96 1.05 1.05
(3-4) 1.07 1.18 1.20
(4-5) 1.09 0.81 1.01
(5-6) 1.13 1.11 0.92
(6-7) 0.91 1.08 1.16
(7-8) 0.90 1.08 0.99
(8-9) 1.3 1.34 1.34
(9-10) 1.26 1.11 1.16
we do not see transitivity
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
1. Introduction
2. Recommender systems
3. Related work
4. A recommender system for Twitter
5. Experiments
6. Conclusions
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Contributions and findings
Contributions:
Trust metric
Trust-aware crawler for social networks
Recommender system prototype
Analysis of trust properties in Twitter
Findings:
No transitivity of trust in Twitter or bad trust model...
...but trust model might be useful
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Publication
A. Lumbreras, R. Gavaldà, “Applying trust metrics based on user interactions to
recommendation in social networks” in Social Knowledge Discovery and Utilization
Workshop within IEEE/ACM ASONAM’2012, Istambul, August 2012.
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Future work
Other query expansion techniques
Further text analysis (e.g: LSA)
Apply temporal decay to tweets
Further study of network properties (trust, interactions, visualization...)
User tests
Study marginal contribution of retweets and mentions
Topic-aware trust (topic detection)
Open question: (how much) transitivity-based models can capture trust on a
non-transitive trust network?
Introduction Recommender systems Related work A recommender system for Twitter Experiments Conclusions
Questions?