SlideShare a Scribd company logo
Filtering and
Recommender
Systems
Content-based
and
Collaborative
Some of the slides based
On Mooney’s Slides
Personalization
• Recommenders are instances of
personalization software.
• Personalization concerns adapting to the
individual needs, interests, and preferences of
each user.
• Includes:
– Recommending
– Filtering
– Predicting (e.g. form or calendar appt. completion)
• From a business perspective, it is viewed as
part of Customer Relationship Management
(CRM).
Feedback &
Prediction/Recommendation
• Traditional IR has a single user—probably
working in single-shot modes
– Relevance feedback…
• WEB search engines have:
– Working continually
• User profiling
– Profile is a “model” of the user
• (and also Relevance feedback)
– Many users
• Collaborative filtering
– Propagate user preferences to other
users…
You know this one
Recommender Systems in Use
• Systems for recommending items (e.g. books,
movies, CD’s, web pages, newsgroup
messages) to users based on examples of
their preferences.
• Many on-line stores provide
recommendations (e.g. Amazon, CDNow).
• Recommenders have been shown to
substantially increase sales at on-line stores.
Feedback Detection
– Click certain pages in
certain order while ignore
most pages.
– Read some clicked pages
longer than some other
clicked pages.
– Save/print certain clicked
pages.
– Follow some links in
clicked pages to reach
more pages.
– Buy items/Put them in
wish-lists/Shopping Carts
– Explicitly ask users to
rate items/pages
Non-Intrusive Intrusive
Justifying Recommendation..
• Recommendation systems must justify their
recommendations
– Even if the justification is bogus..
– For search engines, the “justifications” are the page
synopses
• Some recommendation algorithms are better at
providing human-understandable justifications than
others
– Content-based ones can justify in terms of classifier
features..
– Collaborative ones are harder-pressed other than saying
“people like you seem to like this stuff”
– In general, giving good justifications is important..
Content/Profile-based
Red
Mars
Juras-
sic
Park
Lost
World
2001
Found
ation
Differ-
ence
Engine
Machine
Learning
User
Profile
Neuro-
mancer
2010
Collaborative Filtering
A 9
B 3
C
: :
Z 5
A
B
C 9
: :
Z 10
A 5
B 3
C
: :
Z 7
A
B
C 8
: :
Z
A 6
B 4
C
: :
Z
A 10
B 4
C 8
. .
Z 1
User
Database
Active
User
Correlation
Match
A 9
B 3
C
. .
Z 5
A 9
B 3
C
: :
Z 5
A 10
B 4
C 8
. .
Z 1
Extract
Recommendations
C
Content-based vs. Collaborative
Recommendation
Collaborative Filtering
A 9
B 3
C
: :
Z 5
A
B
C 9
: :
Z 10
A 5
B 3
C
: :
Z 7
A
B
C 8
: :
Z
A 6
B 4
C
: :
Z
A 10
B 4
C 8
. .
Z 1
User
Database
Active
User
Correlation
Match
A 9
B 3
C
. .
Z 5
A 9
B 3
C
: :
Z 5
A 10
B 4
C 8
. .
Z 1
Extract
Recommendations
C
Correlation analysis
Here is similar to the
Association clusters
Analysis!
Item-User Matrix
• The input to the collaborative filtering
algorithm is an mxn matrix where rows are
items and columns are users
– Sort of like term-document matrix (items are terms
and documents are users)
• Can think of users as vectors in the space of
items (or vice versa)
– Can do vector similarity between users
• And find who are most similar users..
– Can do scalar clusters over items etc..
• And find what are most correlated items
Thinkusers

docs
Items

keywords
A Collaborative Filtering Method
(think kNN regression)
• Weight all users with respect to similarity with the
active user.
– How to measure similarity?
• Could use cosine similarity; normally pearson coefficient is used
• Select a subset of the users (neighbors) to use as
predictors.
• Normalize ratings and compute a prediction from a
weighted combination of the selected neighbors’
ratings.
• Present items with highest predicted ratings as
recommendations.
3/27
Homework 2 Solns posted
Midterm on Thursday in class
Covers everything covered by the first two
homeworks
Qns??
Today
Complete Filtering
Discuss Das/Datar paper
Finding User Similarity with Person
Correlation Coefficient
• Typically use Pearson correlation coefficient
between ratings for active user, a, and another
user, u.
ua rr
ua
ua
rr
c
σσ
),(covar
, =
ra and ru are the ratings vectors for the m items rated by
both a and u
ri,j is user i’s rating for item j
m
rrrr
rr
m
i
uiuaia
ua
∑=
−−
= 1
,, ))((
),(covar
m
rr
m
i
xix
rx
∑=
−
= 1
2
, )(
σ
m
r
r
m
i
ix
x
∑=
= 1
,
Neighbor Selection
• For a given active user, a, select correlated
users to serve as source of predictions.
• Standard approach is to use the most similar
k users, u, based on similarity weights, wa,u
• Alternate approach is to include all users
whose similarity weight is above a given
threshold.
Rating Prediction
• Predict a rating, pa,i, for each item i, for active user,
a, by using the k selected neighbor users,
u ∈ {1,2,…k}.
• To account for users different ratings levels, base
predictions on differences from a user’s average
rating.
• Weight users’ ratings contribution by their similarity
to the active user.
∑
∑
=
=
−
+= n
u
ua
n
u
uiuua
aia
w
rrw
rp
1
,
1
,,
,
||
)(
ri,j is user i’s rating for item j
ua rr
ua
ua
rr
c
σσ
),(covar
, =
Similarity Weighting=User
Similarity
• Typically use Pearson correlation coefficient
between ratings for active user, a, and another
user, u.
ua rr
ua
ua
rr
c
σσ
),(covar
, =
ra and ru are the ratings vectors for the m items rated by
both a and u
ri,j is user i’s rating for item j
m
rrrr
rr
m
i
uiuaia
ua
∑=
−−
= 1
,, ))((
),(covar
m
rr
m
i
xix
rx
∑=
−
= 1
2
, )(
σ
m
r
r
m
i
ix
x
∑=
= 1
,
Significance Weighting
• Important not to trust correlations based
on very few co-rated items.
• Include significance weights, sa,u, based
on number of co-rated items, m.
uauaua csw ,,, =








≤
>
=
50if
50
50if1
, m
m
m
s ua
ua rr
ua
ua
rr
c
σσ
),(covar
, =
Problems with Collaborative Filtering
• Cold Start: There needs to be enough other users
already in the system to find a match.
• Sparsity: If there are many items to be recommended,
even if there are many users, the user/ratings matrix is
sparse, and it is hard to find users that have rated the
same items.
• First Rater: Cannot recommend an item that has not
been previously rated.
– New items
– Esoteric items
• Popularity Bias: Cannot recommend items to
someone with unique tastes.
– Tends to recommend popular items.
• WHAT DO YOU MEAN YOU DON’T CARE FOR BRITNEY
SPEARS YOU DUNDERHEAD? #$%$%$&^
Content-Based Recommending
• Recommendations are based on
information on the content of items
rather than on other users’ opinions.
• Uses machine learning algorithms to
induce a profile of the users
preferences from examples based on a
featural description of content.
• Lots of systems
Adapting Naïve Bayes idea for Book
Recommendation
• Vector of Bags model
– E.g. Books have several
different fields that are all
text
• Authors, description, …
• A word appearing in one
field is different from the
same word appearing in
another
– Want to keep each bag
different—vector of m Bags;
Conditional probabilities for
each word w.r.t each class
and bag
• Can give a profile of a
user in terms of words
that are most predictive
of what they like
– Odds Ratio
P(rel|example)/P(~rel|
example)
An example is positive if the
odds ratio is > 1
– Strengh of a keyword
• Log[P(w|rel)/P(w|~rel)]
– We can summarize a
user’s profile in terms of
the words that have
strength above some
threshold.
∏∏= =
=
S
m
dm
i
mi smcjaP
BookP
cjP
BookcjP
1
||
1
),|(
)(
)(
)|(
Advantages of Content-Based
Approach
• No need for data on other users.
– No cold-start or sparsity problems.
• Able to recommend to users with unique tastes.
• Able to recommend new and unpopular items
– No first-rater problem.
• Can provide explanations of recommended items
by listing content-features that caused an item to
be recommended.
• Well-known technology The entire field of
Classification Learning is at (y)our disposal!
Disadvantages of Content-Based
Method
• Requires content that can be encoded as
meaningful features.
• Users’ tastes must be represented as a
learnable function of these content features.
• Unable to exploit quality judgments of other
users.
– Unless these are somehow included in the content
features.
Content-Boosted CF - I
Content-Based
Predictor
Training Examples
Pseudo User-ratings Vector
Items with Predicted Ratings
User-ratings Vector
User-rated
Items
Unrated Items
Content-Boosted CF - II
• Compute pseudo user ratings matrix
– Full matrix – approximates actual full user ratings matrix
• Perform CF
– Using Pearson corr. between pseudo user-rating vectors
• This works better than either!
User Ratings
Matrix
Pseudo User
Ratings Matrix
Content-Based
Predictor
Why can’t the pseudo ratings be
used to help content-based filtering?
• How about using the pseudo ratings to improve a content-based filter
itself? (or how access to unlabelled examples improves accuracy…)
– Learn a NBC classifier C0 using the few items for which we have user ratings
– Use C0 to predict the ratings for the rest of the items
– Loop
• Learn a new classifier C1 using all the ratings (real and predicted)
• Use C1 to (re)-predict the ratings for all the unknown items
– Until no change in ratings
• With a small change, this actually works in finding a better classifier!
– Change: Keep the class posterior prediction (rather than just the max class)
• This means that each (unlabelled) entity could belong to multiple classes—with
fractional membership in each
• We weight the counts by the membership fractions
– E.g. P(A=v|c) = Sum of class weights of all examples in c that have A=v divided by Sum
of class weights of all examples in c
• This is called expectation maximization
– Very useful on web where you have tons of data, but very little of it is
labelled
– Reminds you of K-means, doesn’t it?
Filtering content bbased crs
(boosted) content filtering
Co-training
• Suppose each instance has two parts:
x = [x1, x2]
x1, x2 conditionally independent given f(x)
• Suppose each half can be used to classify instance
∃f1, f2 such that f1(x1) = f2(x2) = f(x)
• Suppose f1, f2 are learnable
f1 ∈ H1, f2 ∈ H2, ∃ learning algorithms A1, A2
Unlabeled Instances
[x1, x2]
Labeled Instances
<[x1, x2], f1(x1)>A1 f2
Hypothesis
~
A2
Small labeled data needed
You train me—I train you…
Observations
• Can apply A1 to generate as much training
data as one wants
– If x1 is conditionally independent of x2 / f(x),
– then the error in the labels produced by A1
– will look like random noise to A2 !!!
• Thus no limit to quality of the hypothesis
A2 can make
Filtering content bbased crs
Discussion of the Google News
Collaborative Filtering Paper

More Related Content

PPTX
Content based filtering
PDF
Recommender Systems! @ASAI 2011
PDF
Email Classification
PDF
Tag And Tag Based Recommender
PDF
Survey of Recommendation Systems
PPT
Recommendation and Information Retrieval: Two Sides of the Same Coin?
ODP
Collaborative Filtering
PDF
Online Learning to Rank
Content based filtering
Recommender Systems! @ASAI 2011
Email Classification
Tag And Tag Based Recommender
Survey of Recommendation Systems
Recommendation and Information Retrieval: Two Sides of the Same Coin?
Collaborative Filtering
Online Learning to Rank

What's hot (20)

PPTX
Recommender systems using collaborative filtering
PDF
ACM SIGIR 2020 Tutorial - Reciprocal Recommendation: matching users with the ...
PDF
Recommendation engines
PDF
Email Classification - Why Should it Matter to You?
PPTX
Tag based recommender system
PPT
Models for Information Retrieval and Recommendation
PPT
Project presentation
PPT
Item Based Collaborative Filtering Recommendation Algorithms
PPT
CS8091_BDA_Unit_III_Content_Based_Recommendation
PPT
Content based recommendation systems
PPTX
[Final]collaborative filtering and recommender systems
PPTX
Collaborative filtering
PPTX
Collaborative filtering at scale
PDF
Collaborative Filtering 1: User-based CF
PDF
Matrix Factorization Techniques For Recommender Systems
PPTX
Collaborative filtering
PDF
Hybrid recommender systems
PPTX
Tutorial on query auto completion
PDF
Tutorial on Relationship Mining In Online Social Networks
PPT
Developing a Secured Recommender System in Social Semantic Network
Recommender systems using collaborative filtering
ACM SIGIR 2020 Tutorial - Reciprocal Recommendation: matching users with the ...
Recommendation engines
Email Classification - Why Should it Matter to You?
Tag based recommender system
Models for Information Retrieval and Recommendation
Project presentation
Item Based Collaborative Filtering Recommendation Algorithms
CS8091_BDA_Unit_III_Content_Based_Recommendation
Content based recommendation systems
[Final]collaborative filtering and recommender systems
Collaborative filtering
Collaborative filtering at scale
Collaborative Filtering 1: User-based CF
Matrix Factorization Techniques For Recommender Systems
Collaborative filtering
Hybrid recommender systems
Tutorial on query auto completion
Tutorial on Relationship Mining In Online Social Networks
Developing a Secured Recommender System in Social Semantic Network
Ad

Viewers also liked (18)

PPT
(148065320) dijistra algo
PPT
Knightstour
PDF
Intelli j idea-report
PPTX
Cloudcomputing basics
PDF
Programming
PDF
Big data-and-the-web
PDF
Rational rose tutorial
DOCX
Mobile development xamarain
PDF
7 embed systcasestudy
PPTX
Unit ii-ppt
DOCX
Android wear notes
DOCX
How to use sq lite with java using net beans
PDF
Javanotes5 linked
PPT
Running your database in the cloud presentation
PPT
Chapter 02 collaborative recommendation
DOCX
Simple ado program by visual studio
PPT
Running your database in the cloud presentation
PPTX
Apidays efficient-131204080056-phpapp02
(148065320) dijistra algo
Knightstour
Intelli j idea-report
Cloudcomputing basics
Programming
Big data-and-the-web
Rational rose tutorial
Mobile development xamarain
7 embed systcasestudy
Unit ii-ppt
Android wear notes
How to use sq lite with java using net beans
Javanotes5 linked
Running your database in the cloud presentation
Chapter 02 collaborative recommendation
Simple ado program by visual studio
Running your database in the cloud presentation
Apidays efficient-131204080056-phpapp02
Ad

Similar to Filtering content bbased crs (20)

PPT
Recommender systems
PPT
Recommenders.ppt
PPT
Recommenders.ppt
PDF
Overview of recommender system
PDF
Apache Mahout Tutorial - Recommendation - 2013/2014
PPTX
Recommenders Systems
PPTX
Unit 1 Recommender Systems it's most important topic in machine
PPTX
Recommender Systems
PPTX
Reasesrty djhjan S - explanation required.pptx
PPTX
Collaborative Filtering Recommendation System
PPTX
User personalization
PPTX
Recommendation Systems
PDF
Recommandation systems -
PDF
best online data science courses
PDF
Top data science institutes in hyderabad
PDF
Big data certification training mumbai
PDF
Best data science courses in pune
DOC
WORD
PDF
Recommender systems
PDF
Building a Recommender systems by Vivek Murugesan - Technical Architect at Cr...
Recommender systems
Recommenders.ppt
Recommenders.ppt
Overview of recommender system
Apache Mahout Tutorial - Recommendation - 2013/2014
Recommenders Systems
Unit 1 Recommender Systems it's most important topic in machine
Recommender Systems
Reasesrty djhjan S - explanation required.pptx
Collaborative Filtering Recommendation System
User personalization
Recommendation Systems
Recommandation systems -
best online data science courses
Top data science institutes in hyderabad
Big data certification training mumbai
Best data science courses in pune
WORD
Recommender systems
Building a Recommender systems by Vivek Murugesan - Technical Architect at Cr...

Recently uploaded (20)

PPTX
cse couse aefrfrqewrbqwrgbqgvq2w3vqbvq23rbgw3rnw345
PDF
シュアーイノベーション採用ピッチ資料|Company Introduction & Recruiting Deck
PPTX
PMP (Project Management Professional) course prepares individuals
PPTX
microtomy kkk. presenting to cryst in gl
DOCX
mcsp232projectguidelinesjan2023 (1).docx
PPTX
Nervous_System_Drugs_PPT.pptxXXXXXXXXXXXXXXXXX
PDF
Why Today’s Brands Need ORM & SEO Specialists More Than Ever.pdf
PPTX
ESD MODULE-5hdbdhbdbdbdbbdbdbbdndbdbdbdbbdbd
PPTX
E-Commerce____Intermediate_Presentation.pptx
PDF
Daisia Frank: Strategy-Driven Real Estate with Heart.pdf
PDF
Biography of Mohammad Anamul Haque Nayan
PPTX
Cerebral_Palsy_Detailed_Presentation.pptx
PPTX
A slide for students with the advantagea
PPTX
1751884730-Visual Basic -Unitj CS B.pptx
DOC
field study for teachers graduating samplr
PPTX
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
PDF
Blue-Modern-Elegant-Presentation (1).pdf
PPTX
Prokaryotes v Eukaryotes PowerPoint.pptx
PPTX
FINAL PPT.pptx cfyufuyfuyuy8ioyoiuvy ituyc utdfm v
PDF
APNCET2025RESULT Result Result 2025 2025
cse couse aefrfrqewrbqwrgbqgvq2w3vqbvq23rbgw3rnw345
シュアーイノベーション採用ピッチ資料|Company Introduction & Recruiting Deck
PMP (Project Management Professional) course prepares individuals
microtomy kkk. presenting to cryst in gl
mcsp232projectguidelinesjan2023 (1).docx
Nervous_System_Drugs_PPT.pptxXXXXXXXXXXXXXXXXX
Why Today’s Brands Need ORM & SEO Specialists More Than Ever.pdf
ESD MODULE-5hdbdhbdbdbdbbdbdbbdndbdbdbdbbdbd
E-Commerce____Intermediate_Presentation.pptx
Daisia Frank: Strategy-Driven Real Estate with Heart.pdf
Biography of Mohammad Anamul Haque Nayan
Cerebral_Palsy_Detailed_Presentation.pptx
A slide for students with the advantagea
1751884730-Visual Basic -Unitj CS B.pptx
field study for teachers graduating samplr
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
Blue-Modern-Elegant-Presentation (1).pdf
Prokaryotes v Eukaryotes PowerPoint.pptx
FINAL PPT.pptx cfyufuyfuyuy8ioyoiuvy ituyc utdfm v
APNCET2025RESULT Result Result 2025 2025

Filtering content bbased crs

  • 2. Personalization • Recommenders are instances of personalization software. • Personalization concerns adapting to the individual needs, interests, and preferences of each user. • Includes: – Recommending – Filtering – Predicting (e.g. form or calendar appt. completion) • From a business perspective, it is viewed as part of Customer Relationship Management (CRM).
  • 3. Feedback & Prediction/Recommendation • Traditional IR has a single user—probably working in single-shot modes – Relevance feedback… • WEB search engines have: – Working continually • User profiling – Profile is a “model” of the user • (and also Relevance feedback) – Many users • Collaborative filtering – Propagate user preferences to other users… You know this one
  • 4. Recommender Systems in Use • Systems for recommending items (e.g. books, movies, CD’s, web pages, newsgroup messages) to users based on examples of their preferences. • Many on-line stores provide recommendations (e.g. Amazon, CDNow). • Recommenders have been shown to substantially increase sales at on-line stores.
  • 5. Feedback Detection – Click certain pages in certain order while ignore most pages. – Read some clicked pages longer than some other clicked pages. – Save/print certain clicked pages. – Follow some links in clicked pages to reach more pages. – Buy items/Put them in wish-lists/Shopping Carts – Explicitly ask users to rate items/pages Non-Intrusive Intrusive
  • 6. Justifying Recommendation.. • Recommendation systems must justify their recommendations – Even if the justification is bogus.. – For search engines, the “justifications” are the page synopses • Some recommendation algorithms are better at providing human-understandable justifications than others – Content-based ones can justify in terms of classifier features.. – Collaborative ones are harder-pressed other than saying “people like you seem to like this stuff” – In general, giving good justifications is important..
  • 7. Content/Profile-based Red Mars Juras- sic Park Lost World 2001 Found ation Differ- ence Engine Machine Learning User Profile Neuro- mancer 2010 Collaborative Filtering A 9 B 3 C : : Z 5 A B C 9 : : Z 10 A 5 B 3 C : : Z 7 A B C 8 : : Z A 6 B 4 C : : Z A 10 B 4 C 8 . . Z 1 User Database Active User Correlation Match A 9 B 3 C . . Z 5 A 9 B 3 C : : Z 5 A 10 B 4 C 8 . . Z 1 Extract Recommendations C Content-based vs. Collaborative Recommendation
  • 8. Collaborative Filtering A 9 B 3 C : : Z 5 A B C 9 : : Z 10 A 5 B 3 C : : Z 7 A B C 8 : : Z A 6 B 4 C : : Z A 10 B 4 C 8 . . Z 1 User Database Active User Correlation Match A 9 B 3 C . . Z 5 A 9 B 3 C : : Z 5 A 10 B 4 C 8 . . Z 1 Extract Recommendations C Correlation analysis Here is similar to the Association clusters Analysis!
  • 9. Item-User Matrix • The input to the collaborative filtering algorithm is an mxn matrix where rows are items and columns are users – Sort of like term-document matrix (items are terms and documents are users) • Can think of users as vectors in the space of items (or vice versa) – Can do vector similarity between users • And find who are most similar users.. – Can do scalar clusters over items etc.. • And find what are most correlated items Thinkusers  docs Items  keywords
  • 10. A Collaborative Filtering Method (think kNN regression) • Weight all users with respect to similarity with the active user. – How to measure similarity? • Could use cosine similarity; normally pearson coefficient is used • Select a subset of the users (neighbors) to use as predictors. • Normalize ratings and compute a prediction from a weighted combination of the selected neighbors’ ratings. • Present items with highest predicted ratings as recommendations.
  • 11. 3/27 Homework 2 Solns posted Midterm on Thursday in class Covers everything covered by the first two homeworks Qns?? Today Complete Filtering Discuss Das/Datar paper
  • 12. Finding User Similarity with Person Correlation Coefficient • Typically use Pearson correlation coefficient between ratings for active user, a, and another user, u. ua rr ua ua rr c σσ ),(covar , = ra and ru are the ratings vectors for the m items rated by both a and u ri,j is user i’s rating for item j m rrrr rr m i uiuaia ua ∑= −− = 1 ,, ))(( ),(covar m rr m i xix rx ∑= − = 1 2 , )( σ m r r m i ix x ∑= = 1 ,
  • 13. Neighbor Selection • For a given active user, a, select correlated users to serve as source of predictions. • Standard approach is to use the most similar k users, u, based on similarity weights, wa,u • Alternate approach is to include all users whose similarity weight is above a given threshold.
  • 14. Rating Prediction • Predict a rating, pa,i, for each item i, for active user, a, by using the k selected neighbor users, u ∈ {1,2,…k}. • To account for users different ratings levels, base predictions on differences from a user’s average rating. • Weight users’ ratings contribution by their similarity to the active user. ∑ ∑ = = − += n u ua n u uiuua aia w rrw rp 1 , 1 ,, , || )( ri,j is user i’s rating for item j ua rr ua ua rr c σσ ),(covar , =
  • 15. Similarity Weighting=User Similarity • Typically use Pearson correlation coefficient between ratings for active user, a, and another user, u. ua rr ua ua rr c σσ ),(covar , = ra and ru are the ratings vectors for the m items rated by both a and u ri,j is user i’s rating for item j m rrrr rr m i uiuaia ua ∑= −− = 1 ,, ))(( ),(covar m rr m i xix rx ∑= − = 1 2 , )( σ m r r m i ix x ∑= = 1 ,
  • 16. Significance Weighting • Important not to trust correlations based on very few co-rated items. • Include significance weights, sa,u, based on number of co-rated items, m. uauaua csw ,,, =         ≤ > = 50if 50 50if1 , m m m s ua ua rr ua ua rr c σσ ),(covar , =
  • 17. Problems with Collaborative Filtering • Cold Start: There needs to be enough other users already in the system to find a match. • Sparsity: If there are many items to be recommended, even if there are many users, the user/ratings matrix is sparse, and it is hard to find users that have rated the same items. • First Rater: Cannot recommend an item that has not been previously rated. – New items – Esoteric items • Popularity Bias: Cannot recommend items to someone with unique tastes. – Tends to recommend popular items. • WHAT DO YOU MEAN YOU DON’T CARE FOR BRITNEY SPEARS YOU DUNDERHEAD? #$%$%$&^
  • 18. Content-Based Recommending • Recommendations are based on information on the content of items rather than on other users’ opinions. • Uses machine learning algorithms to induce a profile of the users preferences from examples based on a featural description of content. • Lots of systems
  • 19. Adapting Naïve Bayes idea for Book Recommendation • Vector of Bags model – E.g. Books have several different fields that are all text • Authors, description, … • A word appearing in one field is different from the same word appearing in another – Want to keep each bag different—vector of m Bags; Conditional probabilities for each word w.r.t each class and bag • Can give a profile of a user in terms of words that are most predictive of what they like – Odds Ratio P(rel|example)/P(~rel| example) An example is positive if the odds ratio is > 1 – Strengh of a keyword • Log[P(w|rel)/P(w|~rel)] – We can summarize a user’s profile in terms of the words that have strength above some threshold. ∏∏= = = S m dm i mi smcjaP BookP cjP BookcjP 1 || 1 ),|( )( )( )|(
  • 20. Advantages of Content-Based Approach • No need for data on other users. – No cold-start or sparsity problems. • Able to recommend to users with unique tastes. • Able to recommend new and unpopular items – No first-rater problem. • Can provide explanations of recommended items by listing content-features that caused an item to be recommended. • Well-known technology The entire field of Classification Learning is at (y)our disposal!
  • 21. Disadvantages of Content-Based Method • Requires content that can be encoded as meaningful features. • Users’ tastes must be represented as a learnable function of these content features. • Unable to exploit quality judgments of other users. – Unless these are somehow included in the content features.
  • 22. Content-Boosted CF - I Content-Based Predictor Training Examples Pseudo User-ratings Vector Items with Predicted Ratings User-ratings Vector User-rated Items Unrated Items
  • 23. Content-Boosted CF - II • Compute pseudo user ratings matrix – Full matrix – approximates actual full user ratings matrix • Perform CF – Using Pearson corr. between pseudo user-rating vectors • This works better than either! User Ratings Matrix Pseudo User Ratings Matrix Content-Based Predictor
  • 24. Why can’t the pseudo ratings be used to help content-based filtering? • How about using the pseudo ratings to improve a content-based filter itself? (or how access to unlabelled examples improves accuracy…) – Learn a NBC classifier C0 using the few items for which we have user ratings – Use C0 to predict the ratings for the rest of the items – Loop • Learn a new classifier C1 using all the ratings (real and predicted) • Use C1 to (re)-predict the ratings for all the unknown items – Until no change in ratings • With a small change, this actually works in finding a better classifier! – Change: Keep the class posterior prediction (rather than just the max class) • This means that each (unlabelled) entity could belong to multiple classes—with fractional membership in each • We weight the counts by the membership fractions – E.g. P(A=v|c) = Sum of class weights of all examples in c that have A=v divided by Sum of class weights of all examples in c • This is called expectation maximization – Very useful on web where you have tons of data, but very little of it is labelled – Reminds you of K-means, doesn’t it?
  • 27. Co-training • Suppose each instance has two parts: x = [x1, x2] x1, x2 conditionally independent given f(x) • Suppose each half can be used to classify instance ∃f1, f2 such that f1(x1) = f2(x2) = f(x) • Suppose f1, f2 are learnable f1 ∈ H1, f2 ∈ H2, ∃ learning algorithms A1, A2 Unlabeled Instances [x1, x2] Labeled Instances <[x1, x2], f1(x1)>A1 f2 Hypothesis ~ A2 Small labeled data needed You train me—I train you…
  • 28. Observations • Can apply A1 to generate as much training data as one wants – If x1 is conditionally independent of x2 / f(x), – then the error in the labels produced by A1 – will look like random noise to A2 !!! • Thus no limit to quality of the hypothesis A2 can make
  • 30. Discussion of the Google News Collaborative Filtering Paper