algorithmartificial-intelligencerecommendation-enginecollective-intelligenceembedded

Media recommendation engine - Single user system - How to start


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 :)


Solution

  • 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. :)