Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualRavyne

Posted 31 May 2013 - 05:52 PM

Are you familiar with Bayesean Inference at all? That's one approach to this kind of problem.

 

Unless I misunderstand your approach, I think how you meant to model your approach is not as a grid -- vectors in the grid become relative, unless I'm missing something, and hence, not much use. Instead, if each user is a vector of all media, you can then compare the preferences of a given user, and then make suggestions based upon the likes of similar users; in principle:

 

  • For the target user, form a vector composed of all media they've rated, and identical vectors for all other users, or a sufficiently-large sample of other users.
  • Compare this vector to the vector of each other user for similarity (dot product), choose a set of users that are most closely matched. If you like, you can weight the users according to whether the similarity is strong or weak.
  • From the set of similar users, suggest to the target user media that similar users have liked, but which the target user has not consumed/rated themselves. Rank recommendations by the consistency with which the similar users preferred each media.

 

You can do this based on simple thumbs-up/thumbs-down of individual media, or by a fuzzy rating. There are pros and cons to both approaches. You can also decompose media into representative traits (animation or live-action, genre, themes, writers, directors, actors, etc) and then form your vectors based on the traits, rather than the media itself (then, to recommend, you do the reverse, looking for media which has similar traits -- in fact, to some extent you can rely less on the comparison to similar users).


#2Ravyne

Posted 31 May 2013 - 05:51 PM

Are you familiar with Bayesean Inference at all? That's one approach to this kind of problem.

 

Unless I misunderstand your approach, I think how you meant to model your approach is not as a grid -- vectors in the grid become relative, unless I'm missing something, and hence, not much use. Instead, if each user is a vector of all media, you can then compare the preferences of a given user, and then make suggestions based upon the likes of similar users; in principle:

 

  • For the target user, form a vector composed of all media they've rated, and identical vectors for all other users.
  • Compare this vector to the vector of each other user for similarity (dot product), choose a set of users that are most closely matched. If you like, you can weight the users according to whether the similarity is strong or weak.
  • From the set of similar users, suggest to the target user media that similar users have liked, but which the target user has not consumed/rated themselves. Rank recommendations by the consistency with which the similar users preferred each media.

 

You can do this based on simple thumbs-up/thumbs-down of individual media, or by a fuzzy rating. There are pros and cons to both approaches. You can also decompose media into representative traits (animation or live-action, genre, themes, writers, directors, actors, etc) and then form your vectors based on the traits, rather than the media itself (then, to recommend, you do the reverse, looking for media which has similar traits -- in fact, to some extent you can rely less on the comparison to similar users).


#1Ravyne

Posted 31 May 2013 - 05:50 PM

Are you familiar with Bayesean Inference at all? That's one approach to this kind of problem.

 

Unless I misunderstand your approach, I think how you meant to model your approach is not as a grid -- vectors in the grid become relative, unless I'm missing something, and hence, not much use. Instead, if each user is a vector of all media, you can then compare the preferences of a given user, and then make suggestions based upon the likes of similar users, as such in principle (and yous till get to use your dot product):

 

  • For the target user, form a vector composed of all media they've rated, and identical vectors for all other users.
  • Compare this vector to the vector of each other user for similarity (dot product), choose a set of users that are most closely matched. If you like, you can weight the users according to whether the similarity is strong or weak.
  • From the set of similar users, suggest to the target user media that similar users have liked, but which the target user has not consumed/rated themselves. Rank recommendations by the consistency with which the similar users preferred each media.

 

You can do this based on simple thumbs-up/thumbs-down of individual media, or by a fuzzy rating. There are pros and cons to both approaches. You can also decompose media into representative traits (animation or live-action, genre, themes, writers, directors, actors, etc) and then form your vectors based on the traits, rather than the media itself (then, to recommend, you do the reverse, looking for media which has similar traits -- in fact, to some extent you can rely less on the comparison to similar users).


PARTNERS