DOI: 10.5281/zenodo.17127244
title: Italian TV Commercials Dataset (1980–2024)

description: Italian TV Commercials Dataset (1980–2024)

This repository hosts a large-scale dataset of Italian television commercials aired between 1980 and 2024, with more than 10,000 commercials collected and organized for research and analysis. Each commercial comes with detailed metadata and is segmented into scenes.

The dataset is organized into folders by subject:



General — commercials’ metadata and scene segmentation info

Colours — commercial and reference color palettes

Audio — extracted acoustic features (spectral, chromatic, rhythmic)

Text — lemmatization, part-of-speech tags, and psycholinguistic indicators derived from transcriptions

Scene Thumbnails — representative frames of each scene of each commercial


Below is an overview of the content.
description: General

commercials.csv

The commercials.csv data set contains one row per commercial (10,350 rows in total). Each row provides the fundamental information about the advertisement, consisting of the following fields:



commercial_id: the unique identifier of the commercial, composed of either: original filename (for Spot 80 content), YouTube video ID (for single commercial videos), concatenated YouTube video ID and sequential number (for commercials extracted from compilations).

title: the account-assigned video title.

brand: the brand advertised in the commercial.

nice_class: class number, based on industry-standard categories, linked to the nice_classes.csv file).

product_type_key: foreign key linking to the product_types.csv file.

year: the year of the first airing of the commercial.

lustrum: a five-year period label with pattern YYYY_YYYY, where the start year ends with 0 or 5, and the end year ends with 4 or 9 (e.g., 1980_1984, 1985_1989, 1990_1994).

duration_in_seconds: the duration of the commercial in seconds.

tot_frames: the quantity of frames of the commercial.

avg_frame_rate: the average frame rate (fps) of the commercial.

aspect_ratio: the aspect ratio of the video.

source: the site or the YouTube account that uploaded the video.


scenes.csv

The scenes.csv data set contains the info about the duration of the scenes detected in each commercial.



commercial_id

scene: the sequential identifier for each detected scene.

scene_size: the scene duration measured in frames.

start_frame: the initial frame number of the scene.

end_frame: the final frame number of the scene.

scene_size_norm: the scene duration normalized.

scene_duration_in_seconds: the duration of the scene in seconds.


nice_classes.csv

The nice_classes.csv data set contains 46 classes composed of the 45 classes of Nice classification system plus one extra class (“Associations, organizations, institutions” with the id -1).



class: the unique identifier of the Nice class.

description_en: the description in English.

description_it: the description in Italian.


product_types.csv

The product_types.csv data set provides further refinement to the Nice classifications, using the TMclass classification assistant, resulting in 150 unique categories. The product type is a Nice class subclass that more precisely identifies the category of a product. Each commercial was manually labeled with these subcategories.



product_type_key: the unique identifier of the product type.

nice_class: the parent Nice class.

product_type_en: the description in English.

product_type_it: the description in Italian.


Colours

basic_palette.csv

The basic palette made up of 19 colours.



color_name: the name (unique identifier) of the basic colour.

hex_code: the RGB hexadecimal code of the colour in the format #RRGGBB.

oklch_coords: the OKLCH coordinates of the colour in the format (l,c,h), i.e., lightness, chroma, hue.


basic_palette_idfs.csv

The IDF values associated to the basic palette colours.



closest_color_bas_pal: the name (unique identifier) of the basic colour.

idf: the inverse document frequency (IDF) value of the colour.


essential_palette.csv

The essential palette made up of 311 colours.



color_name: the name (unique identifier) of the essential colour.

hex_code: the RGB hexadecimal code of the colour in the format #RRGGBB.

oklch_coords: the OKLCH coordinates of the colour in the format (l,c,h), i.e., lightness, chroma, hue.


essential_palette_idfs.csv

The IDF values associated to the essential palette colours.



closest_color_ess_pal: the name (unique identifier) of the essential colour.

idf: the inverse document frequency (IDF) value of the colour.


extended_palette.csv

The extended palette made up of 801 colours.



color_name: the name (unique identifier) of the extended colour.

hex_code: the RGB hexadecimal code of the colour in the format #RRGGBB.

oklch_coords: the OKLCH coordinates of the colour in the format (l,c,h), i.e., lightness, chroma, hue.


extended_palette_idfs.csv

The IDF values associated to the extended palette colours.



closest_color_ext_pal: the name (unique identifier) of the basic colour.

idf: the inverse document frequency (IDF) value of the colour.


reference_palette_hierarchy.csv

A data set for defining the hierarchy of the three reference colour palettes.



ext_color_name: the name (unique identifier) of the extended palette colour.

ess_color_name: the name of the essential palette colour, parent of the extended palette colour.

bas_color_name: the name of the basic palette colour, parent of the essential palette colour.

ext_hex_code: the RGB hexadecimal code of the extended palette colour.

ess_hex_code: the RGB hexadecimal code of the essential palette colour.

bas_hex_code: the RGB hexadecimal code of the basic palette colour.

ext_oklch_coords: the OKLCH coordinates of the extended palette colour.

ess_oklch_coords: the OKLCH coordinates of the essential palette colour.

bas_oklch_coords: the OKLCH coordinates of the basic palette colour.


commercial_palettes.csv

The commercials_palettes.csv data set contains all the colours extracted (one colour per row) from each scene of each commercial.



commercial_id

scene: the progressive number ID of the scene.

scene_size: the scene duration measured in frames.

start_frame: the initial frame number of the scene.

end_frame: the final frame number of the scene.

hex_code: the hexadecimal representation of the colour.

frequency_within_the_scene: the frequency of appearance in the scene.

closest_color_ext_pal: the closest match of the colour within the extended palette.

closest_color_ess_pal: the closest match of the colour within the essential palette.

closest_color_bas_pal: the closest match of the colour within the basic palette.

scene_size_norm: the scene duration normalized.

frequency_within_the_commercial: the frequency of appearance in the whole commercial.

tf: the term frequency according to the closest_color_ext_pal value.


Audio

speech_class_confidence_scores.csv

The data set contains the confidence score of the speech recognition of each commercial.



commercial_id

speech_class_confidence_score: the confidence score for the presence of speech in the commercial.


audio_feature_names.csv

The data set is just a list of audio feature names, useful to retrieve for each commercial the associated .npz files.



name: the name of the audio feature.


The 19 audio features are: chroma_cens, chroma_cqt, chroma_stft, librosa_static_tempo_default_prior, librosa_static_tempo_lognorm_prior, librosa_static_tempo_uniform_prior, melspectrogram, mfcc, poly_features, rms, spectral_bandwidth, spectral_centroid, spectral_contrast, spectral_flatness, spectral_rolloff, tempocnn_static_tempo, tempogram, tonnetz, zero_crossing_rate.

The pattern of each .npz file name is <commercial_id>.<feature_name>.npz.

The .npz files have been grouped by audio feature in a folder <feature_name>_files that have been subsequently compressed in a ZIP file whose path has this pattern: audio/features/<feature_name>_files.zip.

melspectrogram_files and tempogram_files

The folders melspectrogram_files and tempogram_files (bigger than 4 GB) have been compressed in multiple ZIP files: to unzip them we recommend to use this command:

zip -s 0 <feature_name>_files.zip --out merged.zip && unzip merged.zip && rm merged.zip


Text

lemmas.csv

The lemmas.csv provides for each commercial the list of lemmas (alphabetically ordered) of its speech and their part-of-speech tagging. Punctuation marks were excluded from the lemmatization process, but stop words were not: the reason lies in the fact that in very short texts, such as advertising ones, even a word considered a stopword, e.g., “tutto” (“all”) or “più” (“plus”, “more”) could be significant. Then, for each lemma within the entire collection of documents, we calculated the term frequency-inverse document frequency (tf-idf), a measure of the term’s relative importance in the corpus.



commercial_id

lemma: the lemmatized form of the term.

UPOS: Universal Part-Of-Speech tag, the assigned grammatical category.

POS: language-specific part-of-speech, which is more fine-grained and language dependent.

tf_idf: the relevance value of the lemma in the corpus based on the tf-idf metric.


liwc_analysis.csv

The data set provides for each commercial the values for each of 97 LIWC categories.

The values are compiled in a table where each commercial has a set of scores—for instance, related to presence of pronouns, or that relate to a sentiment like anger or sadness. These features can help identify the psychological appeals or language style of the commercials (e.g., a high “family” category score might indicate a familial appeal in an advertisement).



commercial_id


Basic descriptive features



WC: word count, total number of words in the text

WPS: words per sentence, average number of words per sentence

BigWords: percentage of words longer than six letters

Dic: dictionary words, percentage of words found in the LIWC dictionary


Pronouns and Personal References



pronomi: pronouns, percentage of pronouns in the text

Io: first-person singular pronouns (I, me, mine)

Noi: first-person plural pronouns (we, us, our)

Se: reflexive pronouns

Tu: second-person pronouns (tu, tuo)

Altri: third-person pronouns (he, she, they)

Voi: you plural form

Lui_lei: he/she pronouns

Loro: they/them pronouns


Linguistic dimensions



Negazio: negations (no, not, never)

Consen: assent/agreement words

Articol: articles (the, a, an)

Prepos: prepositions (to, with, above)

Numero: numbers

AllPunc: all punctuation

Period: periods

Comma: commas

QMark: question marks

Exclam: exclamation marks

Apostro: apostrophes

OtherP: other punctuation

Emoji: emoji count


Psychological Processes



Affett: affect words, emotional tone

Sen_Pos: positive sentiment

Emo_Pos: positive emotions

Ottimis: optimism

Emo_Neg: negative emotions

Ansia: anxiety

Rabbia: anger

Tristez: sadness/depression


Cognitive Processes



Mec_Cog: cognitive mechanisms, words that reflect thinking processes

Causa: causation (because, effect)

Intros: insight (think, know)

Discrep: discrepancy (should, would)

Inibiz: inhibition (block, constrain)

possib: tentative/possibility (maybe, perhaps)

Certez: certainty (always, never)

Inclusi: inclusive words

Esclusi: exclusive words


Perceptual Processes



Proc_Sen: sensory processes

Vista: seeing (view, saw)

Udito: hearing (listen, hear)

Sentim: feeling (feel, touch)


Social Processes



Social: social words

Comm: communication

Rif_gen: references to others

amici: friends

Famigl: family

Umano: humans


Time Orientations



Tempo: time references

Passato: past tense

Present: present tense

Futuro: future tense


Spatial References



Spazio: space references

Sopra: up/above

Sotto: down/below

Movimen: motion words


Personal Concerns



Occupaz: occupation

Scuola: school

Lavoro: work

Raggiun: achievement

Svago: leisure

Casa: home

Sport: sports

TV_it: television

Musica: music

Soldi: money

Metafis: metaphysical

religio: religion

Morte: death


Biological Processes



Fisico: physical states/functions

Corpo: body

Sesso: sexuality

Mangiare: eating/drinking

Dormire: sleep

Cura_cor: body care


Informal Language



parolac: swear words

Non_flu: non-fluencies (um, uh)

riempiti: fillers (you know, I mean)


Grammatical features (Italian-specific)



Condizio: conditional tense

Transiti: transitivity markers

P_pass: past participle

gerundio: gerund form

Passivo: passive voice

Essere: to be verb

Avere: to have verb

Formale: formal language markers

Io_Ver: I + verb combinations

Tu_Verbo: you + verb combinations

Lui_Verb: he/she + verb combinations

Noi_Verb: we + verb combinations

Voi_Verb: you (plural) + verb combinations

Loro_Ver: they + verb combinations


Scene Thumbnails (Images)

For each scene listed in scenes.csv, an image file is provided showing the scene’s representative frame. These .webp image files are organized in the thumbnails directory by commercial.

Each commercial has a folder containing its scene images, whose path follows this pattern: thumbnails/<commercial_id>/<commercial_id>.ss<padded_scene_number>.webp.

The thumbnails have a uniform height of 180 pixels, preserving the original aspect ratio.

File structure

.
├── audio
│   ├── audio_feature_names.csv
│   ├── features
│   │   ├── chroma_cens_files.zip
│   │   ├── chroma_cqt_files.zip
│   │   ├── chroma_stft_files.zip
│   │   ├── librosa_static_tempo_default_prior_files.zip
│   │   ├── librosa_static_tempo_lognorm_prior_files.zip
│   │   ├── librosa_static_tempo_uniform_prior_files.zip
│   │   ├── melspectrogram_files.z01
│   │   ├── melspectrogram_files.z02
│   │   ├── melspectrogram_files.zip
│   │   ├── mfcc_files.zip
│   │   ├── poly_features_files.zip
│   │   ├── rms_files.zip
│   │   ├── spectral_bandwidth_files.zip
│   │   ├── spectral_centroid_files.zip
│   │   ├── spectral_contrast_files.zip
│   │   ├── spectral_flatness_files.zip
│   │   ├── spectral_rolloff_files.zip
│   │   ├── tempocnn_static_tempo_files.zip
│   │   ├── tempogram_files.z01
│   │   ├── tempogram_files.z02
│   │   ├── tempogram_files.z03
│   │   ├── tempogram_files.zip
│   │   ├── tonnetz_files.zip
│   │   └── zero_crossing_rate_files.zip
│   └── speech_class_confidence_scores.csv
├── colors
│   ├── basic_palette.csv
│   ├── basic_palette_idfs.csv
│   ├── commercial_palettes.csv
│   ├── essential_palette.csv
│   ├── essential_palette_idfs.csv
│   ├── extended_palette.csv
│   ├── extended_palette_idfs.csv
│   └── reference_palette_hierarchy.csv
├── general
│   ├── commercials.csv
│   ├── nice_classes.csv
│   ├── product_types.csv
│   └── scenes.csv
├── images
│   ├── 0-er-global-simplified.svg
│   ├── 1-er-general.svg
│   ├── 2-er-colors.svg
│   ├── 3-er-audio.svg
│   ├── 4-er-text-short.svg
│   └── 4-er-text.svg
├── text
│   ├── lemmas.csv
│   └── liwc_analysis.csv
└── thumbnails.zip