Part 11: Collaborative Filtering. Francesco Ricci

Similar documents
Part 11: Collaborative Filtering. Francesco Ricci

Collaborative Filtering and Evaluation of Recommender Systems

Recommender Systems. Francesco Ricci Database and Information Systems Free University of Bozen, Italy

Part 12: Advanced Topics in Collaborative Filtering. Francesco Ricci

COMP6237 Data Mining Making Recommendations. Jonathon Hare

Chapter 8. Evaluating Search Engine

Project Report. An Introduction to Collaborative Filtering

Recommender Systems 6CCS3WSN-7CCSMWAL

Thanks to Jure Leskovec, Anand Rajaraman, Jeff Ullman

Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University Infinite data. Filtering data streams

Recommendations in Context

Recommender Systems. Nivio Ziviani. Junho de Departamento de Ciência da Computação da UFMG

Recommender Systems (RSs)

Improving Results and Performance of Collaborative Filtering-based Recommender Systems using Cuckoo Optimization Algorithm

Introduction. Chapter Background Recommender systems Collaborative based filtering

Recommendation Algorithms: Collaborative Filtering. CSE 6111 Presentation Advanced Algorithms Fall Presented by: Farzana Yasmeen

Recommender Systems: Practical Aspects, Case Studies. Radek Pelánek

Web Personalization & Recommender Systems

Recommender Systems. Collaborative Filtering & Content-Based Recommending

Predictive Analysis: Evaluation and Experimentation. Heejun Kim

Predicting User Ratings Using Status Models on Amazon.com

Web Personalization & Recommender Systems

CS435 Introduction to Big Data Spring 2018 Colorado State University. 3/21/2018 Week 10-B Sangmi Lee Pallickara. FAQs. Collaborative filtering

Introduction to Data Mining

Content-based Dimensionality Reduction for Recommender Systems

Social Search Networks of People and Search Engines. CS6200 Information Retrieval

Experiences from Implementing Collaborative Filtering in a Web 2.0 Application

CS224W Project: Recommendation System Models in Product Rating Predictions

Singular Value Decomposition, and Application to Recommender Systems

Search Evaluation. Tao Yang CS293S Slides partially based on text book [CMS] [MRS]

CS 124/LINGUIST 180 From Languages to Information

CS 124/LINGUIST 180 From Languages to Information

CSCI 599: Applications of Natural Language Processing Information Retrieval Evaluation"

Michele Gorgoglione Politecnico di Bari Viale Japigia, Bari (Italy)

Recap: Project and Practicum CS276B. Recommendation Systems. Plan for Today. Sample Applications. What do RSs achieve? Given a set of users and items

Recommender Systems. Master in Computer Engineering Sapienza University of Rome. Carlos Castillo

ELEC6910Q Analytics and Systems for Social Media and Big Data Applications Lecture 4. Prof. James She

Information Retrieval. Lecture 7 - Evaluation in Information Retrieval. Introduction. Overview. Standard test collection. Wintersemester 2007

Information Retrieval

Data Mining Lecture 2: Recommender Systems

Information Retrieval. Lecture 7

LECTURE 12. Web-Technology

Recommender Systems - Introduction. Data Mining Lecture 2: Recommender Systems

CS 124/LINGUIST 180 From Languages to Information

Using Social Networks to Improve Movie Rating Predictions

Study on Recommendation Systems and their Evaluation Metrics PRESENTATION BY : KALHAN DHAR

CSCI 5417 Information Retrieval Systems. Jim Martin!

Collaborative Filtering using a Spreading Activation Approach

A probabilistic model to resolve diversity-accuracy challenge of recommendation systems

Evaluation of Retrieval Systems

Personalized Web Search

Recommender Systems using Collaborative Filtering D Yogendra Rao

Recommender System. What is it? How to build it? Challenges. R package: recommenderlab

Influence in Ratings-Based Recommender Systems: An Algorithm-Independent Approach

Collaborative Filtering using Weighted BiPartite Graph Projection A Recommendation System for Yelp

Evaluation Measures. Sebastian Pölsterl. April 28, Computer Aided Medical Procedures Technische Universität München

Collaborative Filtering using Euclidean Distance in Recommendation Engine

Performance Comparison of Algorithms for Movie Rating Estimation

Basic Tokenizing, Indexing, and Implementation of Vector-Space Retrieval

Advanced Search Techniques for Large Scale Data Analytics Pavel Zezula and Jan Sedmidubsky Masaryk University

Mining Web Data. Lijun Zhang

Part 7: Evaluation of IR Systems Francesco Ricci

Machine Learning using MapReduce

THIS LECTURE. How do we know if our results are any good? Results summaries: Evaluating a search engine. Making our good results usable to a user

amount of available information and the number of visitors to Web sites in recent years

CPSC 340: Machine Learning and Data Mining. Non-Parametric Models Fall 2016

10/10/13. Traditional database system. Information Retrieval. Information Retrieval. Information retrieval system? Information Retrieval Issues

Distributed Itembased Collaborative Filtering with Apache Mahout. Sebastian Schelter twitter.com/sscdotopen. 7.

Towards a hybrid approach to Netflix Challenge

Machine Learning and Bioinformatics 機器學習與生物資訊學

Movie Recommender System - Hybrid Filtering Approach

Evaluation of Retrieval Systems

AMAZON.COM RECOMMENDATIONS ITEM-TO-ITEM COLLABORATIVE FILTERING PAPER BY GREG LINDEN, BRENT SMITH, AND JEREMY YORK

Knowledge Discovery and Data Mining 1 (VO) ( )

Collaborative Filtering based on User Trends

CAN DISSIMILAR USERS CONTRIBUTE TO ACCURACY AND DIVERSITY OF PERSONALIZED RECOMMENDATION?

Evaluation of Retrieval Systems

The influence of social filtering in recommender systems

Hybrid Recommendation System Using Clustering and Collaborative Filtering

CCRMA MIR Workshop 2014 Evaluating Information Retrieval Systems. Leigh M. Smith Humtap Inc.

Information Retrieval. (M&S Ch 15)

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

CS6375: Machine Learning Gautam Kunapuli. Mid-Term Review

BBS654 Data Mining. Pinar Duygulu

Passage Retrieval and other XML-Retrieval Tasks. Andrew Trotman (Otago) Shlomo Geva (QUT)

Jeff Howbert Introduction to Machine Learning Winter

Chapter 6: Information Retrieval and Web Search. An introduction

WebSci and Learning to Rank for IR

INF4820 Algorithms for AI and NLP. Evaluating Classifiers Clustering

Information Retrieval

arxiv: v3 [cs.ni] 3 May 2017

A Recommender System Based on Improvised K- Means Clustering Algorithm

CS473: Course Review CS-473. Luo Si Department of Computer Science Purdue University

Diversification of Query Interpretations and Search Results

A PERSONALIZED RECOMMENDER SYSTEM FOR TELECOM PRODUCTS AND SERVICES

Matrix-Vector Multiplication by MapReduce. From Rajaraman / Ullman- Ch.2 Part 1

COLLABORATIVE LOCATION AND ACTIVITY RECOMMENDATIONS WITH GPS HISTORY DATA

Retrieval Evaluation. Hongning Wang

A Time-based Recommender System using Implicit Feedback

Robustness and Accuracy Tradeoffs for Recommender Systems Under Attack

Transcription:

Part : Collaborative Filtering Francesco Ricci

Content An example of a Collaborative Filtering system: MovieLens The collaborative filtering method n Similarity of users n Methods for building the rating prediction The role of a recommender system n Service Provider n End user Evaluating a recommender system n Mean absolute error n Precision/Recall n Normalized discounted cumulative gain 2

It s all about You 3

User generated content User-generated content has been the key to success for many of today s leading Web 2.0 companies, such as Amazon, ebay and Youtube The community adds value to these sites, which, in many cases, are almost entirely built on usergenerated content User-generated content types: n articles, reviews (tripadvisor) n home videos (youtube) n photos (flickr) n items evaluations/ratings (all!) n information that is gathered from the users actions online (e.g. in Amazon recommender system). 4

Recommender Systems In everyday life we rely on recommendations from other people either by word of mouth, recommendation letters, movie and book reviews printed in newspapers In a typical recommender system people provide recommendations as inputs, which the system then aggregates and directs to appropriate recipients n Aggregation of recommendations n Match the recommendations with those searching for recommendations. [Resnick and Varian, 997] 5

Social Filtering??? 6

The Collaborative Filtering Idea Trying to predict the opinion the user will have on the different items and be able to recommend the best items to each user It is based on: the user s previous likings and the opinions of other like minded users CF is a typical Internet application it must be supported by a networking infrastructure n At least many users and one server n But also a distributed model with many servers There is no stand alone CF application. Why we need that? 7

Movie Lens http://www.movielens.org/ http://news.cnet.com/830-7939_09-020003-2.html 8

9

0

2

3

4

Collaborative Filtering Positive rating Negative rating? 5

The CF Ingredients List of m Users and a list of n Items Each user has a list of items he/she expressed their opinion about (can be a null set) Explicit opinion - a rating score (numerical scale) n Sometime the rating is implicitly purchase records Active user for whom the CF prediction task is performed A metric for measuring similarity between users A method for selecting a subset of neighbors for prediction A method for predicting a rating for items not currently rated by the active user. Positive Negative? rating Negative Positive rating rating? 6

Collaborative-Based Filtering The collaborative based filtering recommendation techniques proceeds in these steps:. For a target/active user (the user to whom a recommendation has to be produced) the set of his ratings is identified 2. The users more similar to the target/active user (according to a similarity function) are identified (neighbor formation) 3. The products evaluated by these similar users are identified 4. For each one of these products a prediction - of the rating that would be given by the target user to the product - is generated 5. Based on this predicted ratings the set of top N products are recommended. 7

A Simplified Model of Recommendation. Two types of entities: Users and Items 2. A background knowledge: l l A set of ratings: a map R: Users x Items à [0,] U {?} A set of features of the Users and/or Items 3. A method for eliminating all or part of the? values for some (user, item) pairs substituting? with the true values R(u, i) = Average {R(su, i)} su similar to u 4. A method for selecting the items to recommend l Recommend to u the item i*=arg max i Items {R(u,i)} [Adomavicius et al., 2005] 8

Nearest Neighbor Collaborative-Based Filtering 0 Dislike Like? Unknown User Model = interaction history Current User? 0 0 0 0 st item rate 4 th item rate Users Items Hamming distance 5 6 6 5 4 8 Nearest Neighbor 9

-Nearest Neighbor can be easily wrong 0 Dislike Like? Unknown User Model = interaction history Current User? 0 0 0 0 st item rate This is the only user having a positive rating on this product 4 th item rate Users Items Hamming distance 5 6 6 5 4 8 Nearest Neighbor 20

2 score date movie user 5/7/02 2 5 8/2/04 23 4 3/6/0 345 2 4 5//05 23 2 3 7/5/02 768 2 5 /22/0 76 3 4 8/3/00 45 4 9/0/05 568 5 2 3/5/03 342 5 2 2/28/00 234 5 5 8//02 76 6 4 6/5/03 56 6 score date movie user? /6/05 62? 9/3/04 96? 8/8/05 7 2? /22/05 3 2? 6/3/02 47 3? 8/2/0 5 3? 9//00 4 4? 8/27/05 28 4? 4/4/05 93 5? 7/6/03 74 5? 2/4/04 69 6? 0/3/03 83 6 Training data Test data Movie rating data

Matrix of ratings Items Users 22

Collaborative-Based Filtering A collection of n user u i and a collection of m products p j A n m matrix of ratings v ij, with v ij =? if user i did not rate product j Prediction for user i and product j is computed as Where, v i is the average rating of user i, K is a normalization factor such that the sum of u ik is, and u ik = j ( v ( v ij v v ) i )( v v v 2 j ij i j kj k Where the sum (and averages) is over j s.t. v ij and v kj are not?. v * ij = v i + K v? kj u ik ( v kj kj ( v v k ) k ) ) 2 Sum over all users k that rated j Similarity of users i and k [Breese et al., 998] 23

Example p j u 5 4 v 5 = 4 u i? v = 3.2 i u 8 3 v 8 = 3.5 u 9 5 v 9 = 3 Users similarities: u i5 = 0.5, u i8 = 0.5, u i9 = 0.8 v * ij = v i + K? v kj u ik ( v kj v k ) v* ij = 3.2 + /(0.5+0.5+0.8) * [0.5 (4-4) + 0.5 (3 3.5) + 0.8 (5-3) = 3.2 + /.8 * [0-0.25 +.6] = 3.2 + 0.75 = 3.95 24

Proximity Measure: Cosine Correlation can be replaced with a typical Information Retrieval (IR) similarity measure: cosine cos( u i, u j ) = k = m m k = v v 2 ik ik v m jk k = v 2 jk Most of these ratings are unknown, so are not used This has been shown to provide worse results by someone [Breese et al., 998] But many uses cosine [Sarwar et al., 2000] and somebody reports that it performs better [Anand and Mobasher, 2005] 25

Comparison: Pearson vs. Cosine Pearson user user 2 user 3 p 2 5 p2 3 4 3 p3 4 5 2 p4 2 3 4 p5 2 5 p6 2 3 4 p7 2 3 4 p8 2 5 user user 2 user 3 user - user 2 - user 3 - - Cosine User 2 ratings are those of user incremented by User 3 has opposite preferences of user user user 2 user 3 user,00 0,99 0,76 user 2 0,99,00 0,84 user 3 0,76 0,84,00 26

Example (cont.) 5 4 User 3 3 User product 2 2 User 2 User 4 2 3 4 5 product Red and green pairs of vectors (users) have Pearson correlation = - (ratings inverted with respect to the average rating 2.5) Red vectors have a cosine distance smaller than green (dashed) vectors (more reasonable in this case) 27

Other Aggregation Function u ik is the similarity of user u i, and u k A n m matrix of ratings v ij, with v ij =? if user i did not rate product j Prediction for user i and product j, is computed as (K is a normalization factor): v * ij = v i + K v? kj u ik ( v kj v k ) v * ij = K? v kj u ik v kj v * ij = N u U ( k u i ) v kj U(u i ) is a neighbor of users similar to u i - of size N 28

The goal of a RS: service provider Increase the number of sold items n Because the recommended items are likely to suit the user's needs and wants Sell more diverse items n Using a RS the user can select items that might be hard to find without a precise recommendation Increase the user satisfaction n The user will find the recommendations interesting, relevant, and would enjoy using the system Increase user fidelity n A user should be loyal to a Web site which, when visited, recognizes the old customer and treats him as a valuable visitor Better understand what the user wants n Build a user profile that can be used in several personalization tasks (e.g., direct marketing). 29

The Long Tail Netflix (catalog of over 80,000 movie titles) rents a large volume of less popular movies in addition to the substantial business it does renting hits. The Long Tail: the economic model in which the market for non-hits (typically large numbers of low-volume items) could be significant and sometimes even greater than the market for big hits (typically small numbers of high-volume items). 30

The goal of a RS: users Primary functions Find some good Items Find all good items Annotation in context Recommend a sequence Recommend a bundle Just browsing Secondary functions Find credible recommender Improve the profile Express self Help others Influence others. 3

Evaluating Recommender Systems The majority focused on system s accuracy in supporting the find good items user s task Assumption: if a user could examine all the available items, she could place them in a ordering of preference. Measure how good is the system in predicting the exact rating value (value comparison) 2. Measure how well the system can predict whether the item is relevant or not (relevant vs. not relevant) 3. Measure how close the predicted ranking of items is to the user s true ranking (ordering comparison). 32

How Has Been Measured Split the available data (so you need to collect data first!), i.e., the user-item ratings into two sets: training and test Build a model on the training data n For instance, in a nearest neighbor (memory-based) CF simply put the ratings in the training in a separate set Compare the predicted... n rating on each test item (user-item combination) with the true rating stored in the test set n recommendations with the really good recommendations (what are they?) n ranking with the true ranking (what is this?) You need a metric to compare the predicted rating (or recommendation or ranking) with the true rating (or recommendation or ranking). 33

Splitting the data items Does not work users train test 34

Splitting the data items Does not work users train test 35

Splitting the data items It works! users train test 36

Accuracy: Comparing Values Measure how close the predicted ratings are to the true user ratings (for all the ratings in the test set) Predictive accuracy (rating): Mean Absolute Error (MAE), p i is the predicted rating and r i is the true one: MAE N i = = N p i r i It may be less appropriate for tasks such as Find Good Items because people look only to top rated items Variation : Mean Squared Error (take the square of the differences), Root Mean Squared Error (and then take the square root). These metrics emphasize large errors. Variation 2: Normalized MAE MAE divided by the range of possible ratings allowing comparing results on different data sets, having different rating scales. 37

Relevant Recommendations: Precision and Recall To compute P and R the rating scale must be binary or one must transform it into a binary scale (e.g. items rated above 3 vs. those rated below) Precision is the ratio of relevant items selected by the recommender to the number of items selected (N rs /N s ) Recall is the ratio of relevant items selected to the number of relevant (N rs /N r ) Precision and recall are the most popular metrics for evaluating information retrieval systems. 38

Example Complete Knowledge We assume to know the relevance of all the items in the catalogue for a given user If you have ratings consider relevant the items whose rating is above the average rating (e.g., 4 and 5) Assume that the orange portion is that recommended by the system Precision=4/7=0.57 0 0 0 0 0 Selected Recall=4/9=0.44 39

Example Incomplete Knowledge We do not know the relevance of all the items in the catalogue for a given user The orange portion is that recommended by the system Precision: 4/7=0.57 OR 4/6? Recall: 4/0 <= R <= 4/7 4/0 if all unknown are relevant 4/7 if all unknown are irrelevant 0? 0 0??? Selected Researchers typically say P=4/6 and R= 4/7 (they are optimistic J 40

F Combinations of Recall and Precision such as F Typically systems with high recall have low precision and vice versa Same problems as before when knowledge is incomplete. F PR = 2 P + R 0 0 0 0 0 Selected P=4/7=0.57 R=4/9=0.44 F = 0.5 4

Precision recall for recommenders Relevant if the true rating is >= 4 Retrieve all the items whose predicted rating is >= x (x=5, 4.5, 4, 3.5,... 0) You get 0 points to plot Why precision is not going to 0? Exercise. What the 0.7 value represents? 42

Problems with Precision and Recall To compute them we must know what items are relevant and what are not relevant Difficult to know what is relevant for a user in a recommender system that manages thousands/ millions of products May be easier for some tasks where, given the user or the context, the number of recommendable products is small only a small portion could fit Recall is more difficult to estimate (knowledge of all the relevant products) Precision is a bit easier you must know what part of the selected products are relevant (you can ask to the user after the recommendation but has not been done in this way not many evaluations did involve real users). 43

Quality of the produced ranking: NDCG For a set of queries Q (users), let R(j, d) be the relevance score (rating) that human assessors (user) gave to document (item) at rank index d for query (user) j The ranking is computed by sorting the items by decreasing rating prediction where Z kj is a normalization factor calculated to make it so that a perfect ranking s NDCG at k for query j is For queries for which k < k documents are retrieved, the last summation is done up to k When rating knowledge is incomplete the items considered are only those evaluated by the user (test set). 44

Summary Illustrated the basic Collaborative Filtering recommendation method Illustrated different methods for neighbor formation and prediction computation Explained the role of a recommender system Illustrated some methods for measuring the performance of a RS n Exact rating prediction: mean square error (MAE) n Relevant: precision and recall n Normalized cumulative discounted gain Discussion on the precision/recall issues and tradeoff. 45

Questions How the collaborative filtering (CF) technique works? Can CF work on your PC if this is not networked? What are the advantages and disadvantages of CF? What are the methods used for computing the similarity of users? Could you imagine other similarity measures? What is the user model in a CF recommender system? Why a RS can help to sell the less popular items? How the CF method can take into account the fact that a rating is old and may not be relevant anymore? How to select those items for which to ask the user rating? A good item selection method. Is precision more important than recall in a recommender system? 46