Recommendation Systems
Contents
Recommendation Systems#
References#
Intro#
A Recommendation System is as name suggests generate recommendations for of items for a product (Movies, Shopping goods, Courses etc.)
Recommendation Systems
help users find related content.
help users explore new items.
improve user decision making.
And Recommendation Systems for a product
increases user engagements.
learn more about costumers.
change in user behaviour.
Some types of recommendation systems
Collaborative Filtering
Content based filtering
Knowledge based
Hybrid Systems
Content Based Filtering#
This method actually uses the descripion of item and profile of user preferences. best suited when we have certain information about the item like name, location, description, etc.
We focus on the item’s information and build a classifier for user specific likes and dislikes based on item’s feature.
A user profile
is built to indicate the type of items that this user likes. Algorithm tries to give recommendation based on user’s preferences like liked items in the past or examining items in the present. Various candidate items are compared with items previously rated by the user and best matching items are recommended.
Information retrieval and intformation filtering plays important role here.
User profile needs two things -
A model with user preference.
A history of the user’s interaction with recommender system.
Some algorithms that are used in the process -
Tf-IDf vectorizer, Word2Vec, BERT, GPT3 (Vector space representation)
Bayesian Classifier, Cluster Analysis, Decision Trees and Neural Network to estimate probabilities that user is going to like the item.
Pros#
Unlike collaborative filtering, content-based filtering doesn’t need extensive data from other users to create recommendations. Once a user has searched on and browsed a few items and/or completed some purchases, a content-based filtering system can begin making relevant recommendations.
Content-based recommenders can be highly tailored to the user’s interests, including recommendations for niche items, because the method relies on matching the characteristics or attributes of a database object with the
user’s profile
.Recommendations are transparent to the user. Highly relevant recommendations project a sense of openness to the user, bolstering their trust level in offered recommendations. Comparatively, with collaborative filtering, instances are more likely to occur where users don’t understand why they see specific recommendations. For example, let’s say a group of users who purchased an umbrella also happen to buy down puffer coats. A collaborative system may recommend down puffer coats to other users who bought umbrellas but are uninterested in and have never browsed or purchased that product.
You avoid the “cold start” problem. Collaborative filtering creates a potential cold start scenario when a new website or community has few new users and lacks user connections. Although content-based filtering needs some initial inputs from users to start making recommendations, the quality of early recommendations is generally better than a collaborative system that requires the addition and correlation of millions of data points before becoming optimized.
Cons#
When the system is limited to recommending content of the same type as the user is already using, the value from the recommendation system is significantly less than when other content types from other services can be recommended.
For example, recommending news articles based on news browsing is useful. Still, it would be much more useful when music, videos, products, discussions, etc., from different services, can be recommended based on news browsing. To overcome this, most content-based recommender systems now use some form of the hybrid system
Requires domain knowledge to hand-engineer features, Difficult ot expand interest of user.
Collaborative Filtering#
Collaborative filtering is based on the assumption that people who agreed in the past will agree in the future, and they will like similar kinds of items as they liked in the past.
This system generates recommendations using only information about rating profile for different users or items.
Algorithms to measure user similarity and item similarity - Nearest Neighbour, pearson correlation etc.
Two types of ratings
explicit ratings |
implicit ratings |
---|---|
explicitly mentioned by user |
inferred from user’s behaviour |
like/dislike |
watchtime/ session time |
1-5 |
watchcount |
Pros#
Good thing with CF is that It doesn’t need to understand the item itself. Just understand the pattern and get the ability to give accurate predictions.
But problems are
Cons#
Problem |
Description |
---|---|
Cold Start |
New users -> less data -> less accurate recommendatio ns. |
Scalability |
If we are creating for millions of users and products then computation power requirement is high. |
Sparsity |
Not necessarily every item is rated, the a lot of missing data while creating the matrix. |
no Context Features |
Features created have no context, don’t contain domain knowledge in them. |
comparison#
b/w content based and collaborative filtering method#
domain knowledge is necessary
Knowledge based#
Ask users for preferences and then use those inputs from users to genereate recommendations.
Pros#
No interaction data needed.
High fidelity data because of user’s self reporting.
Cons#
Need user data.
User data privacy concerns.
Pitfalls of Recommendation Systems#
User space and item space is sparse
Only a few users are rating items.
Most users are rating a very small sets of items.
skews data
some items are making large population.
some users are most active on the items. (fitting too many features from only few users)
embeddings
: An embedding is a map from collection of items to some finite dimensional vector space.
Hybrid Recommendation Systems#
Recommendation
Systems
|
V
+-----------------------------------+--------------------------------------+
| | |
V V V
Content-Based Collaborative Filtering Knowledge-Based
| | |
| | |
| | |
| | |
| | |
+-----------------------------------+--------------------------------------+
|
V
Hybrid
Content Based features can be
Structured
Genres
Themes
Actors/ Directors involved
Professional rating
Un-Structured
summary text
movie stills
trailer
professional reviews
Collaborative Filtering features can be
Structured
User ratings
User views
wishlist/ add to cart
purchase history
Un-Structured
reviews
answered questions
submitted photos and videos
Knowledge based features can be
Structured
Demographic
location/ langugage
preferences
Un-Structured
User’s about me text