How To Combine Neural Networks, Genetic Algorithms and HbbTV

Our work was published in IEEE Transactions on Consumer Electronics in 2016.


Summary of our work:

A novel method to make smart recommendations is proposed utilizing artificial intelligence and the latest technologies developed for the television area. For this purpose, genetic algorithms (GAs), artificial neural networks (ANNs), and Hybrid Broadcast Broadband Television (HbbTV) are combined to get the users’ television viewing habits and to create profiles. Then, television programs are recommended to the users based on that profiling.

An HbbTV application is developed to collect real television watching data from the users. Then, these data are employed to cluster users. The number of clusters is found by “Controlled Clustering with Genetic Algorithms (CCGA)”, a method proposed in this thesis. For each cluster formed by CCGA, a separate ANN is designed to learn the viewing habits of the users of the corresponding cluster. The weight matrices are initialized also by GA. The constructed model is then used to provide recommendations to the users again using the same HbbTV application.

The novelty of this work lies in several areas. Since it is mainly a broadcaster side method and HbbTV is a widely accepted public standard, this proposal is device agnostic and can reach many people using different device brands, which is the main motivation of this study.

Clustering the users enhances the learning part, which is based on the ANN. Instead of assigning all users to the same ANN, clustering is introduced by utilizing preferred genre information obtained explicitly. GA is one of the clustering alternatives but it proves itself as a better approach when compared to the wellknown K-means clustering algorithm.

Introducing a penalizing transformation in clustering with GA keeps the ANN network size under control which is an important parameter in terms of processing cost and time. Similarly, starting the ANN learning with pre-processed weights rather than random values improves the performance.

Please contact us for the details if you are interested in hearing more about this.