ARD alpha - Campus


41

Dipl.-Inform. Sebastian Weigelt Programmieren für alle! Wie Computersysteme lernen, uns aufs Wort zu gehorchen

Wäre es nicht wunderbar, wenn wir Programme einfach mit Alltagssprache beschreiben könnten? Dann könnten wir alle unsere Smartphones und Tablets individualisieren. Prof. Dr. Sebastian Weigelt kommt mit seinem Team am Karlsruher Institut für Technologie diesem Wunschtraum ein gutes Stück näher.

Stand: 16.11.2021

Computersysteme haben sich zu omnipräsenten Begleitern im Alltag vieler Menschen entwickelt. Egal ob Laptop, Smartphone oder Heimautomationssystem – Menschen nutzen persönliche Computersysteme heutzutage nahezu unentwegt. Allerdings liegt der Fokus für den Großteil tatsächlich auf der Nutzung vorhandener Funktionalität. Der wirkliche Mehrwert von Computersystemen besteht aber darin, diese programmieren zu können. Über fundierte Programmierkenntnisse verfügen jedoch nur wenige. Für viele Menschen stellt schlicht das Erlernen einer Programmiersprache eine unüberwindbare Hürde dar. Eine Lösung für diese Problematik besteht darin, Laien die Möglichkeit zu bieten, alltägliche Sprache zur Programmierung verwenden zu können.

Dank der immer weiteren Verbreitung von Digitalen Assistenten und ähnlichen sprachgesteuerten Systemen ist es für die meisten Menschen heutzutage völlig normal mit Computersystemen zu sprechen. Zwar erscheinen derartige Systeme inzwischen intelligent; tatsächlich reagieren sie aber nur auf einzelne Befehle. Man kann diese Assistenten nicht im eigentlichen Sinne programmieren.

ProNat - Program Naturally

Das von Sebastian Weigelts Team entwickelte ProNat (Program Naturally) kann in Alltagssprache formulierte, gesprochene Anweisungen in ausführbare Codes überführen. Mit ProNat können somit Computersysteme aller Art programmiert werden, ohne eine Programmiersprache erlernen zu müssen. Außerdem können Laien den Systemen durch Unterweisung neue Funktionen beibringen. Dabei genügt es, die neue Funktionalität einmalig umgangssprachlich zu beschreiben.

Vom Nutzer zum Lehrer ohne Datensätze

Das Lernen aus Unterweisung benötigt – anders als das bekannte maschinelle Lernen – keine umfangreichen Datensätze mit Ein- und Ausgabe-Beispielen. Stattdessen wird der Nutzer zum Lehrer und unterweist das System, indem er eine Anleitung gibt, wie etwas zu tun ist. ProNat erzeugt aus der Anleitung einen Code und sorgt dafür, dass die neue Funktion anschließend aufgerufen werden kann, natürlich auch durch gesprochene Anweisungen.

Über ProNat einen Haushaltsroboter programmieren

Denkbar wäre beispielsweise folgendes Szenario: Ein Nutzer erklärt mithilfe von ProNat einem Haushaltsroboter Arbeitsabläufe, wie Wäsche waschen oder Kaffee zubereiten, zum Beispiel wie folgt: "Robo, to make a cup of coffee, get the cup, place it under the dispenser, and press the red button". ProNat erstellt daraus ein Ablaufskript für den Roboter. Können Teile der Anweisungen nicht interpretiert werden, stellt ProNat Rückfragen an den Nutzer. Der Roboter führt die Anweisungen nicht nur aus, sondern merkt sich die Abläufe. Beim nächsten Mal, wenn er Wäsche waschen oder Kaffee zubereiten soll, kann er die gelernten Abläufe abrufen. Dazu muss der Nutzer sie lediglich aufrufen, beispielsweise so: "Make me some coffee".

Dipl.-Inform. Sebastian Weigelt (am 29.07.1987 in Weimar geboren) machte 2006 am Marie-Curie-Gymnasium Bad Berka sein Abitur mit Auszeichnung. 2006 bis 2014 studierte er Informatik am Karlsruher Institut für Technologie (KIT). 2014 wurde Weigelt ins Begabtenkolleg des KIT-Fakultät für Informatik aufgenommen. 2014 bis 2015 bekam er ein Industrielles Promotions-Stipendium des FFI und der KIT-Fakultät für Informatik. 2015 bis 2021 promovierte Weigelt an der Fakultät für Informatik und war Akademischer Mitarbeiter an der Fakultät für Informatik. 2017 bis 2021 war er zusätzlich freier Mitarbeiter für Beratungs- und Implementierungsleistungen im Bereich künstliche Intelligenz für die thingsTHINKING GmbH, Karlsruhe.

2021 schließt Weigelt seine Promotion mit dem Titel “Eine agentenbasierte Architektur für Programmierung mit gesprochener Sprache“ mit Auszeichnung ab.


41