ReadWriteWeb

Recommendation Systems: Interview with Satnam Alag

Written by Richard MacManus / February 8, 2009 9:25 PM / 9 Comments

In a recent post, we looked at recommendation systems, briefly reviewing how Amazon and Google have implemented their own systems for recommending products and content to their users.

We had the opportunity to speak with Satnam Alag, author of the recently published Collective Intelligence in Action, about what makes for a good recommendation system, where the technology is heading, and why Netflix is finding it so hard to improve its own system.

Disclosure: I wrote the forward to 'Collective Intelligence in Action', however I have absolutely no financial interest in the book.

ReadWriteWeb: In our recent post about Netflix, we identified four main approaches to recommendations: Personalized recommendation: based on prior behavior of the user; Social recommendation: based on prior behavior of similar users; Item recommendation: based on the item itself; And a combination of all three. Do you agree with the four approaches we laid out in our article?

Satnam: Those four categories are pretty comprehensive. I present an alternate classification of recommendation systems in my book. I lay out two fundamental approaches. The first approach, item-based analysis, determines items that are related to a particular item. When a user likes a particular item, related ones are recommended. The second approach, user-based analysis, first determines users who are similar to that user.

Further, there are two main approaches to finding similar items and similar users. For the first, content-based analysis, content associated with the item, especially text, is used to compute similarity. In the second, the collaborative approach, actions such as ratings, bookmarking, and so forth are used to find similar items. For the second, user-based analysis, a number of approaches have been taken, including ones based on profile information, user actions, and lists of the user's friends or contacts. Of course, you can combine any these item/user and content/collaborative approaches to build a recommendation system.

The dimensions of the particular item and user space are helpful in deciding whether to use an item-based or user-based approach. Typically, an item-based approach is used to bootstrap one's application when the number of users is small. As the user base grows, the item-based approach is augmented by a user-based approach.

ReadWriteWeb: Other than Amazon and Netflix, which Internet companies have most impressed you in their implementation of recommendation systems?

Satnam: Other than Amazon and Nextflix, Google News' personalization is my personal favorite. Google News is a good example of building a scalable recommendation system for a large number of users (several million unique visitors per month) and a large number of items (several million new stories every two months), with constant item churn. This is different from Amazon's, whose rate of item churn is much lower. Google decided to use collaborative filtering for its recommendation system mainly because of its access to the data of its large user base and because this same approach could be applied to other applications, countries, and languages. A content-based recommendation system perhaps could have worked just as well, but may have required language- or location-specific tweaking. Google also wanted to leverage the same collaborative filtering technology to be able to recommend images, videos, and music, for which it's more difficult to analyze the underlying content.

Among start-ups, my personal favorite is the one we are developing at my current company, NextBio. It's not available yet but should be next month. The key point about this particular recommendation engine is its strong use of an ontology, similar in concept to tags, to develop a common vocabulary for items and users. The system then makes use of profile information and user interactions, both short- and long-term, to provide recommendations. The system leverages both item- and user-based approaches.

ReadWriteWeb: What commercial opportunities do you forsee with recommendation systems over the next few years?

Satnam: A good personalized recommendation system can mean the difference between a successful and a failed website. Given that most applications now invite users to interact and to leverage user-generated content, new content is being generated at a phenomenal rate. Showing the right content to the right user at the right time is key to creating a sticky application. I would be surprised if most successful websites did not leverage recommendation systems to provide personalized experiences to their users.

ReadWriteWeb: Your book includes a discussion of collaborative filtering. Can you tell us a bit about how this fits into the overall picture of recommendation systems?

Satnam: In recent years, an increasing amount of user interaction has provided applications with a large amount of information that can be converted into intelligence. This interaction may be in the form of ratings, blog entries, item tagging, user connections, or shared items of interest. This has led to the problem of information overload. What we need is a system that can recommend items based on the user's interests and interactions. This is where personalization and recommendation engines come in.

In my book, I take a holistic view of adding intelligence to one's application, a recommendation engine being one way to do it. The book focuses on both content-based and collaborative approaches to building recommendation systems. It focuses on capturing relevant information about the user, information from both within and outside one's application, and converting it into recommendations. One of the things you mentioned in your write-up on recommendation systems is that you would like to apply such a system to your website to recommend things to users. Someone reading my book should be able to create such a system using the techniques I demonstrate.

Next Page: Satnam's thoughts on the Netflix Prize and whether the 10% mark will ever be reached.

Page:  1   2  Next  »


Comments

Subscribe to comments for this post OR Subscribe to comments for all ReadWriteWeb posts

  1. Thanks for the interview. It was good enough to convince me to buy the book :)

    We've been working on a recommendation system for local search for a while now and found that while we can achieve good results, improvements come very slow.

    One of the challenges of recommendation systems is that you need to also filter based on how practical the recommendation is. For movies or RSS feeds this isn't a big deal, everyone has access (for the most part). However in local search if a CF algorithm makes a recommendation for a restaurant a 1000 miles a way it's pretty useless. We've had to build in additional logic to balance the practical nature of the recommendation with the pure mathematical accuracy.

    I hope the book covers it, but I've been looking for better, standard, frameworks for testing CF algorithms. I know I could build one (and I have) but it seems that as these systems get more popular it would be great to have a standard way to compare algorithms.

    Posted by: thesuggestr | February 9, 2009 7:37 AM



  2. Great, thought-provoking interview - thanks.

    Regarding the observation - "The key point about this particular recommendation engine is its strong use of an ontology, similar in concept to tags, to develop a common vocabulary for items and users." We apply our ontology in what seems like a somewhat similar way at Jinni, for movie and TV show recommendations. Very curious to try out NextBio!

    Posted by: Phoebe Author Profile Page | February 9, 2009 9:23 AM



  3. It is important to remember that the problem the "Netflix Prize" is trying to solve is not synonymous with the "problem of how to make a good recommendation application."

    Netflix has narrowly defined their problem as: Can we predict with 10% more "accuracy" how people will rate movies they have already seen?

    But, an important part of recommendation discovery is helping people find things they don't already know about. Not to mention the fact that ratings are one of the most tedious and inaccurate methods of eliciting preference information from viewers.

    Algorithm building by scientists is essential, but in no way will it alone help the recommendation world build better applications.

    Human + computer hybrid systems are very powerful--the trick is how to make the most of the small amount of extremely valuable human input.

    /Michael Papish
    CEO, MediaUnbound

    Posted by: Michael Papish | February 9, 2009 9:52 AM



  4. Another aspect of recommendation systems that we've been looking at before is not just how much a person likes an 'item' but WHY they like it. While our focus is on businesses, primarily restaurants and local services, the concept applies quite well to movies as well.

    If you think about it there are often a lot of movies you like for a very specific reason, e.g. you may like a certain actor or director and thus like a movie you ordinarily wouldn't. I see this all the time with my wife who will watch a movie with Brad Pitt she would never watch otherwise.

    We (theSUGGESTR.com) plan on implementing some features soon to try to help us determine the WHY of a person's rating, which hopefully will lead us to better (and more) suggestions.

    Posted by: the | February 9, 2009 11:26 AM



  5. While I applaud Netflix for inspiring some great efforts in the machine learning community--and at an impressively low price, even if they do have to pay out the $1M--I still think everyone is solving the wrong problem.

    For more details:
    http://thenoisychannel.com/2008/11/21/the-napoleon-dynamite-problem/

    Posted by: Daniel Tunkelang | February 9, 2009 3:55 PM



  6. Great, thought-provoking interview - thanks.

    Posted by: söve | February 12, 2009 11:05 PM



  7. What a great book. We used its concepts alot when we built http://www.dynamicalsoftware.com/cogenuity which is a challenge based collective intelligence platform where organizations can direct some of the smartest brains on the web to solving their problems.

    Posted by: Avery Otto | February 13, 2009 10:25 AM



  8. even if they do have to pay out the $1M--I still think everyone is solving the wrong problem.

    Posted by: mirc | June 14, 2009 10:21 AM



  9. intelligence platform where organizations can direct some of the smartest brains on the web to solving their problems.

    Posted by: sohbet | June 14, 2009 10:23 AM



Leave a comment

Optional: Sign in with Connect Facebook   Sign in with Twitter Twitter   Sign in with OpenID OpenID  |  

If you think Twitter is big, check out the Real-Time Web
RWW SPONSORS



FOLLOW @RWW ON TWITTER

ReadWriteWeb on Facebook
ReadWriteCloud - Sponsored by VMware and Intel



TEXT LINK ADS



RWW PARTNERS