SmartTUBE Recommender. Principles

Overview

SmartTUBE Recommender — an integrated SmartTUBE module for automatic generation of VoD content recommendations. The module periodically analyzes subscriber views of content, characteristics of content units (genres, countries, description, etc.) and, optionally, characteristics of subscribers (gender, age, geolocation), and generates new ordered sets of VoD content recommendations for each user and sets of similar movies/series for each of them.

Recommendations are divided into two types:

  • User-based — calculated based on the user profile settings, the user’s viewing preferences and their similarity to other subscribers, and so on. This type of recommendation is only available when SmartCARE is installed.

SmartCARE — software solution for monitoring the quality of a video content delivery and hardware related incidents in IPTV/OTT networks.

  • Context-aware — calculated based on the similarity of movie metadata (description, genres, cast, etc.)

Generated recommendations are displayed in the SmartTUBE app making it more attractive for the subscribers.

Image4

General solution scheme

Recommendations in SmartTUBE Apps

The presentation of recommended content in the SmartTUBE apps is designed in the most organic way possible — users see recommendations exactly where they expect.

The examples below demonstrate UI sections where recommendations can be located.

Image2

User-based recommendations on the Home screen

Image3

Context-aware recommendations on the movie details page

 

Image1

User-based recommendations in the full-screen player

Analyzed Data

The key object of the Recommender’s analysis is the multi-view of a content unit — a movie or a series. The multi-view of a movie is understood as an aggregate of all its views by the subscriber — both full and partial; and multi-view of a series — as an aggregate of views of all its episodes.

The degree of the subscriber’s interest in a movie or series is determined by the Relative viewing duration — the ratio of the actual viewing time to the total duration of the movie, summed up by all its views by the subscriber.

Also each content unit has a set of metadata —  seasons, episodes, descriptions, genres, filmmakers, cast, country of production, etc. This information is used to generate the context-aware recommendations (see below).

Working Principle

The Recommender module is run cyclically, the period depends on the intensity of content viewing (once at night, for example).

In the process, the Recommender interacts with 3 databases:

  • SmartCARE MongoDB — contains client sessions for getting information about new content views, generating and saving new milti-views;
  • SmartTUBE Developer Postgres DB — contains data on past content views (can contain data from several operators) + statistics (number of views, quality of recommendations, and so on);
  • SmartTUBE Production Postgres DB — the operator’s DB storing data on current recommendations and content metadata.

Let’s consider one cycle of the Recommender’s work.

Image5

Algorithms Used

Depending on the size and composition of the subscriber base, the content viewing activity, the VoD catalog size, the content metadata quality, server HW and other conditions, the Recommender uses one or more algorithms for generating Recommendations and Similarities.

Context-Aware Algorithms

If the operator has a large share of subscribers and movies with a small number of views (typical for several thousand subscribers and several thousand movies in the catalog), the system is always close to the “cold start” mode. In such a situation, context-aware algorithms can be used.

Recommended content for each user is selected based on the principle of similarity with the content he has already viewed before. The similarity of two movies is determined by the coincidence of keywords in the description, of the genres, leading actors, countries of production, and so on. In addition, newly published, more popular movies with a recent release year, can gain additional weight when ranking.

The specific current parameters of the algorithm are optimized on historical data.

Matrix Factorization

The Matrix Factorization algorithm used by the Recommender is to represent the interaction matrix “Subscriber – Content Item” of high dimension as a product of two matrices of lower dimension.

The key advantage of this algorithm is the consistently good quality of recommendations with infrequent optimization of its parameters.

Hybrid

The recommended content rank is defined as the weighted sum of Context-Aware and Matrix Factorization Recommendations. This algorithm also has a good quality of Recommendations, but requires more time to optimize the parameters.

Optimization of Algorithm Parameters

Over time, the number of subscribers in any operator system increases, and new content is added periodically. All this leads to the need for periodic optimization of algorithm parameters to maintain optimal Recommender performance. At the moment, this process is run periodicаlly under manual control. However, the SmartLabs development team is moving towards automating the launch of the optimization process.

CONTENTS
Sign-in
Sign-in with your SmartLabs Support Portal account credentials to see non-public articles.