Nachrichten, Gerüchte, Meldungen und Berichte aus der IT-Szene
Redaktion: Heinz Schmitz
In Alltagssprache programmieren
Computer sprechen eine eigene Sprache: Programmieren kann sie nur, wer den passenden Code beherrscht. An einer Software, die natürliche Sprache direkt in maschinenlesbare Quelltexte übersetzt, arbeiten derzeit Informatiker KIT. Nutzer könnten damit in wenigen Sätzen eigene Computeranwendungen erstellen. Eine Herausforderung dabei: Menschen beschreiben Vorgänge nicht immer streng chronologisch. Ein neues Analysewerkzeug der KIT-Forscher ordnet die Anweisungen nun automatisch so hintereinander, wie sie der Computer ausführen soll.
„Wir wollen weg von komplizierten Regelwerken für Nutzer – nichts anderes sind Programmiersprachen – hin zu intelligenten Rechnern, die mit uns in Dialog treten“, sagt Mathias Landhäußer, wissenschaftlicher Mitarbeiter am Institut für Programmstrukturen und Datenorganisation (IPD) des KIT. Bislang ließen sich Programme nur dann mit Sprache steuern, wenn sie vom Hersteller genau darauf ausgelegt seien: so beispielsweise das Versenden von Kurznachrichten (SMS) über ein Smartphone. Die Informatiker am KIT arbeiten dagegen an einer Software, die für beliebige Programme eine Sprachschnittstelle einrichtet. Damit könnten Nutzer ihre mobilen Apps nicht nur per Sprachbefehl öffnen, sondern auch bedienen. Bei einer Anwendung, die Heizung, Beleuchtung und Fenster in intelligenten Häusern steuert, haben die Forscher eine solche Schnittstelle bereits erfolgreich eingebunden.
„Bis wir komplexe Software mit Sprache nicht nur bedienen, sondern tatsächlich programmieren können, wird es noch dauern“, schätzt Landhäußer. Ein zentrales Kommunikationsproblem zwischen Mensch und Maschine – das Problem der Reihenfolge – haben die Wissenschaftler gerade gelöst, zunächst beispielhaft für die englische Sprache. „Betrachten wir beispielsweise den Satz ‚Bevor das Auto losfährt, geht das Garagentor auf.‘ Aus unserer Alltagsperspektive ist diese Beschreibung nicht ungewöhnlich“, erklärt Landhäußer. Solle der Vorgang allerdings in einer virtuellen Welt am Computer stattfinden, ergebe sich ein Problem: Der Rechner führt Befehle nacheinander in der Reihenfolge aus, in der sie eintreffen. In dem genannten Beispiel erhält er zunächst die Information „Auto fährt los“ und erst danach die Information „Garagentor geht auf“. Das Auto würde demzufolge gegen das Garagentor fahren. „Sieht das Programm eine solche Aktionskette nicht vor, geschieht bestenfalls nichts, schlimmstenfalls stürzt der Computer ab“, so der Informatiker.
Die neue Software der KIT-Wissenschaftler analysiert nun zeitbezogene Signalwörter, die darauf hinweisen, dass ein eingesprochener Text zeitliche Abläufe nicht streng linear abbildet. Solche Signalwörter geben an, ob etwas „davor“ oder „danach“, „zuerst“ oder „zuletzt“ geschieht – und zwar unabhängig davon, an welcher Stelle die Information steht. Die Informatiker ordnen diesen sprachlichen Begriffen nun logische Formeln zu, um im Quelltext eine chronologische Abfolge herzustellen: Angewandt auf das obige Beispiel, verschiebt die Formel für das Signalwort „bevor“ den Hauptsatz automatisch um eine Position nach vorne. Das Ergebnis lautet:
Das Garagentor geht auf, bevor das Auto losfährt.
Vorgaben für Nutzer zum computergerechten Sprechen stellten keine zuverlässige Alternative dar, so die Forscher: Erste Tests zeigten, dass Probanden mit und ohne Programmierkenntnisse trotz entsprechender Aufforderung nicht streng der Reihe nach erzählten, sondern stattdessen unbewusst weiterhin Signalwörter verwendeten. „Unser Ziel ist es, dass sich der Rechner an die Sprechweise der Nutzer anpasst – nicht umgekehrt“, sagt Landhäußer. Neben dem Reihenfolgenproblem identifizierten die Wissenschaftler noch weitere Herausforderungen beim Programmieren mit natürlicher Sprache. So ersetzten die Probanden etwa einzelne Wörter mit sinnverwandten Begriffen oder Fürwörtern: Dass sich der Begriff „Auto“ auf dasselbe Objekt bezieht, wie „Wagen“ oder „dieses“ im Folgesatz, können Computer allerdings nicht ohne Weiteres ableiten. „Menschen verstehen diese Zusammenhänge, weil das Geschehen vor ihrem inneren Auge als Film abläuft. Wir arbeiten daran, langfristig auch Computern solch ein übergeordnetes Verständnis zu vermitteln“, erklärt Landhäußer.
Originalveröffentlichung:
Mathias Landhäußer, Tobias Hey und Walter F. Tichy: Deriving time lines from texts. RAISE 2014 Proceedings of the 3rd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering, Pages 45-51, ACM New York 2014. Doi: 10.1145/2593801.2593809