Anfang der Woche fand in Darmstadt im beeindruckenden Hörsaal im “Alten Maschinenhaus” ein Tutorial zu den Hintergründen des Computer-Jeopardy!-Spielers Watson von IBM statt. Eingeladen hatte Chris Biemann vom Fachbereich Informatik der Uni Darmstadt, erschienen waren der Dozent Alfio Massimiliano Gliozzo (IBM Research) sowie mehr als 130 interessierte Zuhörer, welche die Veranstaltung dann auch zum “biggest Watson-Tutorial wordwide so far” machten.
Watson ist eine von IBM entwickelte und auf spezieller Hardware umgesetzte Software, der es im Frühjahr 2011 gelungen ist, das Spiel Jeopardy! gegen die bis dahin erfolgreichsten (menschlichen) Kandidaten zu gewinnen. Dieses Ereignis hatte ich damals hier im Blog aufgegriffen, als Paradebeispiel dafür, was man in meinem Fach Informationsverarbeitung bzw. Computerlinguistik so alles anstellen kann. Für uns war diese Meldung eine echte Sensation, weil sie viel unvorhergesehener kam als der Sieg von Deep Blue (dem ungleich berühmteren Schachprogramm, ebenfalls von IBM entwickelt) über den Schachweltmeister Garry Kasparov 14 Jahre zuvor. Weshalb aber wurde das Schachproblem viel früher als das Jeopardy!-Problem gelöst? Lösen heißt hier: Gegen die ausgewiesen besten Menschen in dem Spiel zu gewinnen.
Schach – so unendlich groß die Zahl der möglichen Spiele auch sein mag (selbst Deep Blue konnte bei weitem nicht alle möglichen Züge analysieren) – ist ein rein mathematisches Problem. Es gibt eine begrenzte Menge an Zuständen, die in eine ebenfalls begrenzte Anzahl von Folgezuständen überführt werden können. Menschen waren dem Computer lange überlegen, weil sie Muster in Schachspielen erkennen konnten, die sie mögliche Gewinnstrategien entwerfen ließen. Die ersten Schachcomputer hatten dann auch eine erbärmliche Performance. Später schlugen sie Anfänger, irgendwann Hobbyspieler und am Ende dann eben auch den amtierenden Weltmeister (Deep Blue 1997). Letzteres allerdings auch erst im zweiten Versuch, das erste Aufeinandertreffen hatte Kasparov 1996 noch für sich entschieden. Nebenbei: Der auf gewisse Weise entthronte Weltmeister unkte nach der Niederlage 1997, Deep Blue hätte zwischendurch Hilfestellungen durch Menschen bekommen. Der Vorwurf wurde nie wirklich aufgeklärt, weil IBM keine Untersuchung zuließ und Deep Blue dann auch demontierte. Insgesamt sind lediglich 12 Partien des Rechners öffentlich bekannt – jeweils 6 in den Jahren 1996 und 1997, sämtlich mit Kasparov als Gegner. Da aber in der Zwischenzeit Deep Fritz, ein Programm, um das sehr viel weniger Geheimhaltungs-Popanz gemacht wurde, 2006 den damaligen Weltmeister Wladimir Kramnik mit 4:2 schlug, zweifelt niemand mehr ernsthaft daran, dass Computer in der Lage sind, Menschen jederzeit im Schach zu schlagen.
Der Sieg von Watson über Ken Jennings und Brad Rutter kam dagegen gewissermaßen aus dem Nichts. Nie zuvor hatte jemand versucht, eine Maschine in einem Spiel wie Jeopardy! einzusetzen, wo es darum geht die zugehörigen Fragen zu sehr trickreich formulierten Antworten herauszufinden (also schlicht ein umgedrehtes Frage-Antwort-Spiel). Um ein Beispiel zu geben:
Antwort: “Aufgezeichnete Sachverhalte oder Gedanken, bisweilen mit Tagebuchcharakter, die auf einer Webseite zu finden sind.”
Die dazu passende Frage wäre: “Was ist ein Blog?”
Die Themenkomplexe, aus denen die Antworten stammen, sind dabei nicht eingegrenzt, sollten aber die Zuschauer interessieren – schließlich handelt es sich um eine Fernsehshow, die von den Einschaltquoten lebt. Man benötigt also ein breites Wissen, um in dem Spiel zu bestehen. Dieses dürfte zwar tatsächlich vollständig oder zumindest in großen Teilen irgendwo hinterlegt sein, wo es auch für Computer zugänglich ist – im Zweifelsfall eben in der Wikipedia. Die drei größten Herausforderungen bestehen aber darin,
- Die Antworten richtig zu interpretieren, um eine Ahnung davon zu bekommen, wonach überhaupt gefragt wird.
- Eine Wissensbasis so zu gestalten, dass interpretierte Antworten auf mögliche Fragen abgebildet werden können.
- Aus möglichen Fragen diejenige auszuwählen, die als die passenste erscheint.
Um gut Schach spielen zu können, genüge es, Mathematik zu beherrschen; Jeopardy! aber gründe in der menschlichen Kognition, sagte Gliozzo. Statt wohldefinierter Zustände in begrenzter Zahl hat man es mit prinzipiell unendlich vielen Ausdrücken zu tun, die auch noch verschiedene Bedeutungen tragen können. Die Antworten, mit denen ein Jeopardy!-Kandidat konfrontiert wird sind genauso wie der größte Teil des verfügbaren Wissens in menschlicher Sprache hinterlegt und damit ambig, kontextabhängig und teilweise implizit.
Welche Ansätze IBM dabei verfolgte, die Aufgabe anzugehen und erfolgreich zu gestalten, war Thema des Workshops und Gliozzo gelang es aus meiner Sicht wirklich gut, dieses ansprechend und informativ darzulegen. Insgesamt bestand der Vortrag aus vier etwa zweistündigen Blöcken, einer Art eingedampften Form eines Kurses, den Gliozzo auch an der New Yorker Columbia Universität anbietet. Zwischendurch wurden immer wieder von IBM produzierte Filme zu Watson, der Jeopardy!-Challenge und der Zukunft des Systems gezeigt, die aus unterrichtstechnischen Gründen angebracht waren (inmitten des sehr anspruchsvollen Stoffs konnte man sich mal zurücklehnen und konsumieren), die auf mich als europäischen Wissenschaftler mitunter aber etwas überproduziert und pathetisch wirkten (Dan Ferrucci, Leiter des Watson-Projekts mit Tränen in den Augen und so, auf der IBM-Seite kann man sich selbst ein Bild davon machen).
Sehr gut hat mir die Live-Demo gefallen, eine Art simuliertes Spiel Watson gegen Vortragspublikum. Dabei zeigte sich auch, dass die Maschine mit denen eigens für das europäische Publikum ausgewählten Fragen offensichtlich nicht besonders gut zurecht kam. So war Watsons Vermutung, wo nach dem Schengen-Abkommen keine Kontrollen mehr stattfinden: passport. Erst danach folgte das korrekte borders, witzigerweise dicht gefolgt von Austria.
In den einzelnen Sessions ging Gliozzo auf die Teilbereiche (I) DeepQA-Architecture, (II) Natural Language Processing Components, (III) Structured Knowledge Components und (IV) Adaption to the Medical Domain ein. Die Klammer um das Ganze war ein Diagramm, das die Performances von Jeopardy!-Gewinnern und Watson, ausgestattet mit bestimmten Komponenten zeigte. War die Maschine anfangs noch meilenweit von einer Performance entfernt, auch nur ein einziges der historischen Jeopardy-Spiele zu gewinnen, sah man, dass die Zuschaltung der nacheinander erläuterten Komponenten immer weitere Fortschritte brachte. Das war als roter Vortragsfaden schon ziemlich genial. Detailliert berichte ich davon vielleicht mal an anderer Stelle. Schließen möchte ich mit einer Reihe von Aspekten, die ich aus dem Tutorial mitnehmen durfte:
- Watson versteht nicht. Er gleicht Muster ab und führt eine unglaubliche Anzahl von Bewertungsfunktionen durch. Die Entwickler haben eine Unzahl verschiedener Techniken gegeneinander evaluiert und diejenigen, welche sich in Tests als erfolgreich herausstellten, im System behalten.
- IBM hat nicht gezaubert oder vorher unbekannte Techniken entwickelt, sondern einfach nur bekanntes miteinander kombiniert. Gliozzo ist auf so gut wie jeden Schritt aus einem anfangs völlig undurchschaubar komplizierten Workflow-Diagramm eingegangen (natürlich nicht immer im Detail) und meinte am Ende so in etwa: “Jetzt kann das jeder von euch nachbauen. Viel Spaß!” Dabei unterschlug er allerdings nicht, dass eine selbstgebaute Antwortmaschine wahrscheinlich Tage für die Lieferung der Frage benötigen würde, was Watson auf seiner speziellen Hardware (3000 Prozessorkerne, 15 TeraByte RAM) in unter 3 Sekunden schaffen musste (ansonsten hätte er gegen seine menschlichen Konkurrenten keine Chance gehabt).
- Watson ist eine Maschine, um Jeopardy! zu gewinnen. Die ersten Versuche, ihn einzusetzen, um bspw. Mediziner bei der Diagnose oder der Behandlung von Krankheiten zu unterstützen, waren eher ernüchternd. Nachdem viel Arbeit in die Adaption gesteckt wurde, konnten zwar Fortschritte erzielt werden, man hat es aber weiterhin mit einer domänenspezifischen Anwendungen zu tun. IBM ist das klar und sucht deshalb nach neuen Lösungen.
- Offenbar war den Entwicklern vorher nicht klar, ob Watson die Challenge tatsächlich für sich entscheiden würde – man ging von einer 50% Chance aus. Im oben erwähnten Diagramm sah man, dass Jennings in vielen historischen Spielen eine deutlich bessere Performance hinlegte, als Watson am Ende seiner Jeopardy!-Entwicklung. Watson ist also – im Gegensatz zu Schachcomputern – weiterhin schlagbar.
Soweit meine (erste) Nachlese zum Watson-Tutorial. Vielleicht kann ich demnächst nochmal auf die Gesamtarchitektur oder einzelne Komponenten des Systems eingehen. Ich hoffe, mir ist es einigermaßen geglückt, auszudrücken, dass ich die Veranstaltung für wirklich gelungen hielt und möchte hier die Gelegenheit ergreifen, mich herzlich beim Organisator Chris Biemann zu bedanken. Falls so etwas noch einmal stattfinden sollte, kann ich jedem NLP-, Machine Learning- und Knowledge Engineering-Interessieren mit bestem Gewissen raten, daran teilzunehmen!