Understanding Recommendation Systems-101

Ever wondered how Amazon recommends products to users to buy online?
How Netflix recommends movies to its subscribers to watch?
How Spotify recommends music to its users to listen?
There is no magic, they use Recommendation systems to make this happen. Recommendation system exploits user preferences and traits to prioritize and recommend items which the users would like.


The most general and basic definition is:
“Recommendation systems are systems that help users discover items which they may like”
Recommendation systems are utilized in a variety of areas including movies, music, news, books, research articles, search queries, social tags, and products in general. There are also recommendation systems for experts, collaborators, jokes, restaurants, garments, financial services, life insurance, romantic partners (online dating), and Twitter pages.


Yes, Recommendation system algorithms are a very big value addition to large companies like FACEBOOK, NETFLIX, GOOGLE, AMAZON, etc. Mckinsey analysts estimated that 35% of AMAZON revenue and 75% of what they watch on NETFLIX came from product recommendations. In today’s data world, users have everything available online but it is very tough to find the exact item needed, recommendation systems solves this major problem.


Here I will discuss mainly two types of filtering methods
2.Collaborative filtering

    Content-based filtering methods are based on a description of the item and a profile of the user’s preferences. It also recommends items similar to those which a given user has liked in the past. 
    Indeed, the basic process performed by a content-based system consists in matching up the attributes of a user profile in which preferences and interests are stored, with the attributes of a content object (item), in order to recommend new interesting items to the user.

The recommendation process is performed in three steps, each of which is handled by a separate component:

  • CONTENT ANALYZER — When information has no structure (e.g. text), some kind of pre-processing step is needed to extract structured relevant information.
    The main responsibility of the component is to represent the content of items
    (e.g. documents, Web pages, news, product descriptions, etc.) coming from information sources in a form suitable for the next processing steps. Data items are analyzed by feature extraction techniques in order to shift item representation from the original information space to the target one (e.g. Web pages represented as keyword vectors). This representation is the input to the PROFILE LEARNER and FILTERING COMPONENT.
  • PROFILE LEARNER — This module collects data representative of the user preferences and tries to generalize this data, in order to construct the user profile. Usually, the generalization strategy is realized through machine learning techniques, which are able to infer a model of user interests starting from items liked or disliked in the past. For instance, the PROFILE LEARNER of a Web page recommender can implement a relevance feedback method in which the learning technique combines vectors of positive and negative examples into a prototype vector representing the user profile. Training examples are Web pages on which a positive or negative feedback has been provided by the user.
    FILTERING COMPONENT — This module exploits the user profile to suggest relevant items by matching the profile representation against that of items to be recommended. The result is a binary or continuous relevance judgment , the latter case resulting in a ranked list of potentially interesting items. In the above-mentioned example, the matching
    is realized by computing the cosine similarity between the prototype vector and the item vectors.

Collaborative filtering based systems collect & analyze users behavioral information in the form of their feedback, ratings, preferences, and activities. Based on this information, these then exploit similarities amongst several users/ items to predict missing ratings and hence make suitable recommendations. Collaborative filtering (CF) methods produce user-specific recommendations of items based on patterns of ratings or usage (e.g., purchases) without the need for information about either items or users.
Let us take an example:
If person P1 likes item1, item2, item3
If person P2 likes item1,item3,item4
 If person P3 likes item1,?
Then there is a high probability that person P3 may like item3 because, from the first two statements we knew that person P1, P2, P3 likes item1. This is a very basic example of a Collaborative system.

The following image shows both collaborative filtering and content-based filtering recommendations of articles. We can use both collaborative filtering and content-based together, i.e Hybrid approach, I will discuss Hybrid approach in the next upcoming blog.

Thanks for reading.I’m learning and working on Recommendation systems from past few months. Did you find this article useful? Give some claps and do subscribe to get interesting tech articles related to ML every week. Please share your views in the comments section below.