What makes a good recommendation?

Generating good recommendations requires taking a number of factors into account.

Although users are very likely to want recommendations for items that they haven't seen before, if we only offer recommendations for things that they haven't seen then they will have no way to decide whether a given recommendation is a good one or not. This can erode the user's trust in the recommender, which leads to them not using the recommender. As a result, it's often best to generate a combination of familiar (although perhaps not recently consumed) items and unfamiliar items in a recommendation.

Users should be able to discover new items in a serendipitous way. For example, when a user is looking for information about their favorite musical artist, the recommendations generated should provide a way for them to discover new artists that they might like. This discovery process provides a different kind of interaction than a typical static list of recommended items.

When a user recieves a recommendation for an item, the system should be able to provide an explanation to the user as to why the item was recommended. Furthermore, in the case when a particularly good or bad recommendation is made, the user should be able to steer the recommender by indicating what aspects of a particular item are good or bad. It should be immediately apparent to the user how their steering has affected the recommendations provided.

Collaborative Filtering and The Wisdom of the Crowds

Current recommender systems rely on "the wisdom of the crowds" using a technique called collaborative filtering. In a collaborative filtering system, an item is represented by the users who have consumed that item.

To oversimplify somewhat, the similarity between two items can be determined by computing the similarity of the set of users. Recommendations for a given item are generated by finding the set of similar items and displaying the most similar ones.

Unfortunately, collaborative filtering has several drawbacks that can ultimately lead to poor recommendations. In particular, these systems suffer from the cold start problem. A new item that has not been consumed cannot be recommended. This is especially a problem for a new recommender. As people begin to discover more and more things via recommendation, feedback loops can develop where only recommended items get popular and only popular items get recommended.

The Textual Aura

The AURA Project takes a novel approach to recommendation, avoiding many of the problems inherent in standard recommender systems. In addition to representing an item by the users that have consumed it, we also represent an item using a textual aura that can be gathered from social tags applied to the items, reviews of the items, blog posts about the items, and even the content of the items themselves.

In some sense, an item can be considered a "document", and the words in the document are the words in the textual aura for that item. Here's an example of the textual aura collected for Jimi Hendrix:

This part of Jimi's aura was built from social tags crawled from Last.fm. Here we see the aura displayed as a tag cloud. This cloud is different from others that you may have seen, however. Here, the size of a tag is related to how important that particular tag is to Jimi Hendrix, not simply how many times the tag has been applied to him.

How do we decide what the important words are? We use a measure of importance taken from the information retrieval community. The measure is known as TFIDF and the basic idea is that a particular word is important for a document (Jimi Hendrix in this example), if it occurs frequently in that document and infrequently in other documents.

Given this textual aura, we can compute the similarity between two items based on the similarity of the textual auras of the two items. This approach avoids the cold start problem and provides high quality recommendations. Recommendations generated this way are transparent: we can explain why an item was recommended using the words from the textual aura. We can also use the words from the textual aura to steer the recommendations the system is making by increasing the impact of particular words and decreasing or removing the impact of other words.

Although the use of the textual aura resolves some of the problems encountered by wisdom-of-the-crowds approach, we think that a hybrid approach combining the best aspects of the two approaches will provide the best recommendations.