Sunday, June 7, 2009

Introducing The Recommendation Engine

A recommendation engine takes the following four inputs to make a recommendation to a user:
The user’s profile — age, gender, geographical location, net worth, and so on
Information about the various items available — content associated with the item
The interactions of the users — ratings, tagging, bookmarking, saving, emailing, browsing content
The context of where the items will be shown — the subcategory of items that are to be considered



While promoting top products is useful, what we really want is to create a personalized list of recommendations for users. Recommendation engines can help build the following types of features in your application:
■ Users who acted on this item also took action on these other items, where the acted on could be watched, purchased, viewed, saved, emailed, bookmarked, added to favorites, shared, created, and so on
■ Other users you may be interested in
■ Items related to this item
■ Recommended items

Here are some concrete examples of these use cases:
■ Users who watched this video and also watched these other videos
■ New items related to this particular article
■ Users who are similar to you
■ Products that you may be interested in

In recommendation systems, there’s always a conflict between exploitation and exploration.

Exploitation is the process of recommending items that fall into the user’s sweet spot, based on things you already know about the user.

Exploration is being presented with items that don’t fall into the user’s sweet spot, with the aim that you may find a new sweet spot that can be exploited later.

Greedy recommenders, with little exploration, will recommend items that are similar to the ones that the user has rated in the past. In essence, the user will never be presented with items that are outside their current spot.

A common approach to facilitating exploration is to not necessarily recommend just the top n items, but to add a few items selected at random from candidate items. It’s desirable to build in some diversity in the recommendation set provided to the user.

References:
Satnam Alag, “Collective Intelligence In Action”, Manning Publications Co., first edition, 2009.

No comments: