What are recommender systems and how do they work

Photo by Alin Surdu on Unsplash
Introduction
Inundated with a plethora of choices when we shop online or watch a movie, we need some assistance to find our way through it; that is where recommender systems come to our rescue. Of course, the typical search feature helps us retrieve the information we want, but through recommender systems, we receive diverse suggestions tailored specifically for us. We also often discover items of interest through recommendations that we would not have normally searched for.It becomes a two-way active interaction between the user and the application rather than just searching and getting generalized results. Recommender systems enhance the user experience and significantly helps businesses retain customers for longer and increase the bottom line.
Recommender systems have become an essential element of personalization for the marketplace on the web. It has become more of a necessity for applications that have more than a few products than just a ‘cool feature.’ Though recommender systems have been around for quite some time now, but have been extensively used in different industries for the past few years and have proved to drastically increase customer satisfaction leading to customer loyalty and increased conversion rates.
In this blog post, we will try to understand what a recommender system is and different methods used to generate recommendations.
So let’s get down to it!
What is a Recommender System?
It is an information filtering machine learning-based system that recommends items to users that they might be interested in engaging in. It is done by analyzing users’ previous preferences and interactions with the application.
The idea behind the recommender systems is to identify the type of content a particular user would be interested in at that point in time, discover it and present it to the users before they even ask for it.
So far, some of the best examples showcasing the use of recommender systems are Netflix, YouTube, Spotify, and Amazon, providing users with personalized recommendations of movies, videos, music, and products, respectively.
Now that we have a basic understanding of a recommender system let’s learn about the machine learning methods that work behind the scenes and bring this into action.
Mainly, there are two machine learning methods widely used for efficiently generating relevant recommendations, they are:
- Content-based filtering methods
- Collaborative filtering methods
Content-based filtering:
As the name suggests, content-based recommender systems generate recommendations based on the type of content or the attributes of the item the user has shown interest in. For example, if an active user has rated the movie Iron Man highly. Then based on the keywords like sci-fi, superhero, adventure, and the actors’ name, movies like Captain America, Spider-man, and Sherlock Holmes will be recommended to the user.
Recommendations of new items are computed by drawing similarities between the items, using the attributes of the items the user has previously bought or given high ratings to. Here user-specific and item-specific information is required to generate relevant recommendations rather than information about other users’ preferences, which is in the case of Collaborative-filtering methods.
Content-based systems are effective in getting more eyeballs on new products which are recently added to the catalog of the platform. It is challenging to get new products out there as they lack ratings and user feedback; this problem is called the ‘cold-start problem.’ But content-based systems are effective in handling this issue, as it does not require the rating data but the attributes to identify the similarities.
Diversity in recommendations is one of the significant disadvantages when using content-based systems because they recommend only similar items. For example, a user who liked the movie ‘Iron Man’ will not be recommended a classic like ‘Pride and Prejudice,’ which they might equally like.
Collaborative filtering:
In collaborative filtering recommender systems,groups of similar users are classified based on the user feedback data collected either explicitly or implicitly. Similarities in preferences and tastes of multiple users are identified, and a group of similar users is created. Then this is used to recommend items to users based on the rationale, ‘if user A liked this, user B might also like this,’ as they have similar tastes. This approach is specifically called the user-user method.
Another approach is the item-item method. The logic behind this is, ‘if you like item X, you might also like item Y because a similar user who liked item X also liked item Y.’
A combination of both these methods, the user-item method is a more optimized approach used to generate accurate recommendations.
Sparsity in the ratings dataset is a big challenge when training models for collaborative filtering systems. Each row of the dataset corresponds to an individual user and each column to a specific item. As the number of user-item interactions is significantly less when compared to the total number of available items, a large number of columns will have missing values (missing ratings) for individual users, resulting in a sparse dataset.
Content-based and collaborative filtering are two of the most commonly used recommender systems among a wide range of applications. But there is another type of recommender system, which is a combination of both of these methods, called the ‘Hybrid recommender systems.’
The hybrid system is a more optimized approach that overcomes the limitations of both methods. Deep learning is also extensively used to create more complex recommender systems.
Conclusion
In this blog post, we got a basic understanding of recommender systems and discussed two widely exploited methods in this realm. Recommender systems are fundamentally complex systems. They have considerable infrastructural requirements along with a team of data scientists and software developers. But for a few years, the need for recommender systems has dramatically increased with the increase in the number of websites and applications. When we look at the recent advancements in the field, the whole process of deploying recommender systems is being simplified with the help of AI, by providing Recommender systems as a service, ‘Recommender as a Service (RaaS),’ which we will discuss in detail in some other blog post.
