SlideShare a Scribd company logo
Introduction to
Recommender Systems
Andrea Gigli, Boston Consulting Group
& University of Florence
@andrgig andrgig@gmail.com
Why a talk on recommender systems?
We’re living in the era of
● Information Overwhelming
● Choice deluge
Why a talk on recommender systems?
We’re living in the era of
● Information Overwhelming
● Choice deluge
Users and Customers react
● Procrastinating the choices
● Ignoring information
● Avoiding the task
● Reshaping the task
● Using shortcuts
● Filtering Information
Why a talk on recommender systems?
We’re living in the era of
● Information Overwhelming
● Choice deluge
Users and Customers react
● Procrastinating the choices
● Ignoring information
● Avoiding the task
● Reshaping the task
● Using shortcuts
● Processing Information
Why a talk on recommender systems?
We’re living in the era of
● Information Overwhelming
● Choice deluge
Users and Customers react
● Procrastinating the choices
● Ignoring information
● Avoiding the task
● Reshaping the task
● Using shortcuts
● Processing Information
Information Filtering
and Extraction
How to filter information
Information Filtering and Extraction:
● Search Engines to look for something you expect to find
How to filter information
Information Filtering and Extraction:
● Search Engines to look for something you expect to find
○ Given a query, retrieve a list of documents, products, services, ads
○ A query can be a term, sentence, image, audio, voice
How to filter information
Information Filtering and Extraction:
● Search Engines to look for something you expect to find
○ Given a query, retrieve a list of documents, products, services, ads
○ A query can be a term, sentence, image, audio, voice
● Recommender Systems to discover something you didn’t know existed
How to filter information
Information Filtering and Extraction:
● Search Engines to look for something you expect to find
○ Given a query, retrieve a list of documents, products, services, ads
○ A query can be a term, sentence, image, audio, voice
● Recommender Systems to discover something you didn’t know existed
○ Items are recommended one the basis of the user (and context)
○ Items means something domain-specific
■ Movies: movie, actor, director, genre
■ Music: track, album, artist, playlist, …
■ E-Commerce: item, bundle of items, …
■ Banking: banking and financial products, investment advice, service bundle, …
“We are leaving the age of information
and entering the age of recommendation.”
Chris Anderson, 2004, The Long Tail
What is a recommender system?
A Recommender System is an set of principles and procedures that seek to predict
which item is preferred by a user.
What is a recommender system?
A Recommender System is an set of principles and procedures that seek to predict
which item is preferred by a user.
Recommender Systems are designed to help
- Users in doing the best choice for them
- Companies in selling more products and increasing customers loyalty
What is a recommender system?
A Recommender System is an set of principles and procedures that seek to predict
which item is preferred by a user.
Recommender Systems are designed to help
- Users in doing the best choice for them
- Companies in selling more products and increasing customers loyalty
Users != “someone to charge”
Items != “something to sell to users”
When a Recommender System is good?
- It is relevant to the user (personalization)
- It represents all the possible interests of one user
(diversity)
- Expands the user's taste into neighboring areas
(serendipity)
Type of Recommender System
● Content-Based Recommender Systems
● Collaborative Filtering
● Other Approaches
● Context-Based
Type of Recommender System
● Content-Based Recommender Systems
● Collaborative Filtering
● Other Approaches
● Context-Based
Which is the best one? Depends on the domain and particular
problem. Usually combining different approaches works better
Type of Recommender System?
● Content-Based Recommender Systems
● Collaborative Filtering
● Other Approaches
● Context-Based
Content - Based Recommenders
Recommendations are based on the information on the
content of items rather than on other users’ opinions.
Content - Based Recommenders
Recommendations are based on the information on the
content of items rather than on other users’ opinions.
- First, define the relevant items content
Content - Based Recommenders
Recommendations are based on the information on the
content of items rather than on other users’ opinions.
- First, define the relevant items content
- Second, define a user profile by analysing the relevant
content of the items the user liked in the past
Content - Based Recommenders
Recommendations are based on the information on the
content of items rather than on other users’ opinions.
- First, define the relevant items content
- Second, define a user profile by analysing the relevant
content of the items the user liked in the past
- Third, recommended items for a user’s profile built on the
second step
Content - Based Recommenders
Item profile
User profile
f1
f2
f3
fN
wf1
wf2
wf3
wfN
a set of features
(characteristics/attributes)
characterizing item s.
a set of weights, where wfi
denotes
the importance of feature fi
to the
user
An item is recommended to the user accordingly to the features
held by the item which are mostly relevant to the user
Content-Based Recommenders pros
● No need for data on other users.
● Able to recommend to users with unique tastes.
● Able to recommend new and unpopular items.
● Can provide explanations of recommended items by listing
content-features that caused an item to be recommended
Content-Based Recommenders cons
● Requires content that can be encoded as meaningful
features.
● Users’ tastes must be represented as a learnable function
of these content features.
● Hard to exploit quality judgements of other users.
● Easy to overfit
Type of Recommender System?
● Content-Based Recommender Systems
● Collaborative Filtering
● Other Approaches
● Context-Based
Collaborative Filtering - What is it?
The task of predicting (filtering) specific user preferences on
new items by collecting taste information from many users
(collaborative).
Collaborative filtering pros:
● Requires minimal domain knowledge
● Users and Items have no internal structure or characteristics
● Perform well in most cases
Collaborative Filtering - What is it?
The task of predicting (filtering) specific user preferences on
new items by collecting taste information from many users
(collaborative).
Collaborative filtering cons:
● Prior behavior determines current behavior
● Many items, few data per user, no data for new user
● Very large datasets
Collaborative Filtering
Sparsity Problem
In 1,000,000 items, the probability that two users who bought 100 items each,
have an item in common is 1%
In 10,000,000 items, the probability that two users who bought 50 items each,
have an item in common is 0.02%
Collaborative Filtering - How does it work?
Let’s represent the information on
past users’ choices and choose items
on a matrix.
Each cell contains the preference of
user u for item i
Preference can be explicit (eg rating,
stars) or implicit (bought/not bought,
liked/not liked)
U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
Collaborative Filtering - How does it work?
Let’s represent the information on
past users’ choices and choose items
on a matrix.
Each cell contains the preference of
user u for item i
Preference can be explicit (eg rating,
stars) or implicit (bought/not bought,
liked/not lied)
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
User-based Collaborative Filtering
1. Identify the user you want to give a
recommendation
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
User-based Collaborative Filtering
1. Identify the user you want to give a
recommendation
2. Identify users who made same
choices (similar users)
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
User-based Collaborative Filtering
1. Identify the user you want to give a
recommendation
2. Identify users who made same
choices (similar users)
3. Compute similarities between user
and similar users
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
User-based Collaborative Filtering
1. Identify the user you want to give a
recommendation
2. Identify users who made same
choices (similar users)
3. Compute similarities between user
and similar users
4. Predict user’s preference for each
Item weighting for the similarity
with other users
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
Item-based Collaborative Filtering
1. Identify the item you want to
recommend (target item)
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
Item-based Collaborative Filtering
1. Identify the item you want to
recommend (target item)
2. Identify items rated by the same
users who choose the target item
(neighborhood items)
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
Item-based Collaborative Filtering
1. Identify the item you want to
recommend (target item)
2. Identify items rated by the same
users who choose the target item
(neighborhood items)
3. Compute the similarity between the
target item and the neighborhood
items
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
Item-based Collaborative Filtering
1. Identify the item you want to
recommend (target item)
2. Identify items rated by the same
users who choose the target item
(neighborhood items)
3. Compute the similarity between the
target item and the neighborhood
items
4. Predict ratings for the target item
for each user weighting for the
similarity with other items 1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
Tackling the Sparsity and Scalability
Tackling the Sparsity and Scalability
Sparsity:
- Poor relationship among like minded but sparse-rating users.
- Accuracy can be poor if one try to make predictions in sparse dataset using
nearest neighbor algorithms
Scalability:
- Nearest neighbor require computation that grows with both the number of
users and the number of items.
Possible solution:
- Using latent factor models to capture similarity between users & items in a
reduced dimensional space.
Model Based Collaborative Filtering: Factorization
Idea: project the problem into a lower dimension space
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
Model Based Collaborative Filtering: Factorization
Idea: project the problem into a lower dimension space
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
1 1
1
1
1
1 1
1
F1 F2
F1
F2
Model Based Collaborative Filtering: Factorization
Idea: project the problem into a lower dimension space
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
1 1
1
1
1
1 1
1
How much latent factor 1 and 2
are contained in Item 2
How much User 3 likes latent factors 1 and 2
F1 F2
F1
F2
Collaborative Filtering via Matrix Factorization
Idea: project the problem into a lower dimension space
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
1 1
1
1
1
1 1
1
How much latent factor 1 and 2
are contained in I2
How much U3 likes latent factors 1 and 2
The dot product indicates how much
U3 likes I2
F1 F2
F1
F2
Type of Recommender System?
● Content-Based Recommender Systems
● Collaborative Filtering
● Other Approaches
● Context-Based
Clustering
Another way to make recommendations based on past purchases is through
Customers clustering → Each cluster will be assigned typical preferences, based on
preferences of customers who belong to the cluster → Customers within each
cluster will receive recommendations computed at the cluster level
PROS CONS
Can be used to work on aggregated Data
Can be applied as a first step for filtering
techniques
Can be used to capture latent similarities
between users or items
Recommendations per customer's
cluster are usually less relevant for
single user than those from
collaborative filtering
Classifiers
Classifiers are general computational models trained using positive and negative
examples (Logistic Regression, Bayesian Networks, Support Vector Machines,
Decision Trees, etc…)
They may take in inputs vector of item features (type: action / adventure, actor:
Bruce Willis), preferences of customers (like: action / adventure), relations among
item
Association
Past purchases are transformed into relationships of common purchases
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
Association
Past purchases are transformed into relationships of common purchases
1 1
1 1
1
1 1
1 1
1U1
U2
U3
U4
U5
U6
I1 I2 I3 I4
Items
Users
2 1
1
1 2
1I1
I2
I3
I4
I1 I2 I3 I4
Also bought
Whobought
Recommendation as a Ranking Task
A recommender system aims at providing the user with a sorted list of suggestions.
In Information Retrieval “providing a sorted list of suggestions” is a known as Raking
Problem and it can be addressed using
- Heuristics, i.e. numeric scores on query/document pairs (cosine similarity,
BM25, LMIR probabilities, …)
- Machine Learning (Learning to Rank, aka L2R or LETOR)
- Ad-hoc metrics: Normalized Discounted Cumulative Gains, Mean Reciprocal Rank, Fraction of
Concordant Pairs…
- 3 approaches: pointwise, pairwise, listwise
Recommendations and Trust
A social RS recommends items that are “popular” with the friends of the user, that is
which are popular in a “social” proximity of the user.
Trust for Collaborative Filtering
● Use trust to give more weight to some users or combined with similarity
Trust for sorting & filtering:
● Prioritize information from trusted sources
Type of Recommender System?
● Content-Based Recommender Systems
● Collaborative Filtering
● Other Approaches - Hybrid methods
● Context-based
+ Context
Context
“Context is any information that can be used to characterize
the situation of an entity”
“Context are those variables which may change when a
same activity is performed again and again”
“Context is domain specific”
Context
Physical context: time, position, and activity of the user, weather, light, and
temperature ...
Social context: the presence and role of other people around the user
Interaction media context: the device used to access the system and the type of
media that are browsed and personalized (text, music, images, movies, …)
Modal context: the state of mind of the user, the user’s goals, mood, experience, and
cognitive capabilities.
“Search should be processed in the context of the information
surrounding them, allowing more accurate results that better
reflect user’s actual intentions”
Finkelstein et al. WWW 2001
Context in Information Retrieval
“Search should be processed in the context of the information
surrounding them, allowing more accurate results that better
reflect user’s actual intentions”
Finkelstein et al. WWW 2001
The same holds for Recommender Systems nowadays
Context in Information Retrieval
Context aware system
Spatial-temporal
context
Social
context
User
Context
Personal
context
Environmental
context
Task
context
❏ Surroundings
❏ Things
❏ Services
❏ People
❏ Information
❏ ...
❏ Time
❏ Location type
❏ Lat/Lon
❏ Movement
❏ ...
❏ Information
about friends
❏ User’s role
❏ Information
about family
❏ Social
Network
data
❏ ...
❏ Preferences
❏ Mood
❏ Expertise
❏ Age
❏ Weight
❏ Height
❏ Disabilities
❏ ...
❏ Goal
❏ Task
❏ Activities
❏ ...
Context Hierarchy
Adding Context Hierarchy to Domain Ontology
Domain ontology describes set of concepts and categories in a
specific domain, as well as more generic concept (Task, Goal,
Action, Physical Objects…) in a multirelational semantic
network.
Integrating Domain Ontology with Context Hierarchy allows to
build context dependent path in the system.
Spatial-Temporal
context
Personal
context
User
Context
Social
context
Environmental
context
Task
context
Context-aware Systems
Context
User
Context
Tag
Service Desk
Service
Provider
Time
Location
Task
Action Goal
User
State
Investment
Lending
Payments
Investment
Service
Lending
Service
Invest user
Savings
Make money
available to user
Payment
Service
Isa
Isa Isa
Isa
Isa
Isa
Isa
Service
Isa
Has a
Has a
Has a
Performs
Performs
Part of
Isa
Triggers Achieves
Results in
Has a
Context aware RecSys
Type of Context Aware RecSys
Contextual Pre-filtering: Context information used to select
relevant portions of data
Contextual Post-filtering: Contextual information is used to
filter/constrain/re-rank final set of recommendations
Contextual Modeling: Context information is used directly as
part of learning preference models
Type of Context Aware RecSys
Data
U x I x C
Contextualized
Data: U x I
2D Recommender
U x I → R
Contextual
Recommendations
c
Type of Context Aware RecSys
Data
U x I x C
Contextualized
Data: U x I
2D Recommender
U x I → R
Contextual
Recommendations
Data
U x I x C
2D Recommender
U x I → R
Recommendations
Contextual
Recommendations
c
c
Type of Context Aware RecSys
Data
U x I x C
Contextualized
Data: U x I
2D Recommender
U x I → R
Contextual
Recommendations
Data
U x I x C
2D Recommender
U x I → R
Recommendations
Contextual
Recommendations
Data
U x I x C1 x C2 x ...
MD Recommender
U x I x C1 x... → R
Contextual
Recommendations
c
c
c
Adding Context
U1
U2
U3
U4
U5
U6
Users
I1 I2 I3 I4
Items
Context
Adding Context
U1
U2
U3
U4
U5
U6
Users
I1 I2 I3 I4
Items
I1 I2 I3 I4
Items | context c
U1
U2
U3
U4
U5
U6
Users|contextc
Using Latent Variables
U1
U2
U3
U4
U5
U6
Users
I1 I2 I3 I4
Items
Context
Using Latent Variables
U1
U2
U3
U4
U5
U6
Users
I1 I2 I3 I4
Items
Context
How much latent factors 1
and 2 are contained in C1
How much latent factors 1
and 2 U3 likes
How much
latent factors
are contained
in I3
6 X 2
2 X 4
4 X 2
Examples
Let’s represent our input data as two sets of nodes, the first related to
assets and the second to customers
C = {c1, c2, c3, ...}
A = {a1, a2, a3, ….}
In our case |C|>>|A|
Bipartite Graph
a1
a2
a3
a4
a5
c1
c2
c3
c4
c5
............
Customer set
Asset set
Let’s represent our input data as two sets of nodes, the first related to
assets and the second to customers, and draw who bought what
C = {c1, c2, c3, ...}
A = {a1, a2, a3, ….}
In our case |C|>>|A|
Bipartite Graph
a1
a2
a3
a4
a5
c1
c2
c3
c4
c5
............
Customer set
Asset set
Bipartite Graph
a1
a2
a3
a4
a5
c1
c2
c3
c4
c5
a1
a2
a3a4
a5
............
Bipartite Graph
a1
a2
a3
a4
a5
c1
c2
c3
c4
c5
a1
a2
a3a4
a5
Each edge can be weighted by a similarity measure, like
|C(ai
)| + |C(aj
)|
|C(ai
,aj
)|
q(i,j) =
............
Bipartite Graph
a1
a2
a3
a4
a5
c1
c2
c3
c4
c5
a1
a2
a3a4
a5
Each edge can be weighted by a similarity measure, like
|C(ai
)| + |C(aj
)|
|C(ai
,aj
)|
q(i,j) =
Example:
q(a1,a2) = 1 / (3 + 2) = 0.20
q(a4,a5) = 1 / (1 + 2) = 0.333
............
Bipartite Graph
a1
a2
a3
a4
a5
c1
c2
c3
c4
c5
a1
a2
a3a4
a5
Each edge can be weighted by a similarity measure, like
|C(ai
)| + |C(aj
)|
|C(ai
,aj
)|
q(i,j) =
Example:
q(a1,a2) = 1 / (3 + 2) = 0.20
q(a4,a5) = 1 / (1 + 2) = 0.333
............
Bipartite Graph
a1
a2
a3
a4
a5
c1
c2
c3
c4
c5
a1
a2
a3a4
a5
Each edge can be weighted by a similarity measure, like
|C(ai
)| + |C(aj
)|
|C(ai
,aj
)|
q(i,j) =
Example:
q(a1,a2) = 1 / (3 + 2) = 0.20
q(a4,a5) = 1 / (1 + 2) = 0.333
............
Let’s compute q(i,j) for
each i,j
“Markets are
conversations.”
The Cluetrain Manifesto, 1999
Word Embedding
Methodology for mapping words or phrases from vocabulary to vectors of
real numbers.
0.123 ... 5.344 -0.253
...
2.333 ... 1.296 0.345
-0.453 ... 0.111 9.543
markets
are
conversations
...
Word2Vec
Word2vec model takes as its input a large corpus of text and produces a
vector space, with each unique word in the corpus being assigned a
corresponding vector in the space.
Word vectors are positioned in the vector space such that words that
share common contexts in the corpus are located in close
proximity to one another in the space.
Why context is relevant
Word vectors capture linguistic regularities
vec(“Paris”) - vec(“France”) + vec(“Italy”) is close to vec(“Rome”)
vec(“walking”) - vec(“swimming”) + vec(“swam”) is close to vec(“walked”)
“You shall know a word
by the company it keeps”
J.R. Firth, 1957
“You shall know an item
by the basket it belongs to”
Item embedding
If word embedding can project words in a vector space taking into account
of the other words along with they are usually accompanied...
… then item embedding can project items in a vector space taking
into account of the other items along with they are usually
accompanied
Introduction to recommender systems
Questions?

More Related Content

PPT
Impersonal Recommendation system on top of Hadoop
PDF
Recommandation systems -
PPTX
Recommender systems: Content-based and collaborative filtering
PPT
Social Recommender Systems Tutorial - WWW 2011
PDF
An introduction to Recommender Systems
PDF
Recommender Systems
PPTX
Recommender system
PPT
Recommendation system
Impersonal Recommendation system on top of Hadoop
Recommandation systems -
Recommender systems: Content-based and collaborative filtering
Social Recommender Systems Tutorial - WWW 2011
An introduction to Recommender Systems
Recommender Systems
Recommender system
Recommendation system

What's hot (20)

PPTX
Recommendation system based on adaptive ontological graphs and weighted ranking
PPTX
Recommendation Systems - Why How and Real Life Applications
PPT
Recommendation techniques
PPTX
Recommendation Systems Basics
PPTX
Recommendation system
PPTX
Recommendation system by_arpit_sharma
PPTX
Recommender system introduction
PDF
Recommender Systems
PDF
20120140506003
PDF
Introduction to Recommendation Systems
PDF
Recommender system a-introduction
PPT
A Hybrid Recommendation system
PDF
Introduction to Recommendation Systems
PPTX
Customer to Customer recommendation system
PDF
Guide to Recommender Systems
PDF
A survey on recommendation system
PDF
Recent advances in deep recommender systems
PDF
C018211723
PPTX
Collaborative filtering
PPTX
Recommendation system
Recommendation system based on adaptive ontological graphs and weighted ranking
Recommendation Systems - Why How and Real Life Applications
Recommendation techniques
Recommendation Systems Basics
Recommendation system
Recommendation system by_arpit_sharma
Recommender system introduction
Recommender Systems
20120140506003
Introduction to Recommendation Systems
Recommender system a-introduction
A Hybrid Recommendation system
Introduction to Recommendation Systems
Customer to Customer recommendation system
Guide to Recommender Systems
A survey on recommendation system
Recent advances in deep recommender systems
C018211723
Collaborative filtering
Recommendation system
Ad

Similar to Introduction to recommender systems (20)

PPTX
Unit 1 Recommender Systems it's most important topic in machine
PPT
JM Information Retrieval Techniques Unit V
PPT
Recommender system in Information Retrieval system.ppt
PPT
Culbert (1).pptmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
PPT
Culbert recommender systems
PPTX
recommendation system techunique and issue
PPTX
Recommender System _Module 1_Introduction to Recommender System.pptx
PDF
Sistema de recomendações de Filmes do Netflix
PDF
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
PPTX
Mini-training: Personalization & Recommendation Demystified
PDF
Introduction to Recommendation Systems (Vietnam Web Submit)
PPT
recommendation system a topic in marketing analytics
PDF
recommendationsystem-140410131156-phpapp01 (1).pdf
PDF
Use of data science in recommendation system
PDF
I017654651
DOCX
Recommender system definition, types with examples
PPT
Lec7 collaborative filtering
PPTX
ADM6274 - Final (NEHA)
PPT
recommender-systems-collaborative-filtering.ppt
PPTX
Recommender Systems Explained
Unit 1 Recommender Systems it's most important topic in machine
JM Information Retrieval Techniques Unit V
Recommender system in Information Retrieval system.ppt
Culbert (1).pptmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
Culbert recommender systems
recommendation system techunique and issue
Recommender System _Module 1_Introduction to Recommender System.pptx
Sistema de recomendações de Filmes do Netflix
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Mini-training: Personalization & Recommendation Demystified
Introduction to Recommendation Systems (Vietnam Web Submit)
recommendation system a topic in marketing analytics
recommendationsystem-140410131156-phpapp01 (1).pdf
Use of data science in recommendation system
I017654651
Recommender system definition, types with examples
Lec7 collaborative filtering
ADM6274 - Final (NEHA)
recommender-systems-collaborative-filtering.ppt
Recommender Systems Explained
Ad

More from Andrea Gigli (20)

PDF
How organizations can become data-driven: three main rules
PDF
Equity Value for Startups.pdf
PDF
Data Analytics per Manager
PDF
Balance-sheet dynamics impact on FVA, MVA, KVA
PDF
Reasons behind XVAs
PDF
Recommendation Systems in banking and Financial Services
PPTX
Mine the Wine by Andrea Gigli
PDF
Fast Feature Selection for Learning to Rank - ACM International Conference on...
PPTX
Feature Selection for Document Ranking
PPTX
Using R for Building a Simple and Effective Dashboard
PDF
Impact of Valuation Adjustments (CVA, DVA, FVA, KVA) on Bank's Processes - An...
PDF
Comparing Machine Learning Algorithms in Text Mining
PDF
Master in Big Data Analytics and Social Mining 20015
PDF
Electricity Derivatives
PPTX
Crawling Tripadvisor Attracion Reviews - Italiano
PPTX
Search Engine for World Recipes Expo 2015
PPTX
A Data Scientist Job Map Visualization Tool using Python, D3.js and MySQL
PPTX
Search Engine Query Suggestion Application
PPTX
From real to risk neutral probability measure for pricing and managing cva
PPTX
Startup Saturday Internet Festival 2014
How organizations can become data-driven: three main rules
Equity Value for Startups.pdf
Data Analytics per Manager
Balance-sheet dynamics impact on FVA, MVA, KVA
Reasons behind XVAs
Recommendation Systems in banking and Financial Services
Mine the Wine by Andrea Gigli
Fast Feature Selection for Learning to Rank - ACM International Conference on...
Feature Selection for Document Ranking
Using R for Building a Simple and Effective Dashboard
Impact of Valuation Adjustments (CVA, DVA, FVA, KVA) on Bank's Processes - An...
Comparing Machine Learning Algorithms in Text Mining
Master in Big Data Analytics and Social Mining 20015
Electricity Derivatives
Crawling Tripadvisor Attracion Reviews - Italiano
Search Engine for World Recipes Expo 2015
A Data Scientist Job Map Visualization Tool using Python, D3.js and MySQL
Search Engine Query Suggestion Application
From real to risk neutral probability measure for pricing and managing cva
Startup Saturday Internet Festival 2014

Recently uploaded (20)

PDF
DOC-20250806-WA0002._20250806_112011_0000.pdf
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PDF
Laughter Yoga Basic Learning Workshop Manual
PDF
Unit 1 Cost Accounting - Cost sheet
PDF
Ôn tập tiếng anh trong kinh doanh nâng cao
PPT
Chapter four Project-Preparation material
PPT
Data mining for business intelligence ch04 sharda
PDF
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
PDF
Business model innovation report 2022.pdf
PDF
Nidhal Samdaie CV - International Business Consultant
DOCX
Euro SEO Services 1st 3 General Updates.docx
PDF
Traveri Digital Marketing Seminar 2025 by Corey and Jessica Perlman
PPTX
Lecture (1)-Introduction.pptx business communication
PPTX
New Microsoft PowerPoint Presentation - Copy.pptx
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PDF
Chapter 5_Foreign Exchange Market in .pdf
PPTX
HR Introduction Slide (1).pptx on hr intro
DOCX
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
DOCX
unit 1 COST ACCOUNTING AND COST SHEET
PDF
Power and position in leadershipDOC-20250808-WA0011..pdf
DOC-20250806-WA0002._20250806_112011_0000.pdf
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
Laughter Yoga Basic Learning Workshop Manual
Unit 1 Cost Accounting - Cost sheet
Ôn tập tiếng anh trong kinh doanh nâng cao
Chapter four Project-Preparation material
Data mining for business intelligence ch04 sharda
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
Business model innovation report 2022.pdf
Nidhal Samdaie CV - International Business Consultant
Euro SEO Services 1st 3 General Updates.docx
Traveri Digital Marketing Seminar 2025 by Corey and Jessica Perlman
Lecture (1)-Introduction.pptx business communication
New Microsoft PowerPoint Presentation - Copy.pptx
Roadmap Map-digital Banking feature MB,IB,AB
Chapter 5_Foreign Exchange Market in .pdf
HR Introduction Slide (1).pptx on hr intro
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
unit 1 COST ACCOUNTING AND COST SHEET
Power and position in leadershipDOC-20250808-WA0011..pdf

Introduction to recommender systems

  • 1. Introduction to Recommender Systems Andrea Gigli, Boston Consulting Group & University of Florence @andrgig andrgig@gmail.com
  • 2. Why a talk on recommender systems? We’re living in the era of ● Information Overwhelming ● Choice deluge
  • 3. Why a talk on recommender systems? We’re living in the era of ● Information Overwhelming ● Choice deluge Users and Customers react ● Procrastinating the choices ● Ignoring information ● Avoiding the task ● Reshaping the task ● Using shortcuts ● Filtering Information
  • 4. Why a talk on recommender systems? We’re living in the era of ● Information Overwhelming ● Choice deluge Users and Customers react ● Procrastinating the choices ● Ignoring information ● Avoiding the task ● Reshaping the task ● Using shortcuts ● Processing Information
  • 5. Why a talk on recommender systems? We’re living in the era of ● Information Overwhelming ● Choice deluge Users and Customers react ● Procrastinating the choices ● Ignoring information ● Avoiding the task ● Reshaping the task ● Using shortcuts ● Processing Information Information Filtering and Extraction
  • 6. How to filter information Information Filtering and Extraction: ● Search Engines to look for something you expect to find
  • 7. How to filter information Information Filtering and Extraction: ● Search Engines to look for something you expect to find ○ Given a query, retrieve a list of documents, products, services, ads ○ A query can be a term, sentence, image, audio, voice
  • 8. How to filter information Information Filtering and Extraction: ● Search Engines to look for something you expect to find ○ Given a query, retrieve a list of documents, products, services, ads ○ A query can be a term, sentence, image, audio, voice ● Recommender Systems to discover something you didn’t know existed
  • 9. How to filter information Information Filtering and Extraction: ● Search Engines to look for something you expect to find ○ Given a query, retrieve a list of documents, products, services, ads ○ A query can be a term, sentence, image, audio, voice ● Recommender Systems to discover something you didn’t know existed ○ Items are recommended one the basis of the user (and context) ○ Items means something domain-specific ■ Movies: movie, actor, director, genre ■ Music: track, album, artist, playlist, … ■ E-Commerce: item, bundle of items, … ■ Banking: banking and financial products, investment advice, service bundle, …
  • 10. “We are leaving the age of information and entering the age of recommendation.” Chris Anderson, 2004, The Long Tail
  • 11. What is a recommender system? A Recommender System is an set of principles and procedures that seek to predict which item is preferred by a user.
  • 12. What is a recommender system? A Recommender System is an set of principles and procedures that seek to predict which item is preferred by a user. Recommender Systems are designed to help - Users in doing the best choice for them - Companies in selling more products and increasing customers loyalty
  • 13. What is a recommender system? A Recommender System is an set of principles and procedures that seek to predict which item is preferred by a user. Recommender Systems are designed to help - Users in doing the best choice for them - Companies in selling more products and increasing customers loyalty Users != “someone to charge” Items != “something to sell to users”
  • 14. When a Recommender System is good? - It is relevant to the user (personalization) - It represents all the possible interests of one user (diversity) - Expands the user's taste into neighboring areas (serendipity)
  • 15. Type of Recommender System ● Content-Based Recommender Systems ● Collaborative Filtering ● Other Approaches ● Context-Based
  • 16. Type of Recommender System ● Content-Based Recommender Systems ● Collaborative Filtering ● Other Approaches ● Context-Based Which is the best one? Depends on the domain and particular problem. Usually combining different approaches works better
  • 17. Type of Recommender System? ● Content-Based Recommender Systems ● Collaborative Filtering ● Other Approaches ● Context-Based
  • 18. Content - Based Recommenders Recommendations are based on the information on the content of items rather than on other users’ opinions.
  • 19. Content - Based Recommenders Recommendations are based on the information on the content of items rather than on other users’ opinions. - First, define the relevant items content
  • 20. Content - Based Recommenders Recommendations are based on the information on the content of items rather than on other users’ opinions. - First, define the relevant items content - Second, define a user profile by analysing the relevant content of the items the user liked in the past
  • 21. Content - Based Recommenders Recommendations are based on the information on the content of items rather than on other users’ opinions. - First, define the relevant items content - Second, define a user profile by analysing the relevant content of the items the user liked in the past - Third, recommended items for a user’s profile built on the second step
  • 22. Content - Based Recommenders Item profile User profile f1 f2 f3 fN wf1 wf2 wf3 wfN a set of features (characteristics/attributes) characterizing item s. a set of weights, where wfi denotes the importance of feature fi to the user An item is recommended to the user accordingly to the features held by the item which are mostly relevant to the user
  • 23. Content-Based Recommenders pros ● No need for data on other users. ● Able to recommend to users with unique tastes. ● Able to recommend new and unpopular items. ● Can provide explanations of recommended items by listing content-features that caused an item to be recommended
  • 24. Content-Based Recommenders cons ● Requires content that can be encoded as meaningful features. ● Users’ tastes must be represented as a learnable function of these content features. ● Hard to exploit quality judgements of other users. ● Easy to overfit
  • 25. Type of Recommender System? ● Content-Based Recommender Systems ● Collaborative Filtering ● Other Approaches ● Context-Based
  • 26. Collaborative Filtering - What is it? The task of predicting (filtering) specific user preferences on new items by collecting taste information from many users (collaborative). Collaborative filtering pros: ● Requires minimal domain knowledge ● Users and Items have no internal structure or characteristics ● Perform well in most cases
  • 27. Collaborative Filtering - What is it? The task of predicting (filtering) specific user preferences on new items by collecting taste information from many users (collaborative). Collaborative filtering cons: ● Prior behavior determines current behavior ● Many items, few data per user, no data for new user ● Very large datasets
  • 28. Collaborative Filtering Sparsity Problem In 1,000,000 items, the probability that two users who bought 100 items each, have an item in common is 1% In 10,000,000 items, the probability that two users who bought 50 items each, have an item in common is 0.02%
  • 29. Collaborative Filtering - How does it work? Let’s represent the information on past users’ choices and choose items on a matrix. Each cell contains the preference of user u for item i Preference can be explicit (eg rating, stars) or implicit (bought/not bought, liked/not liked) U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 30. Collaborative Filtering - How does it work? Let’s represent the information on past users’ choices and choose items on a matrix. Each cell contains the preference of user u for item i Preference can be explicit (eg rating, stars) or implicit (bought/not bought, liked/not lied) 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 31. User-based Collaborative Filtering 1. Identify the user you want to give a recommendation 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 32. User-based Collaborative Filtering 1. Identify the user you want to give a recommendation 2. Identify users who made same choices (similar users) 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 33. User-based Collaborative Filtering 1. Identify the user you want to give a recommendation 2. Identify users who made same choices (similar users) 3. Compute similarities between user and similar users 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 34. User-based Collaborative Filtering 1. Identify the user you want to give a recommendation 2. Identify users who made same choices (similar users) 3. Compute similarities between user and similar users 4. Predict user’s preference for each Item weighting for the similarity with other users 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 35. Item-based Collaborative Filtering 1. Identify the item you want to recommend (target item) 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 36. Item-based Collaborative Filtering 1. Identify the item you want to recommend (target item) 2. Identify items rated by the same users who choose the target item (neighborhood items) 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 37. Item-based Collaborative Filtering 1. Identify the item you want to recommend (target item) 2. Identify items rated by the same users who choose the target item (neighborhood items) 3. Compute the similarity between the target item and the neighborhood items 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 38. Item-based Collaborative Filtering 1. Identify the item you want to recommend (target item) 2. Identify items rated by the same users who choose the target item (neighborhood items) 3. Compute the similarity between the target item and the neighborhood items 4. Predict ratings for the target item for each user weighting for the similarity with other items 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 39. Tackling the Sparsity and Scalability
  • 40. Tackling the Sparsity and Scalability Sparsity: - Poor relationship among like minded but sparse-rating users. - Accuracy can be poor if one try to make predictions in sparse dataset using nearest neighbor algorithms Scalability: - Nearest neighbor require computation that grows with both the number of users and the number of items. Possible solution: - Using latent factor models to capture similarity between users & items in a reduced dimensional space.
  • 41. Model Based Collaborative Filtering: Factorization Idea: project the problem into a lower dimension space 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 42. Model Based Collaborative Filtering: Factorization Idea: project the problem into a lower dimension space 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users 1 1 1 1 1 1 1 1 F1 F2 F1 F2
  • 43. Model Based Collaborative Filtering: Factorization Idea: project the problem into a lower dimension space 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users 1 1 1 1 1 1 1 1 How much latent factor 1 and 2 are contained in Item 2 How much User 3 likes latent factors 1 and 2 F1 F2 F1 F2
  • 44. Collaborative Filtering via Matrix Factorization Idea: project the problem into a lower dimension space 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users 1 1 1 1 1 1 1 1 How much latent factor 1 and 2 are contained in I2 How much U3 likes latent factors 1 and 2 The dot product indicates how much U3 likes I2 F1 F2 F1 F2
  • 45. Type of Recommender System? ● Content-Based Recommender Systems ● Collaborative Filtering ● Other Approaches ● Context-Based
  • 46. Clustering Another way to make recommendations based on past purchases is through Customers clustering → Each cluster will be assigned typical preferences, based on preferences of customers who belong to the cluster → Customers within each cluster will receive recommendations computed at the cluster level PROS CONS Can be used to work on aggregated Data Can be applied as a first step for filtering techniques Can be used to capture latent similarities between users or items Recommendations per customer's cluster are usually less relevant for single user than those from collaborative filtering
  • 47. Classifiers Classifiers are general computational models trained using positive and negative examples (Logistic Regression, Bayesian Networks, Support Vector Machines, Decision Trees, etc…) They may take in inputs vector of item features (type: action / adventure, actor: Bruce Willis), preferences of customers (like: action / adventure), relations among item
  • 48. Association Past purchases are transformed into relationships of common purchases 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users
  • 49. Association Past purchases are transformed into relationships of common purchases 1 1 1 1 1 1 1 1 1 1U1 U2 U3 U4 U5 U6 I1 I2 I3 I4 Items Users 2 1 1 1 2 1I1 I2 I3 I4 I1 I2 I3 I4 Also bought Whobought
  • 50. Recommendation as a Ranking Task A recommender system aims at providing the user with a sorted list of suggestions. In Information Retrieval “providing a sorted list of suggestions” is a known as Raking Problem and it can be addressed using - Heuristics, i.e. numeric scores on query/document pairs (cosine similarity, BM25, LMIR probabilities, …) - Machine Learning (Learning to Rank, aka L2R or LETOR) - Ad-hoc metrics: Normalized Discounted Cumulative Gains, Mean Reciprocal Rank, Fraction of Concordant Pairs… - 3 approaches: pointwise, pairwise, listwise
  • 51. Recommendations and Trust A social RS recommends items that are “popular” with the friends of the user, that is which are popular in a “social” proximity of the user. Trust for Collaborative Filtering ● Use trust to give more weight to some users or combined with similarity Trust for sorting & filtering: ● Prioritize information from trusted sources
  • 52. Type of Recommender System? ● Content-Based Recommender Systems ● Collaborative Filtering ● Other Approaches - Hybrid methods ● Context-based
  • 54. Context “Context is any information that can be used to characterize the situation of an entity” “Context are those variables which may change when a same activity is performed again and again” “Context is domain specific”
  • 55. Context Physical context: time, position, and activity of the user, weather, light, and temperature ... Social context: the presence and role of other people around the user Interaction media context: the device used to access the system and the type of media that are browsed and personalized (text, music, images, movies, …) Modal context: the state of mind of the user, the user’s goals, mood, experience, and cognitive capabilities.
  • 56. “Search should be processed in the context of the information surrounding them, allowing more accurate results that better reflect user’s actual intentions” Finkelstein et al. WWW 2001 Context in Information Retrieval
  • 57. “Search should be processed in the context of the information surrounding them, allowing more accurate results that better reflect user’s actual intentions” Finkelstein et al. WWW 2001 The same holds for Recommender Systems nowadays Context in Information Retrieval
  • 59. Spatial-temporal context Social context User Context Personal context Environmental context Task context ❏ Surroundings ❏ Things ❏ Services ❏ People ❏ Information ❏ ... ❏ Time ❏ Location type ❏ Lat/Lon ❏ Movement ❏ ... ❏ Information about friends ❏ User’s role ❏ Information about family ❏ Social Network data ❏ ... ❏ Preferences ❏ Mood ❏ Expertise ❏ Age ❏ Weight ❏ Height ❏ Disabilities ❏ ... ❏ Goal ❏ Task ❏ Activities ❏ ... Context Hierarchy
  • 60. Adding Context Hierarchy to Domain Ontology Domain ontology describes set of concepts and categories in a specific domain, as well as more generic concept (Task, Goal, Action, Physical Objects…) in a multirelational semantic network. Integrating Domain Ontology with Context Hierarchy allows to build context dependent path in the system.
  • 61. Spatial-Temporal context Personal context User Context Social context Environmental context Task context Context-aware Systems Context User Context Tag Service Desk Service Provider Time Location Task Action Goal User State Investment Lending Payments Investment Service Lending Service Invest user Savings Make money available to user Payment Service Isa Isa Isa Isa Isa Isa Isa Service Isa Has a Has a Has a Performs Performs Part of Isa Triggers Achieves Results in Has a
  • 63. Type of Context Aware RecSys Contextual Pre-filtering: Context information used to select relevant portions of data Contextual Post-filtering: Contextual information is used to filter/constrain/re-rank final set of recommendations Contextual Modeling: Context information is used directly as part of learning preference models
  • 64. Type of Context Aware RecSys Data U x I x C Contextualized Data: U x I 2D Recommender U x I → R Contextual Recommendations c
  • 65. Type of Context Aware RecSys Data U x I x C Contextualized Data: U x I 2D Recommender U x I → R Contextual Recommendations Data U x I x C 2D Recommender U x I → R Recommendations Contextual Recommendations c c
  • 66. Type of Context Aware RecSys Data U x I x C Contextualized Data: U x I 2D Recommender U x I → R Contextual Recommendations Data U x I x C 2D Recommender U x I → R Recommendations Contextual Recommendations Data U x I x C1 x C2 x ... MD Recommender U x I x C1 x... → R Contextual Recommendations c c c
  • 68. Adding Context U1 U2 U3 U4 U5 U6 Users I1 I2 I3 I4 Items I1 I2 I3 I4 Items | context c U1 U2 U3 U4 U5 U6 Users|contextc
  • 70. Using Latent Variables U1 U2 U3 U4 U5 U6 Users I1 I2 I3 I4 Items Context How much latent factors 1 and 2 are contained in C1 How much latent factors 1 and 2 U3 likes How much latent factors are contained in I3 6 X 2 2 X 4 4 X 2
  • 72. Let’s represent our input data as two sets of nodes, the first related to assets and the second to customers C = {c1, c2, c3, ...} A = {a1, a2, a3, ….} In our case |C|>>|A| Bipartite Graph a1 a2 a3 a4 a5 c1 c2 c3 c4 c5 ............ Customer set Asset set
  • 73. Let’s represent our input data as two sets of nodes, the first related to assets and the second to customers, and draw who bought what C = {c1, c2, c3, ...} A = {a1, a2, a3, ….} In our case |C|>>|A| Bipartite Graph a1 a2 a3 a4 a5 c1 c2 c3 c4 c5 ............ Customer set Asset set
  • 75. Bipartite Graph a1 a2 a3 a4 a5 c1 c2 c3 c4 c5 a1 a2 a3a4 a5 Each edge can be weighted by a similarity measure, like |C(ai )| + |C(aj )| |C(ai ,aj )| q(i,j) = ............
  • 76. Bipartite Graph a1 a2 a3 a4 a5 c1 c2 c3 c4 c5 a1 a2 a3a4 a5 Each edge can be weighted by a similarity measure, like |C(ai )| + |C(aj )| |C(ai ,aj )| q(i,j) = Example: q(a1,a2) = 1 / (3 + 2) = 0.20 q(a4,a5) = 1 / (1 + 2) = 0.333 ............
  • 77. Bipartite Graph a1 a2 a3 a4 a5 c1 c2 c3 c4 c5 a1 a2 a3a4 a5 Each edge can be weighted by a similarity measure, like |C(ai )| + |C(aj )| |C(ai ,aj )| q(i,j) = Example: q(a1,a2) = 1 / (3 + 2) = 0.20 q(a4,a5) = 1 / (1 + 2) = 0.333 ............
  • 78. Bipartite Graph a1 a2 a3 a4 a5 c1 c2 c3 c4 c5 a1 a2 a3a4 a5 Each edge can be weighted by a similarity measure, like |C(ai )| + |C(aj )| |C(ai ,aj )| q(i,j) = Example: q(a1,a2) = 1 / (3 + 2) = 0.20 q(a4,a5) = 1 / (1 + 2) = 0.333 ............ Let’s compute q(i,j) for each i,j
  • 80. Word Embedding Methodology for mapping words or phrases from vocabulary to vectors of real numbers. 0.123 ... 5.344 -0.253 ... 2.333 ... 1.296 0.345 -0.453 ... 0.111 9.543 markets are conversations ...
  • 81. Word2Vec Word2vec model takes as its input a large corpus of text and produces a vector space, with each unique word in the corpus being assigned a corresponding vector in the space. Word vectors are positioned in the vector space such that words that share common contexts in the corpus are located in close proximity to one another in the space.
  • 82. Why context is relevant Word vectors capture linguistic regularities vec(“Paris”) - vec(“France”) + vec(“Italy”) is close to vec(“Rome”) vec(“walking”) - vec(“swimming”) + vec(“swam”) is close to vec(“walked”)
  • 83. “You shall know a word by the company it keeps” J.R. Firth, 1957
  • 84. “You shall know an item by the basket it belongs to”
  • 85. Item embedding If word embedding can project words in a vector space taking into account of the other words along with they are usually accompanied... … then item embedding can project items in a vector space taking into account of the other items along with they are usually accompanied