views:

124

answers:

1

Hi guys,

I want to implement a media recommendation engine. I saw a similar posts on this, but I think my requirements are bit different from those, so posting here.

Here is the deal.

I want to implement a recommendation engine for media players like VLC, which would be an engine that has to care for only single user. Like, it would be embedded in a media player on a PC which is typically used by single user. And it will start learning the likes and dislikes of the user and gradually learns what a user likes. Here it will not be able to find similar users for using their data for recommendation as its a single user system. So how to go about this?

Or you can consider it as a recommendation engine that has to be put in say iPods, which has to learn about a single user and recommend music/Movies from the collections it has.

I thought of start collecting the genre of music/movies (maybe even artist name) that user watches and recommend movies from the most watched Genre, but it look very crude, isn't it?

So is there any algorithms I can use or any resources I can refer up to?

Regards,

MicroKernel :)

+2  A: 

What you're trying to do is quite challenging... particularly because it's still in the research stage and a lot of PHDs from reputable universities across the world are trying to get a good solution for that.

SO here are some things that you might need:

  1. Data that you can analyze:
    • Lots, and lots, and lots of data!
    • It could be meta data about the media (name, duration, title, author, style, etc.)
    • Or you can try to do some crazy feature extraction from the media itself.
  2. References to correlate the data to.
    • Since you can't get other users, you always need the user feedback.
    • If you don't want to annoy your user to death with feedback questions, then make your application connect to a central server so you can compare users.
  3. An algorithm that can model your data sufficiently well.

The winners of the NetFlix prize said this:

Predictive accuracy is substantially improved when blending multiple predictors. Our experience is that most efforts should be concentrated in deriving substantially different approaches, rather than refining a single technique. Consequently, our solution is an ensemble of many methods.

Conclusion:

There is no silver bullet for recommendation engines and it takes years of exploration to find a good combination of algorithms that produce sufficient results. :)

Lirik
Thanks for the detailed answer. Hmm, it looks really challenging then!!!
Microkernel
@Microkernel, well... let's just say it's not *exactly* an easy thing to do.
Lirik