Artifex v0.1 uses no manual labels. Every label is derived deterministically from museum metadata by code and configuration that can be reviewed. This document describes how those derivations are reviewed and how manual review should be done if it is added.
| Label | Source fields | Rule | Review artefact |
|---|---|---|---|
date_start, date_end |
Met objectBeginDate/objectEndDate; Cleveland creation_date_earliest/latest |
historical → astronomical years; unusable values recorded in date_issue |
manifest.csv (original_date_text beside the range) |
period_label |
date range | ≥ 75 % of range inside one bin | period_status column |
region_normalized, culture_normalized |
culture, place fields, artist nationality, Egyptian Art department | ordered regex rules; multi-region matches → ambiguous | region_mapping_report.csv |
| eligibility | licence flags, classification, object name, title | see configs/dataset.yaml → filters |
exclusions.csv |
| duplicates | image URL, image bytes | first artwork id is canonical | duplicate_of column |
data/manifests/region_mapping_report.csv (one row per distinct source string per field, with counts).count. Check every unmapped and ambiguous string with ≥ 3 records, and a sample of assigned strings
per broad region.configs/region_mapping.yaml (never the manifest), bump its version, rebuild:
python scripts/build_dataset.py. The dataset version changes, which invalidates the trained model and evaluation,
forcing re-training and re-evaluation.Decisions taken so far (see label_taxonomy.md): ambiguous strings stay unlabelled; explicit "Painting: X" clauses win;
compound terms such as "Roman Egypt" use override rules; dynasty names are not used as place indicators except where
the dynasty is unambiguous about place (Safavid, Qajar).
artwork_id; the original museum fields are never edited.