[CSC 591V Home Page] [NCSU CS Home Page] [NCSU Home Page]


CSC 591V Assignment 2: Movie Recommender Visualization Design
Design due Friday, February 15, in-class
Presentations week of February 18, in-class

Introduction

During this assignment, you will be asked to hand-design a strategy for visualizing sets of movie recommendations. As with the flow visualization assignment, we want you to design a visualization approach that is not constrained by the limitations of the programming environment or display technologies that you have available.

The same ideas from the flow design assignment are applicable here. You are free to use any type of design approach and elements you like. The goal is to produce a demonstration of your visualization approach, applied in a way that highlights how you decided to visualize the movie recommendation data.

Movie Recommender Data Format

Recommender systems are used to suggest choices to a user based on some ranking criteria. For example, a movie recommender system tries to recommend movies to individual users that the system thinks the user would enjoy.

We use results from the MovieLens recommender system. MovieLens works as follows:

  1. First, a user is asked to select movies that they have previously seen, and rank them on a 5-point scale.
  2. After enough movie rankings are provided, MovieLens builds a profile of the user's likes and dislikes.
  3. The user's profile is matched against profiles for all the other users in the MovieLens database.

Based on other users with similar profiles, MovieLens can "guess" about movies the current user has not seen, but is likely to enjoy. These movies are ordered based on how MovieLens expects the user to rank the movie, then presented as suggestions (i.e. movie recommendations)

You should feel free to sign up to the MovieLens system and use it to obtain movie recommendations. This will give you a good idea about how the system works, and more importantly, about what type of information MovieLens attaches to each recommendation.

In our environment, each movie recommendation contains six data values:

For example, a flow sample with the values:

24:Godfather, The:Action, Crime, Drama:1972:175:67.1

would represent a movie recommendation that:

Visualization Example

Here is a simple example, a collection of two movie recommendation lists, each with 100 movies (i.e., 200 movies total in two separate lists). One possible visualization strategy is shown in Figure 1. Here, we position the movies along a 1D path based on the rating attribute: recommendations closer to the front of the path are expected to be rated higher by the user, while recommendations at the end of the path are expected to be rated lower.

A linear 1D path does not fit well within a 2D plane (e.g. a display screen), so we curve the path into a space-filling Archimedean spiral, with the start of the path at the center of the screen. This means that recommendations with a higher rating will be closer to the center of the screen.

(a)
(b)
Figure 1. Visualization of two movies list with 100 recommendations, each recommendation is shown as a square glyph: (a) position along spiral mapped to rating (closer to center for higher), size mapped to rating (larger for higher), hue mapped to year (blue for old to red for recent), luminance mapped to length (brighter for longer), light brown triangles mapped to genre (action, comedy, drama, romance for corners counterclockwise from top-right); (b) a second collection of recommendations with the same mapping

Notice that we do not include title in the visualization. This information is provided by allowing a user to click on a recommendation's glyph, which generates a pop-up balloon with a text description of all of the movie's attributes, including its title.

If you feel it would be helpful, two datasets are available, each with two lists of 100 recommendations:

Assignment Requirements

This assignment is divided into two parts.

First, you will be required to submit your hand-designed visualization in-class on Friday, February 15. This should be: (1) a (physical) example using your strategy to visualize some type of short movie recommendation list, and (2) a short (no more than one paragraph) description of how to interpret your design, that is, an explanation of how to "read" the title, genre, year, length, and ranking values in your visualization.

For example, if you're using paper and ink, we expect a drawing of how you would visualize a movie recommendation list (e.g. similar to the one shown in Figure 1), and a description of how the "marks" or "strokes" in your drawing are used to represent the recommendation values. Whatever visualization approach you design, we need a physical representation of an example list visualized with that approached and an explanation of your design submitted during class.

The design you submit for Assignment 2 will count for 10% of your final grade.

Second, you will be required to present your design to the class during the week of February 18. Each student will be allotted a maximum of 10 minutes to explain their design, to show examples, and to answer questions from the class. One half of your presentation grade will be depend on your own presentation, and the other half will depend on your level of participation during the other presentations (i.e. if you ask no questions and offer no comments for the other presentations, you will lose one half of your total presentation grade).

Your presentation and participation for Assignment 2 will count for 5% of your final grade.

The order of presentations will be determined randomly and provided on February 15. This means everyone should be prepared, if necessary, to present at the beginning of class on Monday, February 18.


Last updated, Monday, January 7, 2008, email comments to healey@csc.ncsu.edu.