Wednesday, October 04, 2006

Recommendation Systems

The big CS news of the week: Netflix, the online DVD subscription rental site, has announced a million-dollar prize for substantially improving their movie recommendation system. The New York Times has the story, NPR has an interview with James Bennett, Netflix vice-president of recommendation systems, and John Langford gives his take.

Recommendation Systems (or Collaborative Filtering) tries to match one person's interests based on the interests of a large collection of other users. At first this seems like an easy task, just trying to match vectors. But the simple ideas don't work very well. The AI community have developed much more sophisticated techniques that have been implemented in companies that take recommendation systems seriously, like Amazon and Netflix. Apparently these techniques have reached the point of diminishing returns, thus the contest.

I understand that Amazon wants to sell more stuff, but why does Netflix take the problem so seriously, to the point of having a VP of recommendation systems as well as running this contest? They only recommend to already paying subscribers, the amount of extra business they get or keep by a strong recommendation system seems minimal.

But I shouldn't complain. Too often the public thinks of computer science as simply writing programs and making them run quickly. The Netflix contest sheds light on a different view of CS that shows the depth in a seemingly simple problem.

The million-dollar prize puts recommendation systems in the same class as the P versus NP Millenium Prize. Though if you could show P = NP by giving a quick algorithm for NP-complete problems, you can use that algorithm to develop a great recommendation system and collect a cool two mill.

9 comments:

  1. Netflix is interested in recommendation systems, because one of the major problems they have is keeping customers around after the initial 3-6 months. Many subscribers get lots of movies when they first sign-up, but as the exhaust their list of movies, they lose interest in the service and cancel. A good recommendation system would ensure that the subscribers continue to get movies they are interested in and don't cancel their subscriptions.

    ReplyDelete
  2. "Though if you could show P = NP by giving a quick algorithm for NP-complete problems, you can use that algorithm to develop a great recommendation system and collect a cool two mill."

    Really!? I always thought string matching was in P but why do they then fund so much money for bioinformatics?

    ReplyDelete
  3. I think it might be interesting to explore recommendation systems that rely more on human intelligence rather than sophisticated collaborative filtering algorithms.

    For example, I have built a social news/advertising service that relies on the intelligence of link submitters/advertisers: you target your links to people who you think will like them based on their previously liked/disliked links; as they vote your links up or down (thus determining their scores), better targeted (i.e., higher scoring) links will rank higher among personalized recommendations.

    You can play with this service here:

    http://targetyournews.com

    An alternative method is to rely on the intelligence of people receiving recommendations. For example, one can have people set up "reminder links".

    Suppose a user sees a link X submitted by someone else and likes it. In that case, the user may wish to be reminded of link X when visiting some other web page(s). So the user would set up "reminder links" so that he/she would be reminded of X when visiting some set of web pages Y_1, ..., Y_m.

    These "reminder links" can then be used to provide personalized recommendations for other users. Say some other user liked one of the Y_i, then the system would suggest link X to that user. Of course, one could take into account the number of reminders for various link pairs to determine the strength of the recommendation.

    ReplyDelete
  4. Don't forget another benefit: the publicity

    ReplyDelete
  5. It would be cool to have a recommendation system for the arXiv. With about 200 submission per day, this is a huge database.

    Oded.

    ReplyDelete
  6. I think netflix is currently in a tough price war with several other similar services. I think the theory is that if they can add value with recommendations, they can retain their customers without cutting their prices to the bone.

    ReplyDelete
  7. "Too often the public thinks of computer science as simply writing programs and making them run quickly."

    If only that were true! The large majority of the public thinks of "computer scientists" as people who know all the features of Windows, or know how to make the audio output of the PC come out of the speakers of the Wifi.

    ReplyDelete
  8. "Too often the public thinks of computer science as simply writing programs and making them run quickly."

    If only that were true! The large majority of the public thinks of "computer scientists" as people who know all the features of Windows, or know how to connect their PC to the speakers of the Hifi.

    ReplyDelete
  9. Hi!

    A new movie recommendation system like-i-like.org

    Just go and see how it works. Sure, you'll like it.

    Thank you.

    ReplyDelete