Recommender systems Flashcards
What is a recommender system? What is their task?
- software tools and techniques that provide suggestions for items that are most
likely of interest to a particular user- or predict the preference a user would give
- can be used for various task but the main is still predictions and suggestions
What types of data are used in RecSys?
- input
- users data
- items data
- interactions
- RecSys elaborates them with context and outputs recommendations
What is the taxonomy of RecSys?
- personalized -> depends on datas and users interactions
- collaborative filtering -> recommend items liked by users with similar tastes (Item-item similarity, User-user similarity)
- non-personalized -> same items suggested to all users
- most popular
- highest rated
What are the types of interactions used in RecSys?
- explicit feedback
- hard to collect, requires user effort (likes, rating)
- reliable
- implicit feedback (visualizations, clicks)
- easy to collect
- noisy
What is the rating matrix?
- way to represent rating informations
- rows users
- columns items
- explicit -> rating or 0, implicit -> boolean
- matrix is generally sparse density < 0.01%
- user and item distribution is generally long tail (users generally interacts with little items)
What are some popular recommendation tasks?
- Rating prediction
- explicit feedback
- predict missing ratings in the rating matrix
- TOP-N item recommendation
- implicit feedback
- predicting N items the user will like the most
- uses scoring function for relevance
What are the quality indicators for RecSys? Why are they used?
- to tell if a system is doing a good job
- Relevance -> ability to recommend items that users like
- Coverage -> most of the items in a catalogue
- Novelty -> items unknown to the user
- Diversity -> diversify the recommended items
- Serendipity -> ability of surprising the user (items that users would have never been able to discover by themselves)
How can a recommender system be evaluated?
- offline
- does not require involvement of user
- used for years
- based on benchmark datasets (qualitative)
- user experience not considered
- online
- users directly involved
- evaluation qualitative and quantitative
- user experience considered
- users are not consistent
How does online evaluation work?
- direct user feedback (give a form for user to compile, feedback on recommendations)
- A/B testing (two set of users, each given a version (base and new variation), evaluating improvement (metrics or feedback)
- controlled (in lab) experiments
What does the cold-start problem refer to in RecSys?
- users are unknown at testing time due to train/test splitting
In what ways can the ratings dataset be partitioned for offline evaluation?
- avoids cold-start problem, can work with users with low ratings
- randomly selects test ratings, can have cold-start users
- good practice to split training-test on the basis of the timestamp
What are some evaluation metrics used for offline rating prediction?
- explicit (rating prediction)
- Mean Absolute Error
- Mean Squared Error
- Root Mean Squared Error
- implicit (top-N)
- Recall
- Precision
- Area Under Curve
- Average Precision
- Discounted Cumulative Gain
- Mean Reciprocal Rank
- Diversity
- similarity measure
- Novelty
- aproximately the inverse of popularity of retrieved items
In non-personalized RS how is most popular computed?
- number of ratings columns in matrix rating is calculated
- the one with the highest number of ratings is selected
- if user has already interacted with item the most popular after is presented
- unless re-consumption
In non-personalized RS how is highest rated computed?
- average of columns in matrix rating is computed
- the one with the highest value of rating is selected
- if user has already interacted with item the highest rated after is presented
- unless re-consumption
- generally normalization factor added to give a bias towards popular items
What approaches exist to collaborative filtering?
- similarity-wise
- item-based, based on similarity between items (share many users)
- user-based, based on similarity between users (share many items)
- algorithm-wise
- memory-based, compute the similarity between users or items
- model-based, predict users’ rating of unrated items