Possibilities for Automatically Recommending Animations to Remix

  • Sep 07, 2012
  • 0 Comments

One potential future feature for Looking Glass is a system that automatically recommends animations for users to remix into their programs.  Currently, users can animate their characters by using a combination of standard methods like say, move, or turn from within the Looking Glass IDE or by remixing animations from others' worlds found by browsing on the Looking Glass website.  A recommender system could offer suggestions of animations to remix in the Looking Glass IDE next to the standard methods, saving users the trouble of searching for a good animation on the Looking Glass website.  By making it quick and easy to find good animations, a recommender system can help users spend less time searching the website and more time coding in the IDE.  As the number of animations available for remixing grows, helping users find the most relevant animations more quickly will be increasingly important.

The first step in creating a recommender system is to explicitly define the problem.  It is not enough to say that we want to recommend the "best" animations.  We need to clearly state our assumptions about the problem and develop an optimization objective.  I will start by laying out some possible assumptions we could make.

Alternative assumptions about animations and users:

1) All animations are equally interesting to all users.

2) Some animations are more interesting to all users than other animations.

3) Some animations are more interesting to some users while other animations are more interesting to other users.

Alternative assumptions about animations and worlds:

A) All animations fit equally well in the context of all worlds.

B) Given a specific context in a world, some animations will fit better than others.

If assumptions 1 and A are true, then all animations are equally good in all cases and a recommender system should select recommendations uniformly at random. If assumptions 2 and A are true, then some algorithms are the best in all cases and a recommender system should recommend the animations that have been remixed the most often (with some normalizing factor related to time).  These are both trivial algorithms to implement. 

If assumptions 3 and A are true, then a recommender system should learn what features of animations each user likes and what features each animation possesses.  This is the classic recommender system paradigm used by Netflix and Amazon.  The algorithm would receive as input a rating (e.g. from 1 to 5) from some subset of users (preferably all users) for some subset of the animations.

If assumption B is true then the problem becomes more difficult.  We would need to come up with some means of evaluating how well an animations fits in a certain world context.  Metric learning might offer a possibility, but the solution is not clear.

Before investing heavily in a complicated solution, we should first investigate the simpler solutions.  I believe assumptions 2 and A are reasonable.  I believe all users have approximately the same preferences for animations i.e. more complicated animiations are preferred to simpler animations.  I suspect that if users appear to have different preferences for animations, the reason is primarily the context in which the animation is used, including characters and story, and not the animation itself.  We could test this hypothesis by seeing if the backflip-over-an-object animation is rated differently in the secret agent world and the gymnastics world. 

I also believe that without being able to predict the story the user is trying to tell, it is hard to say that certain animations fit substantially better than others.  Missing support characters and objects can be added if necessary so there is little constraint on what animations can fit.  Only the user knows what animation fits the story they are trying to tell.  Recommending popular animations might be the best we can do.  If each user tends to pick animations that are similar in some way, then assuption 3 might be more accurate and the recommendations should be individualized for the user, but the recommendations would still be independent of the current world the users is creating.

I will continue to think about which set of assumptions is best in the coming weeks while I work on the remix backend.

Comments

  • No comments yet

Log In or Sign Up to leave a comment.