I am Duong Nguyen

👋😄😄 @duongnt98

What Is Recommendation System?

A recommendation system is a subclass of Information filtering systems that seeks to predict the rating or the preference a user might give to an item. In simple words, it is an algorithm that suggests relevant items to users. Eg: In the case of Netflix which movie to watch, In the case of e-commerce which product to buy, or In the case of kindle which book to read, etc.

Use-Cases Of Recommendation System

There are many use-cases of it. Some are:

  • Personalized Content: Helps to Improve the on-site experience by creating dynamic recommendations for different kinds of audiences like Netflix does.
  • Better Product search experience: Helps to categories the product based on their features. Eg: Material, Season, etc.

TYPES OF RECOMMENDATION SYSTEM

  1. Content-Based Filtering

Content-Based Filtering

In this type of recommendation system, relevant items are shown using the content of the previously searched items by the users. Here content refers to the attribute/tag of the product that the user like. In this type of system, products are tagged using certain keywords, then the system tries to understand what the user wants and it looks in its database and finally tries to recommend different products that the user wants.In a movie recommendation system, each film is tagged with genres. 

When a new user, User A, joins, the system initially suggests popular movies or gathers information through a user form. As User A rates movies over time, preferences emerge; for instance, if User A consistently rates action movies highly but rates anime movies poorly, the system recommends more action-oriented content. However, this doesn’t imply a dislike for anime movies; further data collection is needed to refine recommendations accurately.

Advantage

  • Model doesn’t need data of other users since recommendations are specific to a single user.
  • It makes it easier to scale to a large number of users.
  • The model can Capture the specific Interests of the user and can recommend items that very few other users are interested in.
Disadvantage

  • Feature representation of items is hand-engineered to some extent, this tech requires a lot of domain knowledge.
  • The model can only make recommendations based on the existing interest of a user. In other words, the model has limited ability to expand on the user’s existing interests.

  1. Collaborative Based Filtering

Recommending the new items to users based on the interest and preference of other similar users is basically collaborative-based filtering. For eg:- When we shop on Amazon it recommends new products saying â€śCustomer who brought this also brought” as shown below.

Collaborative Based Filtering

This approach not only addresses the limitations of content-based filtering but also leverages user interactions, making it more robust. By focusing on the historical performance of users, this recommendation system can predict future preferences with greater accuracy.

There are 2 types of collaborative filtering:

A. User-Based Collaborative Filtering

Rating of the item is done using the rating of neighbouring users. In simple words, It is based on the notion of users’ similarity.

Let see an example. On the left side, you can see a picture where 3 children named A, B, C, and 4 fruits i.e, grapes, strawberry, watermelon, and orange respectively.

User-Based Collaborative Filtering

Based on the image let assume A purchased all 4 fruits, B purchased only strawberry and C purchased strawberry as well as watermelon. Here A & C are similar kinds of users because of this C will be recommended Grapes and Orange as shown in dotted line.

B. Item-Based Collaborative Filtering

The rating of the item is predicted using the user’s own rating on neighbouring items. In simple words, it is based on the notion of item similarity.

Let us see with an example as told above about users and items. Here the only difference is that we see similar items, not similar users like if you see grapes and watermelon you will realize that watermelon is purchased by all of them but grapes are purchased by Children A & B. Hence Children C is being recommended grapes.

Item-Based Collaborative Filtering

Now after understanding both of them you may be wondering which to use when. Here is the solution if No. of items is greater than No. of users go with user-based collaborative filtering as it will reduce the computation power and If No. of users is greater than No. of items go with item-based collaborative filtering. For Example, Amazon has lakhs of items to sell but has billions of customers. Hence Amazon uses item-based collaborative filtering because of less no. of products as compared to its customers.

Advantage

  • It works well even if the data is small.
  • This model helps the users to discover a new interest in a given item but the model might still recommend it because similar users are interested in that item.
  • No need for Domain Knowledge

Disadvantage

  • It cannot handle new items because the model doesn’t get trained on the newly added items in the database. This problem is known as Cold Start Problem.
  • Side Feature Doesn’t have much importance. Here Side features can be actor name or releasing year in the context of movie recommendation.