MovieSite Sample

The MovieSite documentation focuses on six aspects of LikeMinds capabilities:

Best Bets

The Best Bets task provides a list of recommended movies for each user. These recommendations are calculated based on a user's previous ratings, as well as the ratings of other similar users, using collaborative filtering. The system determines users' similarities by comparing their ratings history among all users. For example, if both user A and user B have many similar ratings, but user B has rated many more different movies; user B might make a great mentor for user A. It is from the set of mentors (user B and other similar users) that LikeMinds makes recommendations, in this case a movie recommendation for user A.

Get Items to Rate

The Get-Movies-to-Rate task retrieves movies, which the user has not yet rated, from the database. These movies are selected based on the impact that a rating from the user would have on LikeMinds' ability to recommend movies (Best Bets). (See the task example.)

View the User's Previous Ratings

This task retrieves ratings that a user previously entered from the LikeMinds database. An item that has previously been rated can always be given a different rating. (See the task example.)

Log Item Ratings

The Personalization rating bean logs each user rating to the LikeMinds database. There are a few requirements to remember when using the rating bean:

  • The session attribute "pzn.userName" must be set with the user resource ID. This is how LikeMinds pairs the user with an item rating.

  • If you log an item that previously did not exist in the LikeMinds database table, an entry will automatically be created for that item.

  • In the same way, if an item is logged for a user who does not exist in the LikeMinds database table, LikeMinds creates an entry for that user. This is how a "new user" is to be entered into the LikeMinds system.

  • The resource collection that is sent as a parameter to the logging bean is case sensitive.
See for more information about logging item ratings.

Database Access

Developers are responsible for maintaining their own database tables. In MovieSite's case, this includes MovieSite's user table, item table, and also genre tables. All MovieSite tables begin with MS* and LikeMinds tables begin with Lps*. To implement filtering, the filter ID columns must be added to the LPS_ITEM_DATA table. These filter IDs are populated when a movie is logged for the first time, or the IDs are set directly. For more information on filtering, see the section about filtering recommendations that follows.

Filtering Recommendations based on filter IDs

LikeMinds implements a filtering system for each of the Personalization rules that query LikeMinds. This system filters items at the LikeMinds level according to any number of filter ID's associated with each item. Only the items which satisfy the filter are surfaced to the content spot in the JSP.