Recommendation system

A recommendation system is a software program which attempts to narrow down selections for users based on their expressed preferences, past behavior, or other data which can be mined about the user or other users with similar interests.

History
Recommendation systems have their roots in "Usenet," a worldwide distributed discussion system originating at Duke University in the late 1970s. Usenet operated in a client/server format, allowing user input that was categorized into specific "newsgroups." In Usenet, the posts made by users are categorized into these newsgroups, which are then further divided into sub-categories, if needed.

Information Filtering (IF) is a way of sifting through the overabundance of data on the Web. As newsgroups grew exponentially, database administrators were scrambling for a way to reduce e-clutter. Some of the early solutions for data overload include: - Tapestry - developed by Xerox, they coined the phrase "collaborative filtering" - Lotus Notes - a component of this software had built-in collaborative filtering mechanisms - GroupLens - started in 1992, this Open Source project was built on the premise of Tapestry with the intention of simplifying Usenet data by using distributed networks that addressed privacy issues and making suggestions according to others' ratings

Pattie Maes was primarily responsible for collaborative filtering with the advent of her efforts at MIT on a system called "Firefly", a recommendation system for music lovers. Firefly was later purchased by Microsoft for an estimated 40 million dollars.

Through the 1990s and beyond, collaborative filtering recommendation systems included: Mosaic – First graphical browser allowing users to publish comments to Web pages HOMR – Helpful Online Music Recommendations; predecessor to Firefly Ringo – Social Information filtering system for music recommendations Firefly – Grew out of Ringo project, music and movies Yahoo! – Started by Princeton students David Filo and Jerry Yang Point’s Top 5% - NYC-based qualitative website rating PHOAKS – People Helping One Another Know Stuff Fab – Allowed users to create content-based filters Webdoggie – Helped people find websites according to their likes Alexa Internet – When someone visits a website, Alexa displays other websites they might be interested in

Recommendation systems are now an integral part of Amazon.com's purchasing power!

Classification
The current generation of recommendation methods can be broadly classifed into the following five categories, based on the knowledge sources they use to make recommendations.:

1. Content-based recommendations.

2. Collaborative recommendations.

3. Knowledge-based recommendations.

4. demographic recommendations.

5. Hybrid recommendations.

General requirements for recommendation systems
To make a viable recommendation, three things are needed:

(i) background information - the information that the system has before the recommendation process begins.

(ii) input information - the information that a user must enter to the system in order to trigger a recommendation.

(iii) an algorithm that combines background and input information to arrive at its suggestions.

1.Content-based recommendation
In Content-based recommendation, the user receives recommendations based on his past preferences.

2.Collaborative RS
Collaborative recommendation systems recommend items that people with similar taste preferred in the past.

3.Knowledge-based recommendation
Utilizes the knowledge about users and products and reasons out what products meet the users requirements. Some of the systems being used at present effectively walk the user down a discrimination tree of product attributes whereas others have adopted a quantitative decision support tool for this task.

Advantages of Knowledge-based recommendation.
It doesn't have the “ramp-up” problem since its recommendations don’t depend on any database of user ratings. Users are encouraged to explore and understand the information space and by doing so,they elaborate more on their needs.

Disadvantages of Knowledge-based recommendation.
It requires an engineered knowledge database to make useful recommendations. This knowledge base has to be updated to keep up with the ever-changing consumer ratings and preferences. This system tends to give static suggestions that limit the user to what is contained in the database.

4.Demographic-based recommendation
Categorizes the user based on personal attributes and makes recommendations based on demographic classes, e.g. college students, teenagers, women, men, etc. The advantages and disadvantages of this system are similar to those of Knowledge-based Recommendation Systems.

5.Hybrid RS
Hybrid systems use a combined content-based and collaborative approach.

Recent Press
Wired.com recently released a great article on Caterina Fake and her work with Hunch.com especially with respect to the cold start problem.