Download data/docs/label_taxonomy.html from SuckSome/artifex: direct link, hf CLI and curl.
- Browser
- Download file 7.78 kB
-
https://huggingface.co/spaces/SuckSome/artifex/resolve/main/data/docs/label_taxonomy.html
- Command line
-
hf download hf://spaces/SuckSome/artifex/data/docs/label_taxonomy.html
-
curl -L -o label_taxonomy.html https://huggingface.co/spaces/SuckSome/artifex/resolve/main/data/docs/label_taxonomy.html
7.78 kB
| <p>Artifex uses two label families: <strong>period</strong> (ordered date bins) and <strong>region</strong> (a hierarchical cultural-geographic | |
| taxonomy). Both are versioned through configuration files; changing them changes the dataset version.</p> | |
| <h2>Dates</h2> | |
| <h3>Internal convention</h3> | |
| <ul> | |
| <li>Years are integers on the <strong>astronomical</strong> scale: 1 CE = 1, 1 BCE = 0, 2 BCE = −1, <em>n</em> BCE = 1 − <em>n</em>. | |
| This is the only scale on which subtraction across the era boundary is correct (there is no historical year 0: | |
| from 50 BCE to 50 CE is 99 years).</li> | |
| <li>The Met and Cleveland APIs give BCE years as negative <em>historical</em> years (500 BCE = −500). They are converted with | |
| <code>historical_to_astronomical</code> (<code>src/artifex/dates.py</code>).</li> | |
| <li>Every date is a closed range <code>[date_start, date_end]</code>. A single year is a range of length zero.</li> | |
| <li>The museum's own date text is preserved in <code>original_date_text</code>; flags <code>date_approximate</code> ("c.", "about", "late …") | |
| and <code>date_uncertain</code> ("?", "probably", "or", …) are derived from it.</li> | |
| <li>Unusable values are kept as unknown with a reason in <code>date_issue</code>: <code>missing</code>, <code>zero-placeholder</code> (the Met's 0/0 for | |
| undated objects), <code>out-of-range</code>, or <code>reversed-range</code> (start and end swapped and fixed).</li> | |
| </ul> | |
| <h3>Display</h3> | |
| <p>User-facing dates show the museum's text where available. Normalised ranges are formatted with explicit eras where | |
| needed: "500–100 BCE", "50 BCE–50 CE", "800 CE", "1600–1650".</p> | |
| <h3>Period bins</h3> | |
| <p>Defined in <code>configs/dataset.yaml</code> (<code>period.bins</code>); contiguous, half-open intervals <code>[start, end)</code>:</p> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th>id</th> | |
| <th>label</th> | |
| <th>covers</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr> | |
| <td><code>pre-500</code></td> | |
| <td>Before 500 CE</td> | |
| <td>everything before 500 CE</td> | |
| </tr> | |
| <tr> | |
| <td><code>500-1299</code></td> | |
| <td>500–1299</td> | |
| <td></td> | |
| </tr> | |
| <tr> | |
| <td><code>1300-1449</code></td> | |
| <td>1300–1449</td> | |
| <td></td> | |
| </tr> | |
| <tr> | |
| <td><code>1450-1549</code></td> | |
| <td>1450–1549</td> | |
| <td></td> | |
| </tr> | |
| <tr> | |
| <td><code>1550-1649</code></td> | |
| <td>1550–1649</td> | |
| <td></td> | |
| </tr> | |
| <tr> | |
| <td><code>1650-1749</code></td> | |
| <td>1650–1749</td> | |
| <td></td> | |
| </tr> | |
| <tr> | |
| <td><code>1750-1849</code></td> | |
| <td>1750–1849</td> | |
| <td></td> | |
| </tr> | |
| <tr> | |
| <td><code>1850-1899</code></td> | |
| <td>1850–1899</td> | |
| <td></td> | |
| </tr> | |
| <tr> | |
| <td><code>1900-</code></td> | |
| <td>1900 and later</td> | |
| <td></td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <p>Bins are deliberately <strong>neutral date ranges</strong>, not style periods ("Renaissance", "Edo"), because the collection spans | |
| traditions whose periodisations do not align. Bins are narrower where the collection is dense and wider where it is | |
| sparse; a bin with fewer than <code>min_records_per_class</code> labelled works in the modelling subset is not a classifier target | |
| (its works remain in the collection and the retrieval index).</p> | |
| <p><strong>Assignment rule.</strong> A work is labelled with a bin only if at least <strong>75 %</strong> of its documented range lies inside that | |
| bin (<code>assign_period</code> in <code>src/artifex/labels.py</code>). Otherwise <code>period_status</code> is <code>spans-bins</code> and the work has no period | |
| label. It is still evaluated with range-aware metrics. The rule avoids forcing "16th–17th century" into one bin.</p> | |
| <h2>Regions</h2> | |
| <h3>Principle</h3> | |
| <p>A region label describes the <strong>cultural-geographic attribution recorded by the holding museum for the artwork</strong> (its | |
| culture or place of production). It is not the place depicted and, where avoidable, not the artist's birthplace. | |
| Regions are historical-geographic zones, not modern states; modern country names in museum records only point into | |
| these zones.</p> | |
| <h3>Hierarchy (<code>configs/region_mapping.yaml</code>)</h3> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th>Broad region</th> | |
| <th>Narrower traditions (sub-regions)</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr> | |
| <td>Europe</td> | |
| <td>Italian peninsula · Low Countries · France · Iberian peninsula · German-speaking lands & Central Europe · British Isles · Nordic countries · Eastern Europe · Greek & Byzantine world</td> | |
| </tr> | |
| <tr> | |
| <td>North America</td> | |
| <td>—</td> | |
| </tr> | |
| <tr> | |
| <td>Latin America & Caribbean</td> | |
| <td>—</td> | |
| </tr> | |
| <tr> | |
| <td>East Asia</td> | |
| <td>China · Japan · Korea</td> | |
| </tr> | |
| <tr> | |
| <td>South Asia</td> | |
| <td>Mughal & North Indian courts · Rajasthan & Central India · Punjab Hills (Pahari) · Deccan · Eastern India · Sri Lanka</td> | |
| </tr> | |
| <tr> | |
| <td>Himalayan region (Tibet, Nepal, Bhutan)</td> | |
| <td>—</td> | |
| </tr> | |
| <tr> | |
| <td>Southeast Asia</td> | |
| <td>—</td> | |
| </tr> | |
| <tr> | |
| <td>West & Central Asia</td> | |
| <td>Iran · Anatolia & Ottoman lands · Arab lands of West Asia · Central Asia · Ancient Near East</td> | |
| </tr> | |
| <tr> | |
| <td>Nile Valley & North Africa</td> | |
| <td>Egypt · Maghreb</td> | |
| </tr> | |
| <tr> | |
| <td>Sub-Saharan Africa</td> | |
| <td>—</td> | |
| </tr> | |
| <tr> | |
| <td>Oceania</td> | |
| <td>—</td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <p>Only broad regions (and traditions) with enough labelled works become classifier targets; the deployed list is shown on | |
| the Methodology page under <em>Current configuration</em> and with every analysis.</p> | |
| <h3>Mapping procedure</h3> | |
| <ol> | |
| <li>Fields are consulted in order: <code>object_culture</code> → <code>object_geography</code> → <code>artist_nationality</code> → <code>department_hint</code> | |
| (the last is used only for the Met's Egyptian Art department, which is itself a geographic attribution).</li> | |
| <li>All rules are tested against the string. If rules from <strong>two different broad regions</strong> match, the record is | |
| <code>ambiguous</code> and stays unlabelled — the search does not fall back to a weaker field. Examples: "United States or | |
| England", "Western Tibet [or Kashmir (?)]".</li> | |
| <li><code>override</code> rules handle compound terms whose meaning is not the union of their words ("Roman Egypt" → Nile Valley; | |
| "British India" → South Asia; "Sino-Tibetan" → Himalayan region).</li> | |
| <li>When a culture string names the place of the <strong>painting</strong> explicitly ("…Vikramashila Monastery. Painting: Nepal, | |
| Kathmandu"; "Herat (text); Mughal India (paintings)"), only that clause is mapped.</li> | |
| <li>A sub-region is set only if exactly one tradition matches.</li> | |
| <li>Strings matching nothing are <code>unmapped</code>. All distinct strings, their counts and mappings are written to | |
| <code>data/manifests/region_mapping_report.csv</code> for review.</li> | |
| </ol> | |
| <p>Every record keeps <code>culture_original</code>, <code>region_original</code>, <code>region_basis</code>, <code>region_status</code> and <code>region_matched_text</code>.</p> | |
| <h3>Known tensions</h3> | |
| <ul> | |
| <li><strong>Artist nationality</strong> is used for many European paintings because the museums record no culture for them. It is a | |
| conventional "school" attribution, not a place of production (a Dutch artist working in Paris is labelled Low | |
| Countries).</li> | |
| <li><strong>Dynastic or courtly labels</strong> (Mughal, Safavid) are mapped to the region of the court; works made for one court by | |
| artists from elsewhere follow the museum's attribution.</li> | |
| <li><strong>Himalayan and Indian Buddhist painting</strong> overlap culturally; strings naming both are left ambiguous.</li> | |
| <li><strong>Modern borders</strong> (Pakistan, Afghanistan) appear in museum records for historical regions; they are mapped into the | |
| broad zones above, which are intentionally coarse.</li> | |
| </ul> |