In an earlier blog, we discussed some of the basic concepts behind recommender systems and what they do. This time let’s delve a little deeper into how recommender systems work.
First we need to start with the ingredients to our recommender system recipe. Recommender systems use three things to produce recommendations. The need something to recommend. In recommender terminology these are called items. Items can be contacts we want our customers to make, things we want our customers to buy, or activities we want our customers to complete. Recommenders also need data about users, the people we are making recommendations to. Specifically, they need data about how users feel about items we are recommending. We get this through ratings and how users interact with the items, called explicit and implicit information, respectively. We will talk more about that later. The third set of information is optional but is often used in the most sophisticated of recommender systems. This is information about the user or the item outside of how the user interacts with or feels about the item. This can include things like hobbies, skills, a user’s network of friends. This is called side information and these types of data are often found in the recommender systems of social networks. The side information you include in your recommender depends on the goals of your recommender system.
User interaction with an item produces two types of data—explicit information and implicit information. Explicit information includes things like star rating or likes and dislikes. These are things users use to indicate explicitly their opinion about the item. Often, we do not have explicit information available and we must extrapolate how a user might feel about an item from user behavior. This is where implicit information comes in. Behaviors that suggest interest in an item, such as clicking for more information, saving the item, or buying it are used to create best guesses about how a user might feel about the item. Implicit information requires making assumptions that might not be true about the relationship between behaviors and opinions, but research has shown that these types of data yield solid recommendations.
The combination of implicit, explicit, and side information is used to create what is called a profile for each user. These profiles are the key to how a recommender system makes the recommendations. Different types of recommender systems use these profiles in different ways.
There are two main types of recommender systems, called content filters and collaborative filters. The major difference between the two filters are the way they use the profile to create recommendations.
Content filters focus on identifying items that have similar content to the ones users have rated or interacted with that appear in the user’s profile. These types of recommender systems rely on identifying similar traits between items that we like and items we have not experienced. In this example the bluesy, post-punk, garage alt-rock sound of the White Stripes connects this user to groups with similar sounds. The strength of this type of recommender is that it identifies the traits of things we already like. The weakness is that we can get to many recommendations that are too like what we already have experienced or purchased and not enough new and surprising items.
Collaborative filters use the user profile to identify other users whose profiles are similar. Once a group of similar users is identified, the algorithm looks to find out which items the other users like that our profile does not contain. The idea is, if we share tastes with these other users, then the things they might suggest (the things they like) would make good recommendations for us. Recommendations from collaborative filters can contain new and novel things that we have not experienced before. They can also show us things that we are not as interested in.
Some recommenders combine the strengths of both content and collaborative filters in what are known as hybrid filters. There are many ways to create a hybrid filter making a cornucopia of options for building recommender systems.
There is no one size fits all way to make a recommender system. Everything from the components you use to the type of filter you build is dependent on the goal of the recommender system. So the next time you open up your favorite music app, think about how the way you interact with the playlist, the songs you listen to, and the information you share about yourself might have connected you to other listeners with similar tastes and led the algorithm to play the Strokes after the White Stripes.
Julie Novic is a Data Scientist at Pandata.