Sky Research and Development (R&D). Keywords: content analysis, social recommendations, collaborative filtering
Federico Cargnelutti / BSkyB R&D
The goal of a recommender system is to predict the
degree to which a user will like or dislike a set of items
such as movies or TV shows
Most recommender systems use a combination of different
approaches, but broadly speaking there are three different methods
that can be used:
and extraction of common patterns
based on personal choices from other people
of different users behaviour, preferences, and ratings
Content-based recommenders use features such as the genre, cast
and age of the show as attributes for a learning system. However,
such features are only weakly predictive of whether viewers will like
In the TV world, the only content-analysis technologies available to
date rely on the metadata associated with the programmes.
The recommendations are only as good as the metadata.
Social-networking technologies allow for a new level of
sophistication whereby users can easily receive recommendations
based on the shows that other people within their social network
have ranked highly.
Social recommendations provide a more personal level of
The advantage of social recommendations is that because they have
a high degree of personal relevance they are typically well received,
with the disadvantage being that the suggested shows tend to
cluster around a few well known or cult-interest programmes.
Collaborative filter methods are based on collecting and analysing a
large amount of information on users’ behaviour, activity or
preferences and predicting what users will like based on their
similarity to other users.
Provides recommendations based on activity without explicitly
asking the users’ permission (e.g. Amazon).
Uses the information provided by the user as the basis for
recommendations (e.g. Netflix).
Collaborative filtering systems can be categorized along the
following major dimensions:
User-user or item-item systems
In user-user systems, correlations (or similarities or distances) are
computed between users. In item-item systems metrics are computed
between items (e.g. shows or movies).
Form of the learned model
Most collaborative filtering systems to date have used k-nearest
neighbour models in user-user space. However there has been work
using other model forms such as Bayesian networks, decision trees,
cluster models and factor analysis.
Similarity or distance function
Memory-based systems and some others need to define a distance
metric between pairs of items or users. The most popular and one of
the most effective measures used to date has been the simple and
obvious Pearson product moment correlation coefficient (PMCC).
Having defined a similarity metric between pairs of users or items, the
system needs to make recommendations for the active user for an
unrated item. Memory-based systems typically use the k-nearest
User tasks for which collaborative filtering is useful
1. Help me find new items I might like.
2. Advise me on a particular item.
3. Help me find a user I might like.
4. Help our group find something new that we might like.
5. Help me find a mixture of "new" and "old" items.
6. Help me with tasks that are specific to this domain.
Google’s PageRank mechanism is possible in the web because
pages are linked to each other, but for TV we need to find another
approach to relevance that will allow us to prioritise the most
appropriate programming ahead of less relevant items.
What makes a good recommendation system?
The best algorithms take into account each of these factors:
1. Programme Information
5. Viewer behaviour
6. Number of repeats and episodes
What else makes a good recommendation system?
• Transparency: Explain how the system works.
• Scrutability: Allow users to tell the system it is wrong.
• Trust: Increase users confidence in the system.
• Persuasiveness: Convince users to try or buy.
• Effectiveness: Help users make good decisions.
• Satisfaction: Make the use of the system fun.
The difficulty in implementing recommendations is that different
users have different tastes and opinions about which television
programmes they prefer.
A substantial portion of the shows that are recommended to the user
should be shows that they would like to watch, or at least might find
It should be clear to the user why they have been recommended
certain shows so that if they have been recommended a show they
don’t like they can at least understand why.
People are fanatical about television programmes and if they are being
recommended a show that they don’t like they should have an
immediate way to say that they don’t like it and subsequently never
have it recommended again.
The recommendations needs to drive the take up of the shows that
they are recommending. This can only be measured by monitoring the
shows that are recommended and seeing how user behaviours change.
TiVo Recommendation Engine
• Every show in the TiVo universe has a unique identifying series
ID assigned by Tribune Media Services (TMS).
• Shows come in two types: movies and series which are recurring
programs such as 'Friends'.
• A series consists of a set of episodes. All episodes of a series
have the same series ID.
• Prediction is made at the series level so TiVo does not currently
try to predict whether you will like one episode more than
TiVo Recommendation Engine
The flow of data starts with a user rating a show.
There are two types of rating:
1. Explicit feedback: The viewer can use the thumbs-up and
thumbs-down buttons on the TiVo remote control to indicate if she
likes the show.
2. Implicit feedback: Since various previous collaborative filtering
systems have noted that users are very unlikely to volunteer explicit
feedback, in order to get sufficient data the only user action that
results in an implicit rating happens when the user choose to record
a previously unrated show.
TiVo Recommendation Engine
The following sequence details the events leading to TiVo making a
show suggestion for the viewer:
1. Viewer feedback
2. Transmit profile
4. Server-side computation
5. Correlation download
6. Client-side computation
7. Suggestions list
8. Inferred recordings
Thank you. Questions?