Natürlichsprachige Programmierung am KIT

© KIT/Hardy Müller

Interface
02/04/2015

Software soll bald Befehle in Alltagssprache verstehen

Am Karlsruhe Institute of Technology arbeiten Informatiker an Systemen, die sich komplett durch Sprachbefehle programmieren lassen.

von Markus Keßler

Unter dem Schlagwort “Natürlichsprachige Programmierung” wird am KIT Software entwickelt, die Menschen verstehen und Anweisungen befolgen kann. Zwar sind heutige Mobiltelefone und spezielle Software bereits dazu imstande, Sprachbefehle in eingeschränktem Maß zu akzeptieren, das hat mit dem was den deutschen Forschern vorschwebt aber noch nicht viel zu tun. “Die Mobiltelefone sind schon besser als früher, verstehen einfache Kommandos und erkennen Schlüsselwörter in Sätzen. Wir wollen aber mehrere Kommandos zu einer Art einfachen Programmierung zusammenfügen können”, erklärt Walter Tichy vom KIT gegenüber der futurezone.

Derzeit arbeiten Tichy und sein Team mit der Programmierumgebung “Alice”, die so angepasst wurde, dass einfache 3D-Spiele mit Sprachbefehlen erstellt werden können. “Wir könne etwa Szenenbeschreibungen liefern. Der Nutzer sagt der Software, dass im Hintergrund ein Wald, im Vordergrund eine Eisfläche sein soll. Dann können wir Alice sagen, dass eine Eisläuferin sich drei Mal drehen und dann nach hinten laufen soll. Das sind einfache Aufgaben, sie beweisen aber, dass das Konzept funktioniert”, sagt Tichy. Ein Demovideo gibt es hier:

Unpräzise Anweisungen

Die Probleme beim Programmieren von Systemen mit Sprache sind vielfältig. Schon die chronologische Reihenfolge der Aufgaben kann für Computer zum Problem werden. Maschinen benötigen ihre Instruktionen normalerweise in genau der Reihenfolge, in der sie ausgeführt werden sollen. Sprache ist hier aber unpräzise. “Der Befehl ‘Fahre aus der Garage, nachdem du das Tor geöffnet hast.’ kann eine Maschine schon verwirren und zu Unfällen führen. Deshalb müssen wir Signalwörter für eine zeitliche Umkehr herausfiltern und korrekt interpretieren können”, sagt Tichy. Auch Kontext ist ein Konzept, mit dem sich Software schwertut. Zudem muss ein solches System lernfähig sein, damit die Nutzer nicht jedesmal alles von vorne erklären müssen.

Dass Sprache nicht immer eindeutig ist, kann ebenfalls zum Problem werden. Mehrdeutige Wörter oder rückbezügliche Ausdrücke schaffen Intrpretationsspielräume, mit denen Maschinen derzeit noch überfordert sind. Einige Wissenschaftler sind gar der Meinung, dass diese Probleme niemals in den Griff zu bekommen sein werden. Tichy hingegen ist fest davon überzeugt, dass die natürlichsprachige Programmierung mit kleinen Schritten ans Ziel kommen wird.

Die Systeme der Karlsruher erlauben es heute schon, Excel in getippter Alltagssprache zu steuern. “Viele User tun sich schwer mit der Formelsprache von Excel. Wir können das Programm mit Kommandos wie ‘Addiere Spalte A’ oder ‘bilde den Durchschnitt aus A12 und B16’ bedienen. Die Steuerung mit gesprochener Sprache ist in Arbeit. Das ist ein Fortschritt”, erklärt Tichy.

Bau das Ikearegal zusammen?

Das eigentliche Verstehen von Sprache ist bei der natürlichsprachigen Programmierung lediglich ein kleiner Teil des Problems. Auch hier müssen aber noch Fortschritte passieren, bevor eine verlässliche Erkennung von Gesprochenen funktioniert. “Selbst einfache Anwendungen wie Speech-to-Text sind noch nicht zufriedenstellend. Dabei sind die meisten Bereiche, in denen Spracherkennung heute zum Einsatz kommt, auf ein enges Gebiet spezialisiert, etwa bei Navigationssystemen. Unsere Software soll universal einsetzbar sein”, sagt Tichy.

In Karlsruhe soll längerfristig eine Programmierschnittstelle entwickelt werden, die natürlichsprachige Systeme für praktisch beliebige Zwecke einsetzbar macht. “Ein Programmiersystem soll aus einem Sprachbefehl lesen können, welche Methode und welche Parameter er anwenden muss. Hat es etwa ein Sortierprogramm, muss es auch Synonyme wie `bring in Ordnung' verstehen."

Diese Vielfältigkeit der Sprache ist ebenfalls eine Herausforderung”, so Tichy. In zehn Jahren, so der Forscher, soll es möglich sein, einem Haushaltsropoter zu sagen “Räum den Tisch ab”. Möglichwerweise wird er dann fragen ‘Wie geht das ?’. Nach einer Erklärung soll es die Aufgabe aber lösen können. “Wir brauchen Software, die Sprache semantisch analysieren kann, nicht nur statistisch. Heutige Spracherkennung basiert immer auf der Analyse von Sprachdatenbanken. Da ist noch viel zu tun”, so Tichy.

Lang lebe die Tastatur

Wenn das gelingt, kann die Software auch beliebige spezialisierte Aufgabestellungen lösen. “Ein Roboter, der ein Getriebe zusammensetzen können soll, muss Vokabeln wie Welle und Zahnrad kennen. Der Kern der Software kann dazu aber gleich bleiben, es müssen lediglich Fachvokabular und Programmierschnittstelle getauscht werden”, sagt Tichy.

Das Ersetzen von Maus und Tastatur im Alltag ist aber nicht das Ziel der Karlsruher. “Wenn es um Präzision und Wiederholung geht, sind bekannte Interfaces besser. Sprache eignet sich besonders für Ad-Hoc-Kommandos. Ich will meine Software fragen können ‘Wer kommt heute in die Sprechstunde?’. Sprache ist eine sehr flexible Schnittstelle”, erklärt Tichy.

Sicherheit ist ebenfalls ein wichtiges Thema für die Forscher. Ein gewisses Verständnis dafür, was möglich ist, muss der Software einprogrammiert werden. “Wir arbeiten derzeit ja nur in einem gesicherten Bereich. Wenn es um Anwendungen in der Robotik oder bei selbstfahrenden Autos geht, können Fehler aber theoretisch dramatische Folgen haben”, erklärt Tichy.