IP Television (IPTV) has created a new arena for digital advertising that has not been explored to its full potential yet. IPTV allows users to retrieve on demand content and recommended content; however, very limited research has been applied in the domain of advertising in IPTV systems. The diversity of the field led to a lot of mature efforts in the fields of content recommendation and mobile advertising. The introduction of IPTV and smart devices led to the ability to gather more context information that was not subject of study before. This research attempts at studying the different contextual parameters, how to enrich the advertising context to tailor better ads for users, devising a recommendation engine that utilizes the new context, building a prototype to prove the viability of the system and evaluating it on different quality of service and quality of experience measures. To tackle this problem, a review of the state of the art in the field of context-aware advertising as well as the related field of context-aware multimedia have been studied. The intent was to come up with the most relevant contextual parameters that can possibly yield a higher percentage precision for recommending advertisements to users. Subsequently, a prototype application was also developed to validate the feasibility and viability of the approach. The prototype gathers contextual information related to the number of viewers, their age, genders, viewing angles as well as their emotions. The gathered context is then dispatched to a web service which generates advertisement recommendations and sends them back to the user. A scheduler was also implemented to identify the most suitable time to push advertisements to users based on their attention span. To achieve our contributions, a corpus of 421 ads was gathered and processed for streaming. The advertisements were displayed in reality during the holy month of Ramadan, 2016. A data gathering application was developed where sample users were presented with 10 random ads and asked to rate and evaluate the advertisements according to a predetermined criteria. The gathered data was used for training the recommendation engine and computing the latent context-item preferences. This also served to identify the performance of a system that randomly sends advertisements to users. The resulting performance is used as a benchmark to compare our results against. When it comes to the recommendation engine itself, several implementation options were considered that pertain to the methodology to create a vector representation of an advertisement as well as the metric to use to measure the similarity between two advertisement vectors. The goal is to find a representation of advertisements that circumvents the cold start problem and the best similarity measure to use with the different vectorization techniques. A set of experiments have been designed and executed to identify the right vectorization methodology and similarity measure to apply in this problem domain. To evaluate the overall performance of the system, several experiments were designed and executed that cover different quality aspects of the system such as quality of service, quality of experience and quality of context. All three aspects have been measured and our results show that our recommendation engine exhibits a significant improvement over other mechanisms of pushing ads to users that are employed in currently existing systems. The other mechanisms placed in comparison are the random ad generation and targeted ad generation. Targeted ads mechanism relies on demographic information of the viewer with disregard to his/her historical consumption. Our system showed a precision percentage of 69.70% which means that roughly 7 out of 10 recommended ads are actually liked and viewed to the end by the viewer. The practice of randomly generating ads yields a result of 41.11% precision which means that only 4 out of 10 recommended ads are actually liked by viewers. The targeted ads system resulted in 51.39% precision. Our results show that a significant improvement can be introduced when employing context within a recommendation engine. When introducing emotion context, our results show a significant improvement in case the user’s emotion is happiness; however, it showed a degradation of performance when the user’s emotion is sadness. When considering all emotions, the overall results did not show a significant improvement. It is worth noting though that ads recommended based on detected emotions using our systems proved to always be relevant to the user's current mood.


Computer Science & Engineering Department

Degree Name

MS in Computer Science

Graduation Date


Submission Date

May 2017

First Advisor

Aly, Sherif G.

Committee Member 1

Rafea, Ahmed

Committee Member 2

ElBatt, Tamer


146 p.

Document Type

Master's Thesis


The author retains all rights with regard to copyright. The author certifies that written permission from the owner(s) of third-party copyrighted matter included in the thesis, dissertation, paper, or record of study has been obtained. The author further certifies that IRB approval has been obtained for this thesis, or that IRB approval is not necessary for this thesis. Insofar as this thesis, dissertation, paper, or record of study is an educational record as defined in the Family Educational Rights and Privacy Act (FERPA) (20 USC 1232g), the author has granted consent to disclosure of it to anyone who requests a copy.

Institutional Review Board (IRB) Approval

Approval has been obtained for this item


Microsoft Azure for Research funding program grant which allows up to USD 20,000 in Azure consumption