Recommender systems typically produce a list of recommendations in one of two ways – through collaborative
or content-based filtering
. Collaborative filtering
approaches building a model from a user's past behavior (items previously purchased or selected and/or numerical ratings given to those items) as well as similar decisions made by other users. This model is then used to predict items (or ratings for items) that the user may have an interest in
. Content-based filtering
approaches utilize a series of discrete characteristics of an item in order to recommend additional items with similar properties
. These approaches are often combined (see Hybrid Recommender Systems
The differences between collaborative and content-based filtering can be demonstrated by comparing two popular music recommender systems – Last.fm
and Pandora Radio
Last.fm creates a "station" of recommended songs by observing what bands and individual tracks the user has listened to on a regular basis and comparing those against the listening behavior of other users. Last.fm will play tracks that do not appear in the user's library, but are often played by other users with similar interests. As this approach leverages the behavior of users, it is an example of a collaborative filtering technique.
Pandora uses the properties of a song or artist (a subset of the 400 attributes provided by the Music Genome Project) in order to seed a "station" that plays music with similar properties. User feedback is used to refine the station's results, deemphasizing certain attributes when a user "dislikes" a particular song and emphasizing other attributes when a user "likes" a song. This is an example of a content-based approach.
Each type of system has its own strengths and weaknesses. In the above example, Last.fm requires a large amount of information on a user in order to make accurate recommendations. This is an example of the cold start
problem, and is common in collaborative filtering systems
. While Pandora needs very little information to get started, it is far more limited in scope (for example, it can only make recommendations that are similar to the original seed).
Recommender systems are a useful alternative to search algorithms
since they help users discover items they might not have found by themselves. Interestingly enough, recommender systems are often implemented using search engines indexing non-traditional data.
Montaner provides the first overview of recommender systems, from an intelligent agents perspective
. Adomavicius provides a new overview of recommender systems
. Herlocker provides an additional overview of evaluation techniques for recommender systems
, and Beel et al. discuss the problems of offline evaluations 
. Beel et al. also provide a literature survey on research paper recommender systems
Recommender systems are an active research topic in the data mining
and machine learning
fields. Conferences that address recommender system research include RecSys, SIGIR
, and KDD
Lighting creates the 2D pattern of contrast the brain interprets to recognize 3D objects in photographs. In an in-person viewing experience the brain relies on stereoscopic vision, parallax, shifting focal in addition to the clues created by the highlight and shadow patterns the light on the object creates. When viewing a photo the brain tries to match the patterns of contrast and color it seen to those other sensory memories.