This program clusters movies and genres together, based on some “seed” genres and movies that the user provides: the user can just pick one genre, or one movie, or a mix of genres and movies as seeds.
The user can find a movie or genre by using the prefix search tool (gray box at top left).
To pick an item, just drag it into a colored box (e.g., the yellow one at the bottom left).
Then, the clustering engine, based on the belief propagation, propagates the seeds’ relevance to its neighbors, and then the neighbors’ neighbors, and so on. The seed’s effect on other items diminishes as their distances from the seed increase.
We show the top 5 genres and top 30 movies that are most relevant to the seed items, using spring layout, which shows how the movies and genres are connected.
The visualization can be improved. For example, genres can be layout in a more meaningful way, using variations in colors, orientations, and compositions that reflect the theme formed by the genres.
I’m sorry I can’t post the code, because many packages are used and many files are written. Some of them are “research-ware” that cannot be released yet.