Movie Recommender

Recent years have seen a proliferation in online communities centred on common interests, and the web allows rapid and extensive capture of likes and dislikes of individuals within such communities. These preferences can be used to understand the community as a whole, and to use that understanding to make personalised recommendations within the community. Of course, each of us is a unique individual with our own particular tastes which vary over time. The Movie Recommender demo shows how building a statistical model of a movie-watching community can be used to learn rapidly about new members of the community and make personalised recommendations. Such recommendations are given in the form of probabilities which reflect their uncertainty.


In the demo, you can drag or flick movies you like to the green area or the screen, and movies you don’t like to the red area of the screen. After each such feedback, the system learns a bit more about you, and adjusts the probabilities for each movie you have not yet rated; these probabilities are represented on the screen by how far each movie is to the red or green side of the screen.



This personalised learning is based on trying to see how much your tastes match the tastes of a number of mythical representatives within the community. The tastes of these representatives are learnt in a large-scale application of machine learning using ratings from the community (in this case we used 100,000,000 ratings provided by Netflix). Learning from scratch over a large community is a time-consuming and memory-intensive process, and in practice is usually done offline using a cluster of computers. The personalised learning, however, can be done rapidly and online, and the result is a personalised ‘fingerprint’ which represents where you sit within the community. The system also quantifies the uncertainty of your fingerprint, but the more ratings you give, the more certain the system is about it. Your fingerprint combines with the tastes of the community representatives to give your personalised movie ratings. It is interesting to note that no data about the movies (for example the genre of the movie) is used when making these recommendations.


Although the Movie Recommender is not a Microsoft product, it demonstrates the application of modern probabilistic machine learning in the area of recommendation systems. However, the technology behind this demo, referred to as ‘Matchbox’, was developed at Microsoft Research Cambridge, and is actively being integrated into some Microsoft services. Matchbox is built on a probabilistic programming framework Infer.NET, also developed at Microsoft Research Cambridge, which makes some of the more recent advances in large scale machine learning techniques accessible.