- Startseite
- Methodik
1. Katalog auf Gruppenebene
Ausgangspunkt ist ein kuratierter Katalog ethnischer Gruppen mit 484 Zeilen, nach Namen indiziert, mit normalisierten Spalten für Herkunftsgebiet, Region, Sprache, ISO-Sprachcodes, ISO-Ländercodes, Religion und, sofern vorhanden, eine Wikipedia-URL. Die Taxonomie folgt einer Standardhierarchie Kontinent → Subregion → Ethnie: Amerika, Europa, Afrika, Asien, Ozeanien auf Kontinentebene; 23 Subregionen; 484 ethnische Gruppen.
Dieser Katalog ist älter als die aktuelle Pipeline und wird manuell gepflegt. Er ist als Konfiguration ethnicities des öffentlichen HuggingFace-Datensatzes veröffentlicht.
2. Erfassung bekannter Persönlichkeiten
Für jede Gruppe mit einer Wikipedia-URL versuchen wir, den zugehörigen Artikel „List of {Ethnicity} people“ abzurufen. Existiert ein solcher Artikel, extrahieren wir Namen, kurze „bekannt für“-Angaben, Geburts- und Sterbejahre, sofern angegeben, sowie Referenz-URLs pro Person. 291 von 484 Gruppen haben mindestens einen solchen Artikel auf Wikipedia; 193 nicht (meist kleine oder wenig bekannte Gruppen, zu denen keine Listenseite verfasst wurde). Die Erfassung ergab insgesamt 13.094 Personenzeilen, veröffentlicht als Konfiguration notable_people.
3. Ermittlung der Bild-URLs
Für jede erfasste Person folgen wir der Referenz-URL zu ihrem eigenen Wikipedia-Artikel und extrahieren die URL eines repräsentativen Bildes, bevorzugt das Infobox-Bild am Anfang des Artikels, ersatzweise das erste OpenGraph-Bild. Für 6.243 von 13.094 Personen (47,7 %) lässt sich ein Wikipedia-Bild finden; die übrigen rund 52 % haben kein Infobox-Bild (oft Personen aus der Zeit vor der Fotografie oder wenig prominente Personen mit reinen Textartikeln).
Der Server upload.wikimedia.org von Wikimedia begrenzt die Anfragerate pro Quell-IP sehr streng. Wir begrenzen den Abrufer auf 2 Anfragen pro Sekunde pro Quell-IP; eine engere Taktung löst innerhalb der Batches HTTP-429-Fehler aus.
4. Annotation per Vision-LLM
Jedes Bild mit auffindbarer URL wird mit einem festen, strukturierten Prompt an ein Vision-Sprachmodell übergeben, der 14 Phänotypfelder sowie einen selbst angegebenen Konfidenzwert (0,0 bis 1,0) und eine Bildqualitätsstufe (high / medium / low / very_low) abfragt. Der Prompt weist das Modell ausdrücklich an, für den Hautton das Fitzpatrick-Vokabular I bis VI zu verwenden (wo sinnvoll auch Bereiche), das Vorhandensein einer Epikanthusfalte als strukturiertes Unterfeld der Augenform zu erfassen, das Foto als eine Beobachtung einer Person zu behandeln (nicht als Prototyp eines ethnischen Stereotyps), für nicht beurteilbare Felder unknown oder einen leeren Wert zurückzugeben und Verdeckungen (Brille, Hut, Make-up, teilweise sichtbares Gesicht) ausdrücklich anzugeben.
Verwendet wird das Inferenzprofil Anthropic Claude Sonnet 4.6 auf AWS Bedrock (us.anthropic.claude-sonnet-4-6). Pilotläufe mit höherwertigen Modellen zeigten bei diesem Prompt keinen messbaren Genauigkeitsgewinn: Die Aufgabe ist eine strukturierte Extraktion mit kurzem Kontext und festem Schema, die Sonnet in voller Qualität zu geringeren Kosten bewältigt.
Laufstatistik: 5.668 Bilder erfolgreich analysiert; rund 575 fehlgeschlagen (Ladefehler, Modellfehler, Parsing-Fehler oder zu große Eingaben über der Bedrock-Grenze von 5 MB pro Bild); Parallelität = 4; Durchsatz rund 0,42 Bilder pro Sekunde (netzwerkgebunden); Gesamtkosten 44,66 USD zu Bedrock-Listenpreisen.
Die strukturierte Antwort wird geparst und zeilenweise gespeichert. Das ursprüngliche Roh-JSON wird zu Prüfzwecken in der Quelldatenbank (Spalte ethnic_image_analysis.raw_json) aufbewahrt, aber nicht weitergegeben.
5. System mit kontrolliertem Vokabular
Zusätzlich zur bisherigen Analyse mit 14 Feldern definiert die Pipeline nun ein umfassendes kontrolliertes Vokabular, das 22 anatomische Kategorien mit 196 Dimensionen und 853 Vokabularklassen abdeckt und sich auf mindestens 113 begutachtete Quellen stützt. Jede Vokabulardatei ist ein JSON-Dokument, das Dimensionen (mit Typ: kategorial / ordinal / numerisch / strukturiert), Skala (mit Quellenangabe), Beschreibung, gültige Werte (mit Definitionen) und Metadaten zur Beobachtbarkeit festlegt (ob sich die Dimension anhand eines Fotos beurteilen lässt und ab welchem minimal sichtbaren Umfang).
Ein Generatorskript (scripts/generate-from-vocabulary.mjs) liest jede Vokabulardatei und erzeugt vier Artefakte: ein Prompt-Fragment für die Vision-LLM-Analyse, ein Prisma-Datenbankmodell, eine Aggregationsfunktion und eine Dokumentationsseite in Markdown. Um eine neue Dimension hinzuzufügen, bearbeitet man eine JSON-Datei und führt den Generator erneut aus; es gibt keinen handgeschriebenen Analyse-Prompt, der parallel zum Schema gepflegt werden müsste.
Im Atlas können Sie die 22 Kategorien durchsuchen, im Glossar alle 853 definierten Begriffe nachlesen und im öffentlichen Vokabular-Repository die Quelldateien einsehen.
6. Aggregation pro Gruppe
Ein deterministischer SQL/JavaScript-Aggregator (ohne LLM) erstellt aus den Bildbeobachtungszeilen jeder Gruppe eine Übersichtskarte pro Gruppe. Der Aggregator arbeitet ohne LLM und kann erneut ausgeführt werden. Für jede Gruppe mit mindestens 3 Bildbeobachtungen (derzeit 209 von 484 Gruppen) liefert er:
- Stichprobengröße und Aufschlüsselung nach Quelle
- Qualitätsverteilung (Anteile high / medium / low / very_low in Prozent)
- Mittlere selbst angegebene Konfidenz
- Fitzpatrick-Verteilung (Anteil der Zeilen in jeder Klasse I bis VI)
- Verteilungen von Haarfarbe, Haarstruktur und Augenfarbe
- Anteil mit Epikanthusfalte (ja / nein / teilweise)
- Bedingte Hinweise: kleine Stichprobe (N<10), mäßige Stichprobe (N<25), niedrige Qualität, niedrige Konfidenz, „Bekannte Persönlichkeiten auf Wikipedia sind überwiegend Männer und Personen des öffentlichen Lebens, nicht repräsentativ für die Bevölkerung“
7. Abdeckungswert
Jede Seite einer ethnischen Gruppe zeigt einen Datentiefenwert von 0 bis 100 mit vier gewichteten Komponenten:
- Stichprobengröße 0 bis 40 (logarithmisch skalierte Bildanzahl, gedeckelt bei n≥50)
- Qualität 0 bis 30 (% der Bilder mit
image_quality = "high") - Konfidenz 0 bis 20 (mittlere selbst angegebene Konfidenz des Modells)
- Quellenvielfalt 0 bis 10 (Anzahl unterschiedlicher source_types; derzeit immer 0 oder 1, da die Quellen zu 100 % aus Wikipedia stammen; für künftige Erweiterungen ausgelegt)
Der Wert bildet die Abdeckungstiefe ehrlich ab. Gruppen, zu denen Wikipedia keine fotografische Abdeckung bietet, liegen bei 0; Gruppen mit umfassender Abdeckung nähern sich 100. Der Wert ist unter ethniclist.CoverageScore gespeichert und aktualisiert sich, sobald sich die zugrunde liegenden Daten ändern.
8. Reproduzierbarkeit
Der gesamte Pipeline-Code ist als Open Source unter Apache 2.0 auf github.com/Agaveis/phenotype-catalog-pipeline verfügbar. Das Paper zur Methodik ist unter doi.org/10.5281/zenodo.20075617 veröffentlicht. Der Datensatz ist unter CC BY 4.0 auf huggingface.co/datasets/EthnicErotic/phenotype-catalog veröffentlicht.
Zur Reproduktion der Pipeline benötigen Sie: AWS-Zugangsdaten mit Bedrock-Zugriff in us-east-1, eine SQL Server-Datenbank mit dem Schema (oder eine Portierung auf die Datenbank Ihrer Wahl), Node.js 18+, die HuggingFace-CLI für den Upload und rund 45 USD Budget für Vision-Inferenz auf Bedrock für den vollständigen Lauf mit 5.668 Bildern.