Auf dem Weg zu menschlichen Algorithmen

Forscher am MIT haben eine Software entwickelt, mit der Programmierer die Arbeit von Online-Freiwilligen in ihren Code integrieren können.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Lesezeit: 5 Min.
Von
  • John Pavlus

[b]Forscher am MIT haben eine Software entwickelt, mit der Programmierer die Arbeit von Online-Freiwilligen in ihren Code integrieren können./b]

Mechanical Turk, ein Dienst, den der E-Commerce-Riese Amazon mittlerweile seit fast fünf Jahren anbietet, erlaubt es Firmen und einzelnen Nutzern, Internet-Surfer als bezahlte Hilfsarbeiter zu engagieren. Das ist zumeist nicht besonders teuer und immer dann nützlich, wenn sich eine Aufgabe nur schlecht mittels Rechner automatisieren lässt – sei es nun die genaue Beschreibung eines Bildes oder das Verstehen komplexer Wortzusammenhänge. Dabei gilt stets: Was Künstliche Intelligenz nicht oder nur aufwendig kann, erledigt der Mensch in diesen Fällen in Sekunden.

Die Fähigkeiten der Mechanical Turk-Mitarbeiter, allgemein auch "Turkers" genannt, könnten in Zukunft noch einfacher angezapft werden, indem ihre Arbeit direkt in Programmabläufe integriert wird. Forscher am MIT haben dazu nun ein sogenanntes Toolkit entwickelt. TurKit genannt, lassen sich damit Algorithmen zur Koordinierung von Turkern in der Web-Sprache JavaScript erstellen und daraus mächtige Programme kreieren. Die Software habe dann "menschliche Intelligenz eingebaut", wie Greg Little, Doktorand am Labor für Computerwissenschaften und Künstliche Intelligenz an der Hochschule, sagt, der TurKit entwickelt hat. Selbst die Fehlerbereinigung von Code (Debugging) sei dabei möglich.

"Mit JavaScript konnte man bislang nicht ohne großen Aufwand auf Mechanical Turk zugreifen." TurKit sei eine Brücke, mit der Code geschrieben werden könne, der direkt mit den Turkern interagiere. "So kann man leicht neue Methoden dieses "menschlichen Computers" ausprobieren."

Mit TurKit landen die menschlichen Eingaben zunächst in einer Datenbank. Auf diese Art müssen Turker nicht immer wieder von neuem anfangen, sollte die Software einmal abstürzen. Sobald der Fehler behoben ist, geht es an der letzten Stelle weiter. "Wenn man eine Stunde darauf wartet, bis die Menschen ihre Aufgabe erledigt haben und das Programm dann eine Fehlermeldung ausspuckt, will man nicht nochmal eine Stunde darauf warten, ob der Bugfix funktioniert", erklärt Little.

TurKit verhindert außerdem, dass sich die menschlichen Eingaben unvorhersehbar ändern, während der Programmierer eine Debugging-Session durchführt. "Wenn man bei jedem Durchlauf ein anderes Verhalten hätte, ließe sich ein Fehler niemals beheben", sagt Michael Bernstein, ebenfalls MIT-Doktorand, der mittels TurKit gerade eine neuartige Textverarbeitung entwickelt hat.

Dank TurKit gelang es Forschern bereits, vom Menschen getriebene Algorithmen zu programmieren, die stabil genug sind, um sich in funktionierende Systeme integrieren zu lassen. Soylent, wie Bernsteins Programm heißt, nutzt eine Gruppe von drei bis sieben Turkern, um Texte in Microsoft Word "on demand" auf Fehler zu durchsuchen und Absätze zu kürzen. Der Algorithmus nennt sich "Finden – Verbessern – Verifizieren". Im "Finden"-Stadium markieren die Turker die Fehler einfach, ohne sie zu korrigieren. Soylent vergleicht die Ergebnisse verschiedener Mitarbeiter auf Konsistenz und schickt den gefilterten Output dann an eine zweite Gruppe, die die Fehler dann korrigiert ("Verbessern"-Phase). In der dritten Runde ("Verifizieren") prüft eine dritte Gruppe die Verbesserungen dann auf ihre Qualität. Fehlerhafte Arbeit wird markiert und abgewiesen; Soylent zeigt dann nur noch das geprüfte Endergebnis. "Wenn man einfach eine Gruppe von Turkern auf einen Absatz loslässt, sind rund 30 Prozent der Arbeit nicht zu gebrauchen", sagt Bernstein. "Wir wollten das als Rauschen begreifen, das ständig im System ist und trotzdem für den Endanwender Qualität garantieren."

Eine weitere Mechanical Turk-Anwendung namens VizWiz wird gerade für blinde Menschen entwickelt. Mit ihr soll es möglich werden, Objekte wie Straßenschilder oder Küchengegenstände zu identifizieren – und zwar einfach mit der Kamera eines Smartphones und einer Gruppe von sehenden Turkern. Idealerweise soll die Software sehr schnell arbeiten, so dass die Nutzer das Ergebnis dann bekommen, wenn sie es brauchen. Jeffrey Bigham, Computerwissenschaftler an der University of Rochester, nutzte deshalb TurKit. Das Ergebnis war ein Algorithmus namens quikTurkit, der Verzögerungen verhindert, indem er eine Gruppe von Turkern ständig bereitstellt.

Aktiviert ein Nutzer die VizWiz-Kamera, signalisiert quikTurkit der menschlichen Hilfsmannschaft, dass gleich eine neue Aufgabe kommt. Dabei werden entweder neue Turker "on demand" rekrutiert oder die Anfrage an einen Pool aus acht Turkern, die bereits früher gute Arbeit geleistet haben, weitergeleitet. Methode 1 erlaubt Antworten innerhalb von einigen Minuten, Methode 2 braucht weniger als 30 Sekunden. "Wenn man auf seinem Handy jetzt schon eine teure Bilderkennungssoftware laufenlässt, ist die häufig nicht schneller und womöglich teurer als VizWiz, das im Zweifelsfall auch noch smarter sein könnte."

Sowohl Bigham als auch Bernstein sehen im Umfeld der menschlichen Algorithmen noch viele interessante Anwendungen. Freie Open-Source-Werkzeuge wie TurKit erlaubten es nun, diese leichter zu entwickeln und zu verfeinern. "Solche Software ist grundsätzlich anders als diejenige, die wir Informatiker schon kennen. TurKit lässt uns solchen Code untersuchen und optimieren", sagt Bernstein. Er glaubt fest daran, dass die "Weisheit der Massen" in solchen Systemen ein mächtiges Endergebnis liefern könnte. "Zu geringen Kosten und mit hoher Zuverlässigkeit." (bsc)