Opinionated Recommender Systems


My main research area is recommender systems and the purpose of this (somewhat longer than usual post) is to discuss some thoughts on where recommender systems might be heading and, in particular, on the prospect of recommender systems that are based on user experiences and real opinions rather than more conventional ratings and catalog features.

Let’s begin…

Recommender systems are those software services that seek to help us all to make more interesting and often surprising discoveries as we go about our daily life online: Amazon recommends me books another goods; iTunes suggests music, movies and apps; Flipboard and Pocket recommends articles for me to read; and of course Netflix suggests shows for me to watch; TripAdvisor recommends place for me to go and hotels for me to stay in;  and Facebook recommends news feed items for me to pay attention to. Over the last 15 years or so recommendation technology has evolved to become a necessary component for a wealth of online services.

At their core recommender systems help people to find what they are looking for, or discover things they didn’t know they needed, without relying on explicit user queries. This is, in part at least, what sets recommender systems apart from more conventional search engines. In place of a query recommender systems all rely on some type of user profile, which captures our interests, our likes, and sometimes our dislikes. These profiles are generally based on our past consumption patterns (the shows we have watched, the books we have purchased or read, the apps we have used) and matched against a large database of recommendable items (books, music, movies etc.) in order to identify those items that we may wish to consume in the future.

In fact it is a little more complicated that this. But in an effort to simplify we can think of recommender systems as falling into two broad classes: collaborative filtering systems and content-based (or cased-based) systems. Here is a quick primer.

In the case of the former, the recommender system knowns very little (and perhaps nothing at all) about the items being recommended, beyond the fact that users that have liked, purchased or otherwise consumed or interacted with these items in the past. Sometimes this consumption information is binary (the user has consumed the item or not) and sometimes it is a rating (to indicate how much the user has liked or disliked an item). A collaborative filtering system  starts with a user’s profile (the items they have liked, purchased or otherwise consumed) and looks for a set (neighbourhood) of users that have consumed the same items and/or rated them in the same way. The more items two users share, and rate similarly, the more  similar these users are considered to be. To make recommendations to a target user a collaborative filtering system identifies a set of the most similar other users (perhaps selecting 50-100 similar users) and then suggests  items that have not be consumed by the target user but that have been frequently consumed and/or positively rated by these similar users. More frequently consumed items with higher average ratings tend to be recommended more often. That is the basic gist of collaborative filtering, without all of the detail on rating matrices, rating correlation, clustering, and matrix factorisation that tends to go with modern collaborative filtering implementations.

Content-based systems are different. Unlike their collaborative counterparts they do rely on some knowledge of the items that are being recommended. For example, in a hypothetical hotel recommender it would be common for hotels to be represented as a set of features covering information such as star-rating, price, facilities, location, style etc. This type of feature information is not always available but when it is content-based approaches can work well. User profiles still contain lists of items that a user has consumed, and possibly rated (perhaps hotels that they have booked and stayed in) but this time, making a recommendation to a target user will usually involve identifying a set of items that are similar to those that the user has liked, and perhaps dissimilar to those that the user has disliked. So while collaborative filtering approaches are based on similarity between users, content-based techniques rely on similarities between items. The devil in the details of a content-based recommender involves finding out good ways to calculate item-to-item similarities based on various ways to compute and combine similarity at the level of individual features.

Now you are up to speed on the very basics of recommender systems over the last 15 years. In fairness, my research peers might disagree with this simplification, and to be fair there has been a huge amount of work in the field that goes far beyond conventional collaborative filtering and content-based approaches, from hybrid approaches and new recommendation algorithms to leveraging context during recommendation and novel recommendation interfaces, and lots more besides. Nevertheless for a long time the fundamentals behind modern recommendation technologies have remained relatively stable: they rely on user profiles, item ratings, item descriptions, and similarity.

So what is next? For a while now I have been interested in exploring other sources of recommendation knowledge to guide the recommendation process; moving beyond ratings and catalog features if you will. For example, two of my current PhDs (Sandra Garcia Esparza and John Hannon) have been looking at mining he chatter on microblogging services such as Twitter in order to construct user profiles and represent items from the information contained in our status updates. For example, Sandra has built recommender systems that use this type of plentiful but noisy information to make book, movie, music, and app recommendations that are every bit as relevant as those made by more conventional approaches, but without the need for complex item knowledge or large-scale ratings data or purchase histories.

More recently I have been working with another student, Ruihai Dong, and others besides, to explore a different source of recommendation knowledge in the form of the user reviews that are now commonplace on most major online marketplaces (Amazon, iTunes, TripAdvisor etc). These reviews contain real human experiences: a business traveller complaining about wifi or complimenting the leisure facilities of a hotel; a laptop owner lamenting poor battery life; or a keen photographer waxing lyrically about her camera’s low-light capabilities. It struck us that these reviews contain valuable opinions about products and services that go far beyond the level of information that might be naturally captured in a catalog or in purchase histories. Can we mine these plentiful reviews to use in our recommender systems? Can we construct alternative descriptions of products, descriptions that highlight those features that are commonly discussed by real reviewers, and the sentiment of their opinions. Yes we can. And the information that we have discovered is perfectly adapted for developing new types of recommendation technologies, which can help people to find products that are not just similar to their needs but whose features have been positively reviewed by other users like them. People talk openly about dozens of features in their reviews and not just the features one might expect. In a recently analysis of hotels in a major US city we discovered how elevator noise and carpet cleanliness were common gripes across dozens of hotels. And after mining thousands of laptop reviews we discovered that while people were satisfied with the battery life of modern laptops they had far less positive things to say about fan noise.

Using these techniques we have developed and evaluated demonstration systems (SpringerLink) for a variety of domains, from consumer electronics (laptops, mobile phones, cameras, tablets etc.) to hotels, and, in each case, for a wealth of valuable review information. This new information is capable of enabling a much more sophisticated approach to recommendation, one that is based on the experiences of real users rather than static catalog-like product descriptions.

Our conclusion is that catalog descriptions and purchase histories don’t tell the full story when it comes to understanding our real preferences. They represent little more than snapshots in time and it is surely how we feel about the products we use that really matters. These experiences, and the opinions that we form, are hidden in plain sight in the user generated reviews that accompany these products. So let’s start using them to build better recommender systems.


One thought on “Opinionated Recommender Systems

  1. Pingback: Experiential Recommender Systems | Barry Smyth

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s