Among other things, automated recommender systems determine which posts from our contacts in a social network we read, suggest which items we could buy from e-commerce sites, bias our perception of the world around us by ranking the news according to our revealed preferences in the past, personalize our music listening experience, propose the movies we might watch after dinner, and act as advisors in our online travel reservations. Despite their impact in our daily lives, they are usually dispatched within a single chapter in some data mining, information retrieval, and text mining textbooks (see  for a recent outstanding example).
Charu Aggarwal, a well-known, reputable IBM researcher, has taken the time to distill the advances in the design of recommender systems since the advent of the web, whose multiplying effect has widened the impact of such systems in many aspects of our online interaction with the rest of the world. Fortunately, he has done so by writing a highly readable and almost encyclopedic monograph on the different kinds of recommender systems that are commonly used, the evaluation of their performance, their extensions for particular application domains, and related aspects that are now high in priority for system designers, research scientists, and hackers who try to tamper with recommender systems.
Once the stage is set with the usual introductory chapter, Aggarwal delves into the algorithms behind the main families of recommender systems. Individual chapters are devoted to the thorough description of collaborative filtering, which employs the ratings of multiple users to provide recommendations; content-based recommender systems, which incorporate user and item attributes in their predictions; and knowledge-based recommender systems, at the frontier between recommender and information retrieval systems. In the two chapters on collaborative filtering, the reader is progressively introduced to neighborhood-based models, a generalization of nearest neighbor classifiers, regression techniques, graph-based models, the use of conventional classifiers to implement recommender systems, and latent factor models, which resort to matrix factorization and optimization techniques such as stochastic gradient descent. Feature extraction, user profiles, constraint matching, and critiquing techniques for case-based recommenders are covered in the chapters on content-based and knowledge-based systems.
In practice, however, better results are obtained when combining multiple recommender systems, trying to benefit from their complementary strengths and alleviate their different weaknesses. Since the recommendation problem can be interpreted as a generalization of the classification problem in supervised machine learning, this fact should come as no surprise for those acquainted with the field. Several kinds of ensemble models, which are basically modifications on those that already exist for classification, are described and categorized into a taxonomy for the so-called hybrid recommendation systems.
Once the whole panoply of techniques for building recommender systems is examined, a separate chapter deals with their evaluation, not just from the accuracy point of view, but also attending to other factors that might be of importance in practice, such as novelty, serendipity, diversity, robustness, stability, and, of course, scalability. The most common evaluation metrics are discussed, from the usual suspects for measuring the accuracy of rating predictions to precision-recall and receiver operating characteristic (ROC) curves, as well as different incarnations of correlation coefficients, for the evaluation of rankings. As you might expect, some experimental design issues are also described, along with some references to the famous Netflix Prize competition, which, by the way, was won by two teams using ensembles of recommender systems.
Although the aforementioned chapters already provide an excellent overall perspective of the recommender system landscape, we are only halfway through the book. More specific chapters deal with the techniques that have been proposed for introducing context in the customization of recommendations, from taking seasonality into account (for example, think of clothing recommendations) to using the myriad of data that is now captured from users (for example, global positioning system (GPS) location for restaurant recommendations). Context-sensitive recommender systems can take temporal and location information into account, but they can also glean information from the social connections of the target user when suggesting recommendations. Social recommendation is related to the problem of link prediction in complex networks, yet it also employs a myriad of techniques from social network analysis, from centrality measures (for example, personalized PageRank) to influence and trust models. For example, a whole chapter section is devoted to the use of folksonomies, that is, user-provided tags, in social recommender systems.
Given the importance of recommender systems in many aspects of our online activities, they have also attracted the attention of attackers that attempt to rig recommendations, either to push a particular item or to “nuke” it by submitting negative reviews so that it is not recommended. There are different kinds of such attacks, commonly known as shilling attacks, and Aggarwal provides a nice introduction to the kind of techniques that adversaries might try to manipulate the results of a recommender system, as well as the techniques that recommender system designers can employ to detect such attacks and make their systems more robust under attack. Unfortunately, the economic incentives of attackers result in an adversarial environment for recommender system designers and an endless rat race between designers and hackers.
Although Aggarwal’s detailed coverage of recommender systems might be sometimes overwhelming to the reader, his clarity of exposition compensates for his deluge of algorithms, facts, and ideas, including innumerable insightful connections to related areas, such as link prediction, search, computational advertising, and matching markets, from online dating to job search. Extensive bibliographic notes at the end of each chapter and more than 700 references in the book bibliography make this monograph an excellent resource for both practitioners and researchers. The former can find all the information they need for the design of useful and robust recommender systems. The latter will find plenty of ideas to further their research, since Aggarwal describes the state of the art, identifies deficient aspects of current systems, and shares his intuitions about the main open research problems. Without a doubt, this is an excellent addition to my bookshelf!
More reviews about this item: Amazon