Recommender Systems – An Introduction
Dietmar Jannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich
Cambridge University Press
Which digital camera should I buy? What is the best holiday for me and
my family? Which is the best investment for supporting the education of my
children? Which movie should I rent? Which web sites will I find interesting?
Which book should I buy for my next vacation? Which degree and university
are the best for my future?
Problem domain
Recommendation systems (RS) help to match users with items
Recommendation Systems are software agents that elicit the interests and
preferences of individual consumers and make recommendations accordingly.
They have the potential to support and improve the quality of the
decisions consumers make while searching for and selecting products online.
(Xiao & Benbasat 20071)
Different system designs / paradigms
◦ Based on availability of exploitable data
◦ Implicit and explicit user feedback
◦ Domain characteristics
(1) Xiao and Benbasat, E-commerce product recommendation agents: Use, characteristics, and impact, MIS Quarterly 31 (2007), no. 1, 137–209
What is Recommendation System?
A recommendation system
is a subclass of Information
filtering Systems that seeks
to predict the rating or
the preference a user
might give to an item. In
simple words, it is an
algorithm that suggests
relevant items to users
Netflix, YouTube, Tinder,
and Amazon are all
examples of recommender
systems in use
What is the purpose of RS?
The purpose of a recommender system is to
suggest relevant items to users.
Recommender systems aim to predict users'
interests and recommend product items that
quite likely are interesting for them.
They are among the most powerful machine
learning systems that online retailers
implement in order to drive sales.
Targeted Marketing
When does a RS do its job well?
"Recommend widely
unknown items that
users might actually
like!"
Recommend items
from the long tail 20% of items
accumulate 74% of all
positive ratings
Items rated > 3 in
MovieLens 100K
dataset
Goals of Recommender Systems
Prediction Version of Problem:
◦ Predict to what degree users like an item
◦ For m users and n items, this corresponds to an
incomplete m × n matrix, where the specified
(or observed) values are used for training. The
missing (or unobserved) values are predicted
using this training model. This problem is also
referred to as the matrix completion problem
Ranking version of problem:
◦ In practice, it is not necessary to predict the
ratings of users for specific items
◦ Rather, a merchant may wish to recommend the
top-k items for a particular user, or determine
the top-k users to target for a particular item.
Recommender systems
RS seen as a function
Given:
◦ User model (e.g. ratings, preferences, demographics,
situational context)
◦ Items (with or without description of item characteristics)
Find:
◦ Relevance score. Used for ranking.
Relation to Information Retrieval:
◦ IR is finding material of an unstructured nature that
satisfies an information need from within large collections
(Manning et al. 20081)
(1) Manning, Raghavan, and Schütze, Introduction to information retrieval, Cambridge University Press, 2008
Common operational and technical
goals of recommender systems
Relevance
◦ To recommend items that are relevant to the user at hand.
Novelty
◦ recommended item that the user has not seen in the past
Serendipity
◦ recommendations are truly surprising to the user, rather
than simply something they did not know about before.
Increasing recommendation diversity
◦ suggest a list of top-k items. When all these recommended
items are very similar, it increases the risk that the user
might not like any of these items
How RS function?
Recommender systems function with two
kinds of information:
Characteristic information. This is
information about items (keywords,
categories, etc.) and users (preferences,
profiles, etc.).
User-item interactions. This is information
such as ratings, number of purchases, likes,
etc.
Famous Recommender Applications
GroupLens Recommender System
Amazon.com Recommender System
Netflix Movie Recommender System
Google News Personalization System
Facebook Friend Recommendations
Products, including books, movies, videos,
travel, and other goods and services
Online recruitment sites
Basic Models of Recommender
Systems
Personalized Models
Collaborative Filtering Models
User-based collaborative filtering
Item-based collaborative filtering
Content-Based Recommender Systems
Descriptive attributes, keywords
Knowledge-Based Recommender Systems
•Conversational systems: Feedback
• Search Based Systems
• Navigation-based recommendation
Demographic Recommender Systems
Hybrid and Ensemble-Based Recommender Systems
Paradigms of recommender systems
Recommender systems reduce
information overload by estimating
relevance
PERSONALIZED
RECOMMENDATION
Paradigms of recommender systems
Personalized recommendations
Personalized Recommendation –
Based on your cart / Wish list
USER PROFILE AND CONTEXUAL
FEATURES
Paradigms of recommender
systems- Collaborative
Collaborative: "Tell me what's popular
among my peers"
Rating – Utility Matrix
Issues with collaborative filtering
systems
Paradigms of recommender systems
Content-based: "Show me more of the
same what I've liked"
Paradigms of recommender
systems- Knowledge based
Knowledge-based: "Tell me what fits
based on my needs"
Knowledge Base RS - constraint-
based recommender
Knowledge Base RS - case-based
recommender
Summary
Paradigms of recommender systems
Hybrid: combinations of various inputs
and/or composition of different
mechanism
Agenda
Collaborative Filtering (CF)
◦ Pure CF approaches
◦ User-based nearest-neighbor
◦ The Pearson Correlation similarity measure
◦ Memory-based and model-based approaches
◦ Item-based nearest-neighbor
◦ The cosine similarity measure
◦ Data sparsity problems
◦ Recent methods (SVD, Association Rule Mining, Slope One, RF-Rec, …)
◦ The Google News personalization engine
◦ Discussion and summary
◦ Literature
Collaborative Filtering (CF)
The most prominent approach to generate
recommendations
◦ used by large, commercial e-commerce sites
◦ well-understood, various algorithms and variations
exist
◦ applicable in many domains (book, movies, DVDs, ..)
Approach
◦ use the "wisdom of the crowd" to recommend items
Basic assumption and idea
◦ Users give ratings to catalog items (implicitly or
explicitly)
◦ Customers who had similar tastes in the past, will
have similar tastes in the future
Pure CF Approaches
Input
◦ Only a matrix of given user–item ratings
Output types
◦ A (numerical) prediction indicating to what
degree the current user will like or dislike a
certain item
Item1 Item2 Item3 Item4 Item5
◦ A Alice
top-N list
5
of recommended
3 4
items
4 ?
User1 3 1 2 3 3
User2 4 3 4 3 5
User3 3 3 1 5 4
User4 1 5 5 2 1
User-based nearest-neighbor
collaborative filtering (1)
The basic technique
◦ Given an "active user" (Alice) and an item 𝑖 not yet
seen by Alice
find a set of users (peers/nearest neighbors) who liked the
same items as Alice in the past and who have rated item 𝑖
use, e.g. the average of their ratings to predict, if Alice will like
item 𝑖
do this for all items Alice has not seen and recommend the
best-rated
Basic assumption and idea
◦ If users had similar tastes in the past they will have
similar tastes in the future
◦ User preferences remain stable and consistent over
time
Key Properties of Ratings Matrices
User-based nearest-neighbor
collaborative filtering (2)
Example
◦ A database of ratings of the current user, Alice, and
some other users is given:
Item1 Item2 Item3 Item4 Item5
Alice 5 3 4 4 ?
User1 3 1 2 3 3
User2 4 3 4 3 5
User3 3 3 1 5 4
User4 1 5 5 2 1
◦ Determine whether Alice will like or dislike Item5,
which Alice has not yet rated or seen
User-based nearest-neighbor
collaborative filtering (3)
Some first questions
◦ How do we measure similarity?
◦ How many neighbors should we consider?
◦ How do we generate a prediction from the
neighbors'
Item1 ratings?
Item2 Item3 Item4 Item5
Alice 5 3 4 4 ?
User1 3 1 2 3 3
User2 4 3 4 3 5
User3 3 3 1 5 4
User4 1 5 5 2 1
Measuring user similarity (1)
A popular similarity measure in user-based CF:
Pearson correlation
𝑎, 𝑏 : users
𝑟𝑎,𝑝 : rating of user 𝑎 for item 𝑝
𝑃 : set of items, rated both by 𝑎 and 𝑏
◦ Possible similarity values between −1 and 1
𝒑 ∈𝑷(𝒓𝒂,𝒑 − 𝒓𝒂 )(𝒓𝒃,𝒑 − 𝒓𝒃 )
𝒔𝒊𝒎 𝒂, 𝒃 =
𝟐 𝟐
𝒑 ∈𝑷 𝒓𝒂,𝒑 − 𝒓𝒂 𝒑 ∈𝑷 𝒓𝒃,𝒑 − 𝒓𝒃
Measuring user similarity (2)
A popular similarity measure in user-based CF:
Pearson correlation
𝑎, 𝑏 : users
𝑟𝑎,𝑝 : rating of user 𝑎 for item 𝑝
: set ofItem2
𝑃 Item1 items,Item3
rated both
Item4 byItem5
𝑎 and 𝑏
Alice 5 3 4 4 ?
◦ Possible
User1 3
similarity
1
values
2
between
3
−1
3
and 1sim = 0,85
User2 4 3 4 3 5 sim = 0,00
User3 3 3 1 5 4 sim = 0,70
User4 1 5 5 2 1 sim = -0,79
Pearson correlation
Takes differences in rating behavior into account
6 Alice
5 User1
User4
4
Ratings
3
Works well in usual domains, compared with
Item1 Item2 Item3 Item4
alternative measures
◦ such as cosine similarity
Making predictions
A common prediction function:
𝒃 ∈𝑵 𝒔𝒊𝒎 𝒂, 𝒃 ∗ (𝒓𝒃,𝒑 − 𝒓𝒃 )
𝒑𝒓𝒆𝒅 𝒂, 𝒑 = 𝒓𝒂 +
𝒃 ∈𝑵 𝒔𝒊𝒎 𝒂, 𝒃
Calculate, whether the neighbors' ratings for the
unseen item 𝑖 are higher or lower than their
average
Combine the rating differences – use the
similarity with 𝑎 as a weight
Add/subtract the neighbors' bias from the active
user's average and use this as a prediction