Skip to content

ML framework for identifying brand differentiating messages in commercials. Uses NLP and computer vision on Super Bowl ads.

Notifications You must be signed in to change notification settings

NilsLeo/Commercial-Brand-Differentiating-Message-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

144 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Analysis Framework for Identifying Brand Differentiating Messages (BDM) in Commercials

Super Bowl

This University Project aims to provide a Framework which can be used to analyse a commercial and identify whether or not this commercial contains a Brand Differentiating Message (BDM). This Spreadsheet contains a list of Superbowl Ads which are labeled with either 1 (BDM) or 0 (No BDM) by the marketing faculty of my University. Due to limitations in Data Quality (Subjectivity, Binary Classification) and Quantity (only a few hundred ads, class imbalance), this project should be considered as more of a conceptual approach, rather than a model with a high accuracy.

Due to the small number of Ads, we used a machine learning approach, with manually engineered features, rather than just passing text through to a neural network.

CRISP-DM

This Project is structured using the CRISP-DM Framework

Data Understanding

Jupyter Notebook

Data Preparation, Modeling, Evaluation

Jupyter Notebook

Deployment

Webapp

Table of Contents

Getting Started

video_tutorial.mp4

Prerequisites

  • Docker
  • docker-compose
  • (Model Training Only) A URL with the Videos referenced in the model training. This must be added to your local .env file. Copy the example and adjust the URL

System Requirements

The model was developed on the following System

Component Details
OS Ubuntu 24.04.1 LTS x86_64
Host MS-7E07 1.0
CPU 13th Gen Intel i7-13700K (24) @ 5.500GHz
GPU NVIDIA GeForce RTX 4070
Memory 64042 MiB

In in attempt to ensure cross plattform compatibility, a Docker image was created. However this has only been tested on 1 machine and needs to be tested on a broad spectrum of systems to ensure true Cross Plattform Compatibility

Installation

To install, simply run the following command:

docker-compose up -d

Usage

Demo Application

Open http://localhost:8502 to access the Demo Web UI. This will allow you to upload a Video and see the steps that our Model goes through before giving its prediction whether or not the Video contains a strong BDM or not.

Development

The source code is directly mapped to the app directory. This means that any changes made to the directory inside or outside of the container will be synced both ways.

Jupyter

Open http://localhost:8889 to access the integrated Jupyter Development environment. The necessary dependencies are already installed.

In order to authenticate and set a password, in your terminal run the following commands:

docker exec -it app sh
jupyter server list

This will retrieve the token.

Tips

If you want to persist the changes, make sure to update the requirements.txt when it comes to python packages and any external dependencies must be added to the Dockerfile.

About

ML framework for identifying brand differentiating messages in commercials. Uses NLP and computer vision on Super Bowl ads.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •