A computational dataset of 20th-century American magazine advertisements
The examples below illustrate how the computational pipeline processes magazine advertisements. Each example is shown with interpretive commentary explaining the classification, OCR extraction, and metadata inference steps.
The full dataset (200,000+ ads) is browsable in the Dataset Explorer. All original scans are available on the Internet Archive.
This example demonstrates the pipeline's page classification step.
The CLIP-based classifier assigns this page a high ad probability
(>0.99), correctly distinguishing it from editorial content. The Surya
OCR engine extracts text regions that reveal the product name, tagline,
and body copy. A full-page ad like this one produces a single row in the
dataset with ad_type = "full".
Two-page spread ads span consecutive scans. The spread classifier (a
difference-head architecture comparing CLIP embeddings of adjacent
pages) identifies these pairs with F1 > 0.94. In the ad-level dataset,
spreads are consolidated into a single row (ad_type = "spread")
with the partner page recorded, preventing double-counting in aggregate
statistics. OCR text and detected objects from both pages are merged.
Many magazine pages contain both editorial content and smaller
advertisements. The page classifier labels these as "mixed" (label 2).
The YOLO-based ad localization model then draws bounding boxes around
individual ad regions within the page. Each bounding box becomes its
own row in the dataset (ad_type = "mixed") with coordinates
stored in the bbox field. OCR text is spatially filtered
to include only text lines that overlap with each bounding box, so each
partial ad gets its own distinct text rather than the full page's OCR.