910 likes | 1.09k Views
Recommendation System. AMCS/CS 340: Data Mining. Xiangliang Zhang King Abdullah University of Science and Technology. Everyday examples of Recommendation. 2. Everyday examples of Recommendation. 3. Everyday examples of Recommendation. Recommendation. 4.
E N D
Recommendation System AMCS/CS 340: Data Mining Xiangliang Zhang King Abdullah University of Science and Technology
Everyday examples of Recommendation Recommendation 4
Everyday examples of Recommendation Recommendation 5
Automates quotes like: "I like this book; you might be interested in it" "I saw this movie, you’ll like it“ "Don’t go see that movie!" A good recommendation engine is worth a lot of money improve sales help users may find new books, music, or movies that was previously unknown to them Motivation for Recommender Systems 6 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Search engines help you find things you know you are looking for Recommendation engines help you find the rest (you may not know but interesting) Do you agree ? in today’s social networking-dominated Web 2.0 environment, the future of online social networking is all about Recommendation and Personalization ? Search engines will never disappear. In the near term, search engines will increasingly incorporate simple recommender technologies to handle approximate queries in the long term, recommender technologies will be more pervasive than the search industry and search technology. Future: Search VS Recommendation 7 Dr. Rick Hangartner, Chief Scientist, MyStrands, December 17, 2007
Over the past decade, recommendation engines have become quietly ubiquitous when you're about to buy something (Sales) or find something (Information), they appear at the appropriate moment. Amazon, Netflix, YouTube…... The main types of recommendations Purely editorial Simple aggregates Top 10, Most Popular, Recent Uploads Tailored to individual (Amazon, Netflix, YouTube….) Books, CDs, Music, Movies that customers may interested in Where are we today ? Most Popular Personalized 8 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Outline • Introduction of Recommendation System • Main types of Recommendation Systems • Content-based approaches • Collaborative Filtering approaches • Comparison of Contest-based and Collaborative Filtering • Hybrid approaches • Evaluation of Recommendation Systems • Challenges 9 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Users activities Explicit: Rating items: score from 1..5 on books, movies, music … Implicit: web usage mining Time spent in viewing the item Searched keywords Purchased products Navigation path Pages bookmarked Friends/Community Etc… What do we have ? 10
Each user has a profile Recommendation System learns/builds the model for user profiling Recommends items Filters information predicts users’ interests, ratings, etc. What will RS do ? 11 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Content-based Filtering Recommend items based on the active user history Predict Users preferences are based on featural description of content: e.g., key-words, Collaborative Filtering (CF) Look at users collective behavior Recommend items based on the other users who have similar behaviors as an active user Combine! How will RS do ? 12 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Outline • Introduction of Recommendation System • Main types of Recommendation Systems • Content-based approaches • Collaborative Filtering approaches • Comparison of Contest-based and Collaborative Filtering • Hybrid approaches • Evaluation of Recommendation Systems • Challenges 13 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Content-based approaches • Main idea: recommend items to a customer similar to previous items preferred in the past • Movie recommendations: recommend movies with same actor(s), director, genre, … • Websites, blogs, news: recommend other sites with “similar” content • User profiling is the key • Machine Learning / Data Mining algorithm is used to induce a profile of the users preferences from examples based on a feature description of content. 14 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Content-based approaches • About Content-based approaches • What are user profiles? • How to learn user profiles? • Decision Trees and Rule Induction • Nearest Neighbor Methods • Example: LIBRA-- Learning Intelligent Book Recommending Agent 15 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Item Representation 16 • Items stored in a database table • Structured data • Small number of attributes • Each item is described by the same set of attributes • Known set of values that the attributes may have • Unstructured data • free text fields are to convert a structured representation • each word may be viewed as an attribute • Value of each word in each document or text field? Frequency? Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
User Profiles 17 • A profile of the user’s interests is used by most recommendation systems • This profile consists of two main types of information • A model of the user’s preferences. • E.g., a function that for any item predicts the likelihood that the user is interested in that item • User’s interaction history. • E.g., items viewed by a user, items purchased by a user, search queries, etc. • User’s history will be used as training data for a machine learning algorithm that creates a user model Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
User Profiles – manually built 18 • User customization • Provide “check box” interface that let the users construct their own profiles of interests • A simple database matching process is used to find items that meet the specified criteria and recommend these to users. • Limitations • Require efforts from users • Cannot cope with changes • in user’s interests • Do not provide a way to • determine order among • recommending items
Content-based approaches • About Content-based approaches • What are user profiles? • How to learn user profiles? • Decision Trees and Rule Induction • Nearest Neighbor Methods • Example: LIBRA-- Learning Intelligent Book Recommending Agent 19 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Learning a User Model 20 • Creating a model of the user’s preference from the user history is a form of classification learning • The training data (i.e., user’s history) could be captured through explicit feedback (e.g., user rates items) or implicit observing of user’s interactions (e.g., user bought an item and later returned it is a sign of user doesn’t like the item, time spent in viewing the item) • Implicit method can collect large amount of data but could contains noise while data collected through explicit method is perfect but the amount collected could be limited Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Learning a User Model 21 • A number of classification learning algorithms can be employed • The main goal of these classification learning algorithms is to learn a function that model the user’s interests • Applying the function on a new item can give the probability that a user will like this item or a numeric value indicating the degree of interest in this item Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Decision Trees and Rule Induction 22 • Given the history of user’s interests as training data, build a decision tree which represents the user’s profile of interest • Will the user like an inexpensive Mexican restaurant? Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Nearest Neighbor Methods 24 • Simply store all the training data in memory • To classify a new item, compare it to all stored items using a similarity function and determine the “nearest neighbor” or the k nearest neighbors. • The class or numeric score of the previously unseen item can then be derived from the class of the nearest neighbor. Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Nearest Neighbor Methods 25 unseen item needed to be classified positive rated items negative rated items k = 3: negative k = 5: positive Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Nearest Neighbor Methods 26 • The similarity function depends on the type of data • Euclidean distance metric • Cosine similarity function • An item (e.g., book) d is represented as a vector • The similarity between two items can then be computed by the cosine of the angle between two vectors Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Other Classification Learning Algorithms 27 • k-nn is simple, but its performance has been shown to be competitive with more complex algorithms • Linear Classifiers • Probabilistic Methods and Naïve Bayes Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Content-based approaches • About Content-based approaches • What are user profiles? • How to learn user profiles? • Decision Trees and Rule Induction • Nearest Neighbor Methods • Example: LIBRA-- Learning Intelligent Book Recommending Agent 28 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Content-based recommender for books using information extracted from Amazon. Amazon Pages LIBRA Database Information Extraction Rated Examples Machine Learning Learner Recommendations User Profile 1.~~~~~~ 2.~~~~~~~ 3.~~~~~ : : : Predictor LIBRALearning Intelligent Book Recommending Agent Content-Based Book Recommending Using Learning for Text Categorization. Raymond J. Mooney, Loriene Roy, Univ Texas/Austin; DL-2000 29
Sample Amazon Page Age of Spiritual Machines 30
Sample Extracted Information Title: <The Age of Spiritual Machines: When Computers Exceed Human Intelligence> Author: <Ray Kurzweil> Price: <11.96> Publication Date: <January 2000> ISBN: <0140282025> Related Titles: <Title: <Robot: Mere Machine or Transcendent Mind> Author: <Hans Moravec> > … Reviews: <Author: <Amazon.com Reviews> Text: <How much do we humans…> > … Comments: <Stars: <4> Author: <Stephen A. Haines> Text:<Kurzweil has …> > … Related Authors: <Hans P. Moravec> <K. Eric Drexler>… Subjects: <Science/Mathematics> <Computers> <Artificial Intelligence> … 31
Libra uses this extracted information to form “bags of words” for the following slots: Author Title Description (reviews and comments) Subjects Related Titles Related Authors Libra Content Information 32
Amazon Pages LIBRA Database Information Extraction Rated Examples Machine Learning Learner Recommendations User Profile 1.~~~~~~ 2.~~~~~~~ 3.~~~~~ : : : Predictor LIBRA System Ready 33
User rates selected titles on a 1 to 10 scale (training data) Rating 6–10: Positive Rating 1–5: Negative Libra uses a Naïve Bayesian text-categorization algorithm to learn a model of the user Naive Bayes classifier predicts Prob(user rating>5|book) The learned profile is used to rank all other books as recommendations based on the computed posterior probability that they are positive. Prob(user rating>5|book) / Prob(user rating<=5|book) Libra Overview 34 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Outline • Introduction of Recommendation System • Main types of Recommendation Systems • Content-based approaches • Collaborative Filtering approaches • Comparison of Contest-based and Collaborative Filtering • Hybrid approaches • Evaluation of Recommendation Systems • Challenges 37 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
What is Collaborative Filtering? 38 • Community of users • For a given user, find other similar users whose ratings strongly correlate with the current user. • Recommend items rated highly by these similar users, but not rated by the current user. • Advantages: • No need to analyse contents • Can capture more subtle things Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Types of Collaborative Filtering 39 • User-based collaborative filtering • Item-based collaborative filtering • Model-based collaborative filtering • CF with observation instead of rating Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
User-based Collaborative Filtering 40 • Idea: People who agreed in the past are likely to agree again • To predict a user’s opinion for an item, use the opinion of similar users • Similarity between users is decided by looking at their overlap in opinions for other items Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Example: User-based Collaborative Filtering 41 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Similarity between users • How similar are users 1 and 2? • How similar are users 1 and 4? • How do you calculate similarity? 42 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Similarity between users: simple way • Only consider items both users have rated • For each item:Calculate difference in the users’ ratings • Take the average of this difference over the items • Average on Dj: Item j rated by User 1 and User 2: Dj = | rating (User 1, Item j) – rating (User 2, Item j) | 43 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Pearson correlation coefficient Cosine measure Users are vectors in product-dimension space Pearson = Cosine measure on centered rating vectors How to Measure Similarity? i1 in ui ua 44 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Algorithm 1: using entire matrix predict a user’s opinion for an item ? 5 7 7 Aggregation function: often weighted sum Weight depends on similarity 8 4 User i’s vote on item j User a’s opinion on item j: User i’s mean vote User a’s mean vote normalizer weights of n similar users
Algorithm 2: K-Nearest-Neighbour predict a user’s opinion for an item ? 5 7 7 Aggregation function: often weighted sum Weight depends on similarity 8 Neighbours are people who have historically had the same taste as our user 4 46 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Problems with User-based Collaborative Filtering (1) 47 • User Cold-Start problemnot enough known about new user to decide who is similar (and perhaps no other users yet..) Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Problems with User-based Collaborative Filtering (2) 48 • Sparsitywhen recommending from a large item set, users will have rated only some of the items(makes it hard to find similar users) Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Problems with User-based Collaborative Filtering (3) 49 • Scalabilitywith millions of users and items, computations become slow • Item Cold-Start problemCannot predict ratings for new item till some similar users have rated it [No problem for content-based] Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Types of Collaborative Filtering 50 • User-based collaborative filtering • Item-based collaborative filtering • Model-based collaborative filtering • CF with observation instead of rating Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Item-based Collaborative Filtering 51 • Idea: a user is likely to have the same opinion for similar items [same idea as in Content-Based Filtering] • Similarity between items is decided by looking at how other users have rated them[different from Content-based, where item features are used] • Advantage (compared to user-based CF): • Performs a little better on user Cold-Start problem • Improves stability (similarity between items is more stable than that between users) Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Example:Item-based Collaborative Filtering 52 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining
Similarity between items • How similar are items 3 and 4? • How similar are items 3 and 5? • How do you calculate similarity? 53 Xiangliang Zhang, KAUST AMCS/CS 340: Data Mining