Types of recommender systems
There are typically two approaches taken to the problem of recommendation. Both make use of the notion of similarity between things, as we encountered it in the previous chapter.
One approach is to start with an item we know the user likes and recommend the other items that have similar attributes. For example, if a user is interested in action adventure movies, we might present to them a list of all the action adventure movies that we can offer. Or, if we have more data available than simply the genre—perhaps a list of tags—then we could recommend movies that have the most tags in common. This approach is called content-based filtering, because we're using the attributes of the items themselves to generate recommendations for similar items.
Another approach to recommendation is to take as input some measure of the user's preferences. This may be in the form of numeric ratings for movies, or of movies bought or previously viewed. Once we...