Was ich beim Aufbau von WikiVisage für Wikimedia Commons gelernt habe

Translate this post

Wikimedia Commons verfügt über mehr als 100 Millionen frei lizenzierte Mediendateien, doch vielen Fotos fehlen noch immer strukturierte Metadaten, aus denen hervorgeht, wer auf dem Bild zu sehen ist. Auf Commons werden diese Informationen in der Regel über „Structured Data on Commons“ hinzugefügt, wobei die Eigenschaft „P180 depicts“ verwendet wird. Fehlen diese Angaben, sind Bilder schwerer zu finden, wiederzuverwenden und mit dem restlichen Wikimedia-Ökosystem zu verknüpfen. Dieses Problem tritt besonders bei Fotos von Personen zutage, bei denen die Mitwirkenden die abgebildete Person noch immer manuell identifizieren und die Metadaten hinzufügen müssen.

Ich habe WikiVisage entwickelt, um diesen Prozess zu vereinfachen. Es handelt sich um ein Open-Source-Tool von Toolforge, das Mitwirkenden dabei hilft, Gesichter in Commons-Bildern zu überprüfen, Übereinstimmungen für einen bestimmten Wikidata-Eintrag vorzuschlagen und anschließend genehmigte „Depicts“-Angaben wieder in Commons einzutragen. Das Tool ist unter https://wikivisage.toolforge.org/ verfügbar.

Der grundlegende Arbeitsablauf ist einfach. Mitwirkende starten ein Projekt mit einem Wikidata-Element und einer Commons-Kategorie. WikiVisage durchsucht die Kategorie, erkennt Gesichter und stellt dem Nutzer eine Reihe von Ja- oder Nein-Fragen. Nach einer kleinen Anzahl bestätigter Übereinstimmungen kann das Tool mögliche Übereinstimmungen in den verbleibenden Bildern vorschlagen. Es wird nichts automatisch geschrieben. Die Miwirkenden überprüfen die Ergebnisse weiterhin, bevor eine Bearbeitung an Commons gesendet wird.

Das Klassifizierungs-Interface von WikiVisage.
Das Klassifizierungs-Interface von WikiVisage. Bildquelle: Yet another Jimbo shot, August 2005, August 2005 von Joi Ito, CC BY 2.0.

Die Entwicklung von WikiVisage hat mir drei Dinge gelehrt, die für andere, die Tools für die Wikimedia-Bewegung entwickeln, nützlich sein könnten.

1. Ein einfaches Modell kann dennoch nützlich sein

Wenn man den Begriff „maschinelles Lernen“ hört, denkt man oft an eine umfangreiche Trainingspipeline und ein kompliziertes Modell. In diesem Fall war das jedoch nicht nötig. WikiVisage funktioniert auch mit einem viel einfacheren Ansatz: Sobald Mitwirkende einige Beispiele bestätigt haben, vergleicht das Tool die übrigen Gesichter mit diesen Beispielen und schlägt mögliche Übereinstimmungen vor.

Diese Einfachheit ist entscheidend. Sie sorgt dafür, dass das System leichter zu verstehen, leichter zu debuggen und leichter auf der Infrastruktur der Community auszuführen ist. WikiVisage versucht nicht, das Problem der allgemeinen Gesichtserkennung zu lösen. Es hilft bei einer ganz bestimmten Frage innerhalb eines Projekts: Stimmt dieses Gesicht mit diesem Wikidata-Element überein?

2. Toolforge prägt das Design

Toolforge hat dieses Projekt ermöglicht. Es bietet Freiwilligen einen Ort, an dem sie Community-Tools in unmittelbarer Nähe zum Wikimedia-Ökosystem hosten können, bringt jedoch auch echte Einschränkungen mit sich.

Es gibt keine GPU, daher muss das Tool auf der CPU laufen. Der Speicher ist begrenzt, daher muss jeder Hintergrund-Worker schlank bleiben. Ich stieß außerdem auf ein weniger offensichtliches Problem mit PythonMultiprocessing innerhalb von Kubernetes: Mit der Zeit konnten Semaphor-Lecks /dev/shm füllen und den Worker zum Absturz bringen. Der Austausch von multiprocessing.Queue durch multiprocessing.Pipe machte den Worker wesentlich stabiler.

3. Eine Überprüfung durch Menschen ist unerlässlich

Eines wollte ich auf keinen Fall: ein Tool, das maschinengenerierte Angaben stillschweigend in Commons schreibt. WikiVisage kann zwar Übereinstimmungen vorschlagen, doch die Mitwirkenden müssen diese noch prüfen, bevor etwas veröffentlicht wird. Das ist wichtig, denn Commons ist eine gemeinsame öffentliche Ressource. Fehlerhafte Metadaten beeinträchtigen die Suche, die Wiederverwendung und das Vertrauen projektübergreifend.

Suggested matches are reviewed by a contributor before any edit is sent to Commons. Media credit: Source images from Commons. Left to right: Henry Hui (CC BY-SA 3.0), Gus Freedman (CC BY-SA 2.5) x2, Seasurfer (CC BY-SA 3.0), EdwardOConnor (CC BY-SA 3.0), Sansculottem (CC BY-SA 3.0).
Suggested matches are reviewed by a contributor before any edit is sent to Commons. Media credit: Source images from Commons. Left to right: Henry Hui (CC BY-SA 3.0), Gus Freedman (CC BY-SA 2.5) x2, Seasurfer (CC BY-SA 3.0), EdwardOConnor (CC BY-SA 3.0), Sansculotte (CC BY-SA 3.0).

Was könnte als Nächstes kommen?

Es gibt noch viel zu verbessern. Ich möchte mich mit einer besseren Modellbereitstellung über die „Lift Wing“-Plattform von Wikimedia befassen, und möglicherweise wird es in Zukunft auch darum gehen, Trainingsdaten projektübergreifend zu teilen, sofern die Beitragenden dem ausdrücklich zustimmen.

Für die Lesenden von Diff ist der Kernpunkt einfach: Wenn du etwas für Wikimedia-Beitragende entwickelst, fang mit einem eng gefassten Problem an, halte den Arbeitsablauf verständlich und richte dich bei der Gestaltung an den Gegebenheiten der Community-Infrastruktur. Du brauchst nicht das fortschrittlichste Modell, um etwas Nützliches zu entwickeln.

WikiVisage ist als Open Source auf GitHub verfügbar und unter https://wikivisage.toolforge.org/ live. Wenn du an Commons-Metadaten, Toolforge-Tools oder Human-in-the-Loop-Workflows für Wikimediaprojekte arbeitest, würde ich mich freuen zu erfahren, an welchen ähnlichen Problemen du gerade arbeitest.

Can you help us translate this article?

In order for this article to reach as many people as possible we would like your help. Can you translate this article to get the message out?