Recommendation systems are information filtering systems whose goal is to provide its users with useful recommendations. To determine these recommendations, a recommendation system can use historical data about the user's activity, or it can use recommendations that other users liked (for more information, refer to "A Taxonomy of Recommender Agents on the Internet"). These two approaches are the basis of the two types of algorithms used by recommendation systems—content-based filtering and collaborative filtering. Interestingly, some recommendation systems even use a combination of these two techniques to provide users with recommendations. Both these techniques aim to recommend items, or domain objects that are managed or exchanged by user-centric applications, to its users. Such applications include several websites that provide users with online content and information, such as online shopping and media.
In content-based filtering, recommendations are determined...