Recommender systems are useful for online businesses such as Amazon, or Netflix. This set of slides provides a brief overview on recommender systems and their challenges.
1. A survey on
Recommender Systems
Mahdi Seyednezhad
BioComplex Laboratory
School of Computing
Florida Institute of Technology
May, 2017
seyednezhad@gmail.com
https://seyednejad.wixsite.com/home
2. Outline
Introduction
Methods
Evaluation
Context
Social
media
2
At the end …
At the end …
At the end …
At the end …
At the end …
Why we need recommender
systems?
How do traditional
methods work?
How to evaluate
recommender systems?
How to use context in
recommender systems?
What is social information?
How to use social information?
7. What is a recommender system (RS)?
7
Items
Users
Recommender System Users
Profile
Features
Ratings
RSs recommend items to users
based on users’ preferences
8. Recommender system challenges
Data
acquisition
• Explicitly
• Implicitly
8
Cold start
• New community
• New user
• New item
Data sparsity
• 99% of the user-item
matrix elements
have no value.
• Number of users is
much larger than
the number of items.
9. Traditional recommender systems
A recommender system needs to filter the information to extract
the relevant items.
9
Demographic Filtering Content-based Filtering (CBF) Collaborative Filtering (CF)
10. Demographic filtering
• It recommends items based on the demographic profile of users.
• People from the same group tend to have the same taste.
10
User Gender Country Age The Godfather
Diego M Brazil 27
+
Josemar M Brazil 20 +
Pacheco M Brazil 45 +
Hugo M Brazil 36
-
Firas M Iraq 51
-
Priya F India ?
-
Marcos M Brazil 27
?
11. Demographic filtering - Example
• Diego, Josemar and Pacheco liked “The Godfather”.
• How about Marcos?
11
User Gen. Nationality Age The Godfather
Diego M Brazil 28
+
Josemar M Brazil 20 +
Pacheco M Brazil 45 +
Hugo M Brazil 36
-
Marcello M Italy 30
Firas M Iraq 51 -
Priya F India ? -
Marcos M Brazil 30
?
Probably
+
12. Content-based Filtering (CBF)
12
• CBF method recommends items based on their description.
• It consists of three major parts:
Content
Analyzer
• Pre-processing
• Text to feature
vector
Profile
Learner
• Find average
content of
items
• Make prototype
text vector
Filter
Components
• Find similar
documents
• Filter out
dissimilar
de Gemmis, Marco, et al. "Semantics-aware content-based recommender systems." Recommender Systems Handbook. Springer US, 2015. 119-159.
13. CBF- Example
• Diego likes “The Godfather”.
13
• Does Diego like “Goodfellas”?
?
RS does not knows:RS knows:
Make him an offer he can't refuse!
15. CBF – Keyword-based
15
Weight of term
tk in document dj
Content Analyzer
TF-IDF:
terms that are
frequently found in
one text (TF),
but rarely in other
documents (IDF)
Calculate similarity of documents.
Filter out dissimilar documents.
IDF(tk) = log
N
nk
sim(di, dj) =
P
k wk,i · wk,j
pP
k wk,i
2 ·
pP
k wk,j
2
Salton, G.: Automatic Text Processing. Addison-Wesley (1989)
TF: Term Frequency
IDF: Inverse Document Frequency
TF(tk, dj) =
fk,j
max{fz,j}
17. CF - Example
17
Diego likes “Scarface.”
How about Marcos?
Diego likes “The Godfather.”
Marcos likes “The Godfather” as well.
18. CF - Find similar items based on
ratings!
18
Item-Item Similarity
R: User x Item
User-User Similarity
Neighborhood-based methods Marcos likes Scarface.
19. CF - Predict ratings
19
Item-Item Similarity
User-User Similarity
Predicted rating of user a
for item i
The average rating of user u
The average rating for item a
The weight between two
users a and u
Rating of user u for item i
Set of users that rated items i and j
Set of items that has been rated by users u and v
wi,j =
P
u2Ui,j
(ru,i ¯ri) · (ru,j ¯rj)
qP
u2Ui,j
(ru,i ¯ri)
2
·
qP
u2Ui,j
(ru,j ¯rj)
2
wu,v =
P
i2Iu,v
(ru,i ¯ru) · (rv,i ¯rv)
qP
i2Iu,v
(ru,i ¯ru)
2
·
qP
i2Iu,v
(rv,i ¯rv)
2
Pa,i = ¯ra +
P
u2U (ru,i ¯ru) · wa,u
P
u2U |wa,u|
Su, Xiaoyuan, and Taghi M. Khoshgoftaar. "A survey of collaborative filtering techniques." Advances in artificial intelligence 2009 (2009): 4.
20. Hybrid methods
20
• In some application we use benefits of two or more recommendation methods.
• Usually, other methods are combined with collaborative filtering.
• For example, demographic filtering can help collaborative filtering in cold-start situations.
Bel-rrooh! Bel-ddam!
Naftikah Godfather!
There is no rating from some Iraqi costumers:
• Firas
• Harith
• Younes
The Godfather is popular in Iraq, then it is
recommended to them.
21. Hybrid methods - CF+CBF
21
CF CBF
Recommendation
CBF
CF Recommendation
CBF
CF
Recommendation
CBFCF
Recommendation
Model
(a) (b)
(d)
(c)
Bobadilla, Jesús, et al. "Recommender systems survey." Knowledge-based systems 46 (2013): 109-132.
It combines CF and
CBF with a weighting
method. It may
rank the items from
both and recommend
the top best items
from them.
It uses CBF
methods to extract
features and
send it to CF to
make the final
recommendation.
22. Hybrid methods - CF+CBF
22
CF CBF
Recommendation
CBF
CF Recommendation
CBF
CF
Recommendation
CBFCF
Recommendation
Model
(a) (b)
(d)
(c)
The collaborative
filter recommends
items to CBF, and CBF
works on them.
A unified model is
depicted that
utilizes CF and CBF
to have their
output for another
classifier, such
as rule based
classier or a
probability model.
Bobadilla, Jesús, et al. "Recommender systems survey." Knowledge-based systems 46 (2013): 109-132.
24. Prediction accuracy
Mean Absolute Error
Root Mean Square Error
O : set of rated items
U : set of users
Ou : set of items rated by user u
pu,i : prediction of the ratings of
user u for item i
ru,i : ratings of user u for item i
#{*} : cardinality of set {*}
24
MAE =
1
#U
X
u2U
1
#Ou
X
i2Ou
|pu,i ru,i|
!
RMSE =
1
#U
X
u2U
s
1
#Ou
X
i2Ou
(pu,i ru,i)
2
25. Prediction accuracy - Coverage
Coverage for user u: The percentage of situations in which at least one k-neighbor of user u can
rate an item that has not been rated by user u.
Rated
by
user u
At least one of
the user u’s
neighbors rated
these items
Ou Cu
Du
25
All rated items = Ou U Du
Total coverage : Average of the coverage for each user
• It could be defined as capacity of prediction.
• The percentage of a dataset that the recommender system can make prediction.
Cu : set of items that have not been rated by user u and at least one of the neighbors rated it
Du : set of items that have not been rated by user u
coverage =
1
#U
X
u2U
1
#Ou
X
i2Ou
✓
100 ⇥
#Cu
#Du
◆
26. Set quality
For some users, having a set of items recommended is very important.
There should be some methods that evaluate the quality of the set of recommended items.
All possible items
Y=n=number of recommended
items
Precision = X/Y
Z=number of
relevant items
X=number of
relevant items
recommended
Recall=X/Z
26
27. Set quality
All possible items items
Y=n=number of recommended items
Precision = X/Y
Z=number
of relevant
items
X=number of
relevant items
recommended
Recall=X/Z
Zu
Zc
u
U : set of users
Zu : set of relevant items recommended to user u
Zc
u : set of relevant items not recommended to user u
n : number of recommended items (size of the set of
recommendations)
27
The percentage of relevant items
among recommended items.
The percentage of recommended
items among relevant items.
Bobadilla, Jesús, et al. "Recommender systems survey." Knowledge-based systems 46 (2013): 109-132.
28. List quality
• Users lose attention to the following items in the list
drastically.
• In some applications, items on top of the list are very
important.
• Half-life (Hl) is one of the metrics to evaluate the quality
of recommendation list.
28
Hl =
1
#U
X
u2U
NX
i=1
max(ru,pi d, 0)
2(i 1)/(↵ 1)
29. Now, we know about:
• Traditional methods
• How to evaluate recommender
systems
Let us step further and use more
information to improve recommender
systems.
29
Why recommender systems?
Traditional methods
Evaluations
More
inform
ation
30. Context
• What is context?
• Webster’s:
❑ The interrelated conditions in which something
exists or occurs.
• The concept of context is controversial.
• Interaction:
➡ Time
➡ Location
• Feature:
➡ Type of actors
Reed Hasting, the CEO of Netflix, claimed that they can improve the performance of their recommender
system up to 3% when considering such contextual information.
30
31. Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Example of context - Time
• Pacheco watched these movies and TV series and liked them:
31
Including Sunday
• What should be recommended to Pacheco
if he wants to watch a movie on Saturday?
32. Example of context - Features
• Pacheco likes “The Godfather I and II”. • Does Pacheco like “Heat”?
Context-based recommender
systems: Pacheco likes it,
because they have popular
academy award winners in
common.
32
33. Hierarchical representation Tensor representation
Context in recommender systems
Traditional methods:
Add context to recommender systems:
E-retailer DB
Personal
k1
Work
k2
Other
k2
Gift
k1
Partner
Friend
k2
Partner
k3
Friend
k3
Parent
Other
k2
Parent
k3
Other
k3
If we consider Time as context:
UName Address Age
As
context
IName Type Price Year Month Day
User Item Time
Granular to
coarse
33
R : User ⇥ Items ! Rating
R : User ⇥ Items ⇥ Context ! Rating
Palmisano, et al. "Using context to improve predictive modeling of customers in personalization applications." IEEE transactions on knowledge and data engineering 20.11
(2008): 1535-1549.
34. Obtaining contextual information
• Explicitly
▪ The information is gained directly from entities.
▪ the information of location or time can be extracted from the users' device.
• Implicitly
▪ It needs a monitoring system to observe the users and interactions.
▪ The source of information is accessed directly.
• Inferring
▪ RS should infer information from other data that has already been extracted.
▪ The information here is hidden and requires special algorithms to be revealed.
34
35. Utilizing context – Pre-filtering
How?
1. Use contextual information to filter the relevant data.
2. Feed the 2D (User x Item) to a traditional method.
Data
U x I x C x R
Contextualized Data
U x I x R
2D Recommender
U x I R
Contextual
Recommender
i1,i2,i3 ,...
C
u
It uses context to filter out irrelevant data:
• Exact filtering
❖ Example: Find data about ratings on Saturdays
× Drawback: The filtered information is too narrow.
• Aggregation
❖ Example: Find data about ratings on the weekends
× Drawback: We don’t know how much aggregation we
need.
35
Gediminas Adomavicius and Alexander Tuzhilin,. Context-aware recommender systems. In Recommender systems handbook, p. 191-226. Springer, 2015.
36. Data
U x I x C x R
2D Recommender
U x I R
Contextual
Recommender
i1,i2,i3 ,...
C
u
Recommendations
i1,i2,i3 ,...
Utilizing context – Post-filtering
How?
1. Find the recommendation based on items and users.
2. Adjust the final list of recommendations based on
context.
• Filter our the items that do not satisfies the context.
• Reorder or rank the list with respect to the degree
they match the context.
36
Gediminas Adomavicius and Alexander Tuzhilin,. Context-aware recommender systems. In Recommender systems handbook, p. 191-226. Springer, 2015.
37. Utilizing context – Modelling
How?
• This method uses the 3D data.
• We can use a similarity function to predict the unknown
ratings.
ru,I,k : rating of user u for item i regarding context c
k : normalization factor
Data
U x I x C x R
MD Recommender
U x I x C R
C
u
Contextual
Recommender
i1,i2,i3 ,...
W : weight of participating in predicting the unknown
rating
37
ru,i,c = k
X
(u0,i0,c0)6=(u,i,c)
W ((u0
, i0
, c0
), (u, i, c)) ⇥ ru0,i0,c0
W ((u0
, i0
, c0
), (u, i, c)) /
1
distance ((u0, i0, c0), (u, i, c))
Gediminas Adomavicius and Alexander Tuzhilin,. Context-aware recommender systems. In Recommender systems handbook, p.
191-226. Springer, 2015.
38. How about Josemar on Twitter?
38
Pacheco
Marcos
Diego
Firas
Josemar follows Diego, Marcos, Pacheco and Firas on Twitter, and Diego follows him.
There is no information about Josemar’s ratings or preferences.
Josemar
39. Why?
Social
networks
are popular.
It is a
powerful
source of
information.
Friend have
similar
taste.
Items are
available
through
social
networks.
User
profiling is
improved by
social
information.
Social-based recommender systems
39
40. Content in social media
Content can be recommended.
Content can be used to improve recommendation.
• Content in social media:
40
o Blog
o Multimedia
o Question & Answer
o News
o Job
o Microblog
Ido Guy, Social recommender systems. In Recommender systems handbook, p. 511-543. Springer, 2015.
41. Example - Movie recommendation
• Carrer-Neto et al. use the information extracted from the
profile of users
• Social aperture
• Moderate
✓ Use (25% friends’ ratings + 75% user ratings)
• Liberal
✓ Use (50% friends’ ratings + 50% user ratings)
• Conservative
✓ Use (user ratings)
41
Carrer-Neto, Walter, et al. "Social knowledge-based recommender system. Application to the movies domain." Expert Systems with applications 39.12 (2012): 10990-11000.
42. Example – People recommendation
WTF
Who To Follow algorithm:
1. Find the circle of trust (CoT).
2. Create a bipartite graph of
individuals from the CoT.
3. Run Twitter's Money algorithm
to find the relevant people.
4. Recommend top relevant
people.
42
Geil, Afton et al., "WTF, GPU! computing twitter's who-to-follow on the GPU." Proceedings of the second ACM conference on Online social networks. ACM, 2014.
43. Immediate friend inference
Item i has set of attributes
User u has set of attributes
User u has some neighbors
What is the rating of user u for item i given set
of attributes of item i and set of attributes of
user u and neighbors of the user u
b1 b2 … bn
a1 a2 … am
Item acceptance
Probability of rating
k for item i given set
of user attributes ai
User preference
Probability of rating k of
user u given set of item
attributes bi
user u
Nu
Neighbor preference
Probability of rating k
of user u given
neighbors Nu
Naive Bayesian assumption
43
44. 44
Preference of neighbors of user u
Neighbors of user u
Item acceptance
Set of users that rated for item iProbability of rating k of user u for item i (Ru,i), given the set of
attributes au of user, set of attributes bi of item and the rating of
the neighbors.
User preference : probability of a rating k
of user u given set of item attributes bi
Immediate friend inference
P (Ru,i = k|B = bi, A = au, {Rv,i = rv,i : 8v 2 Ui Nu})
=
1
Z
P (Ru,i = k|B = bi) ⇥ P (Ru,i = k|A = au)
⇥P (Ru,i = k|{Rv,i = rv,i : 8v 2 Ui Nu})
Jianming He and Wesley W. Chu, A social network-based recommender systems. In Data Mining for Social Network Data handbook, p. 47-74. Springer, 2010.
45. Example
45
Item acceptance
What is the movie’s rating if
somebody like user u watches
it?
User preference
What is my rating if Al Pacino
plays in a movie?
Neighbor preference
What is my friends’ rating if
Al Pacino plays in a movie?
47. Summary
Why social?
Content in social
media
People
recommendation
Immediate friend
inference
Social-based
What is context?
Obtaining context
Utilizing context
Pre-filtering
Post-filtering
Modelling
Context-based
Accuracy
Set quality
List Quality
Evaluation
Demographic
filtering
Content based
filtering
Collaborative
filtering
Hybrid methods
Traditional methods