Recommender Systems & Collaborative Filtering Mark Levene (Follow the
14 Slides368.50 KB
Recommender Systems & Collaborative Filtering Mark Levene (Follow the links to learn more!)
What is a Recommender System E.g. music, books and movies In eCommerce recommend items In eLearning recommend content In search and navigation recommend links Use items as generic term for what is recommended Help people (customers, users) make decisions Recommendation is based on preferences – Of an individual – Of a group or community
Types of Recommender Systems Content-Based (CB) – use personal preferences to match and filter items – E.g. what sort of books do I like? Collaborative Filtering (CF) – match like-minded’ people – E.g. if two people have similar ‘taste’ they can recommend items to each other Social Software – the recommendation process is supported but not automated – E.g. Weblogs provide a medium for recommendation Social Data Mining – Mine log data of social activity to learn group preferences – E.g. web usage mining We concentrate on CB and CF
Content-Based Recommenders Find me things that I liked in the past. Machine learns preferences through user feedback and builds a user profile Explicit feedback – user rates items Implicit feedback – system records user activity – Clicksteam data classified according to page category and activity, e.g. browsing a product page – Time spent on an activity such as browsing a page Recommendation is viewed as a search process, with the user profile acting as the query and the set of items acting as the documents to match.
Collaborative Filtering Match people with similar interests as a basis for recommendation. 1) Many people must participate to make it likely that a person with similar interests will be found. 2) There must be a simple way for people to express their interests. 3) There must be an efficient algorithm to match people with similar interests.
How does CF Work? Users rate items – user interests recorded. Ratings may be: – Explicit, e.g. buying or rating an item – Implicit, e.g. browsing time, no. of mouse clicks Nearest neighbour matching used to find people with similar interests Items that neighbours rate highly but that you have not rated are recommended to you User can then rate recommended items
Example of CF MxN Matrix with M users and N items (An empty cell is an unrated item) Items / Users Alex Data Mining George 2 3 Mark 4 5 Peter Search Data Engines Bases 1 5 XML 4 4 2 4 5
Observations Can construct a vector for each user (where 0 implies an item is unrated) – E.g. for Alex: 1,0,5,4 – E.g. for Peter 0,0,4,5 On average, user vectors are sparse, since users rate (or buy) only a few items. Vector similarity or correlation can be used to find nearest neighbour. – E.g. Alex closest to Peter, then to George.
Case Study – Amazon.com Customers who bought this item also bought: Item-to-item collaborative filtering – Find similar items rather than similar customers. Record pairs of items bought by the same customer and their similarity. – This computation is done offline for all items. Use this information to recommend similar or popular books bought by others. – This computation is fast and done online.
Amazon Recommendations
Amazon Personal Recommendations
Case Study - GroupLens Use movielens as an example. Users rate items on a scale of 1 to 10. Nearest neighbour prediction with correlation to weight user similarity. Evaluation – how far are the predictions from the recommendations. p – prediction, r – rating, r-bar – average rating, w - similarity a – active user, u – user, i – item, pa ,i ra n ( r r ) w u , i u a ,u u 1 n w u 1 a ,u
MovieLens Recommendations
Challenges for CF Sparsity problem – when many of the items have not been rated by many people, it may be hard to find ‘like minded’ people. First rater problem – what happens if an item has not been rated by anyone. Privacy problems. Can combine CF with CB recommenders – Use CB approach to score some unrated items. – Then use CF for recommendations. Serendipity - recommend to me something I do not know already – Oxford dictionary: the occurrence and development of events by chance in a happy or beneficial way.