Understand what content-based recommendations are and why they aren't often used on their own.
- [Instructor] Content-based recommendation systems are recommendation systems that use their knowledge of each product to recommend new products. Let's say that you tell a friend that you just watched the movie Roman Holiday starring Audrey Hepburn and that you really liked it. Your friend might recommend that you watch the movie Sabrina next. Both movies are romantic comedies and both movies feature the same movie star. It could be a good recommendation because the movies have a lot of attributes in common. This is the idea behind content-based recommendation systems. They try to recommend products that have similar attributes to a product that the user already liked.
Here's an example. Let's take a look at this table of movies and how they have been rated by different users. We can see in this table that John has already given Roman Holiday a five star rating. What movie should we recommend next to John? In a content-based recommendation system, we will also have a table that gives us details about each movie. Here's what that table might look like. This table assigns each movie a rating in four different categories: romance, suspense, action, and music. The idea is that if a user really likes movies that score high in romance, we can recommend other movies that also feature romance.
We can see in this table that Roman Holiday and Sabrina both rank high for romance but low for action and suspense. In contrast, The Third Man and Notorious rank high for suspense but low for romance. From this table, we can guess that Roman Holiday and Sabrina are more similar to each other than they are to the other two movies, so someone who liked Roman Holiday might also like Sabrina. Based on this, Sabrina would be a good movie to recommend to John and we could guess that John would give Sabrina a high rating. Next, let's look at Susan.
Susan rated The Third Man highly. Let's look at the movie attributes again. Here we can see that The Third Man has very similar attributes to Notorious. Notorious is probably a movie that Susan would rate highly. It would be a great movie to recommend to Susan. Content-based recommendations can work well if you have descriptive data available for every product that you want to recommend. It's very useful for cases where you don't yet have any user reviews to work with. But there's a big disadvantage with content-based recommendation systems. Before you can recommend products to users, you have to create the script of data for every product in your inventory.
This is time-consuming and introduces a lot of subjectivity that can throw off your recommendation results. For example, one person might say that the movie is very suspenseful, but another person might disagree and say that it isn't suspenseful at all. If you have thousands of products to label, it can be very tricky to label them all in a consistent and fair way. This makes it difficult and time-consuming to use content-based recommendations on large product databases unless the products are easy to describe with a consistent set of attributes.
Recommendation systems are a key part of almost every modern consumer website. The systems help drive customer interaction and sales by helping customers discover products and services they might not ever find themselves. The course uses the free, open source tools Python 3.5, pandas, and numpy. By the end of the course, you'll be equipped to use machine learning yourself to solve recommendation problems. What you learn can then be directly applied to your own projects.
- Building a machine learning system
- Training a machine learning system
- Refining the accuracy of the machine learning system
- Evaluating the recommendations received