Yesterday I posted on open source text mining libraries. Today, I am looking at recommendation systems aka collaborative filtering; mining user behavior and harnessing the "wisdom of the crowds." In a nutshell, recommendation systems discover new items you might be interested based on your past preferences (such as explicit ratings or implicit click behavior). Their goal is to bring you new and more importantly, interesting, information without you searching for it.
Since we are talking about recommendations, the first stop is Amazon and the creator of its original system, Greg Linden, author of Geeking with Greg. (I had the opportunity to meet Greg at SIGIR this past summer and we had some great discussion during the poster session.) Greg's "Early Amazon" posts really provide fascinating insight into some of Amazon's early days. The Amazon recommendation system started as a side project that he wasn't supposed to be working on, read the full story and don't miss his earlier story on his first attempt at a system, BookMatcher.
Next, I recommend (ha ha) you look at Taste. Taste is a collaborative filtering engine written in Java. It was originally started as work on the NetFlix contest. Originally via Geeking With Greg.
Another specialist in this area is Daniel Lemire, a researcher at the University of Quebec in Montreal. He wrote this paper on a simple and effective recommendation engine using SQL and PHP, the code is available on the site. There is a related project, Vogoo in PHP which appears to be actively maintained. Daniel also wrote a version of the item based recommender engine in Java, Cofi.
CoFE (Collaborative Filtering Engine) is another open source Java based engine created by Jon Herlocker from the University of Oregon, but I don't believe it is being maintained; it looks like it hasn't been updated since 2004.
Ray Mooney at the University of Texas has also been working on recommendation research as well, his main specialty is information extraction and machine learning. Here are some of his department's publications. Specifically, here are some introductory level slides from a recent course he taught on Information Retrieval.
That pretty much covers recommender systems for today. You can always check the Wikipedia article on Collaborative Filtering (CF) for updates. Again, many of these systems use machine learning and classification, which fits nicely with my previous post on text mining.
Saturday, March 17
Subscribe to:
Post Comments (Atom)

2 comments:
Great post. (My first name is "Daniel" though, not David).
Sorry about that, it was late :-). Should be fixed now.
I read your blog regularly, keep up the great work.
Post a Comment