Programmier-Software des KIT 07.10.2014, 12:20 Uhr

Statt 10010110: Computer programmieren mit Alltagssprache

Dem Computer einfach sagen, was man will, statt eine komplizierte Programmiersprache zu benutzen – daran arbeiten derzeit Informatiker des Karlsruher Instituts für Technologie (KIT). Sie entwickeln eine Software, die Befehle aus der natürlichen Sprache in eine Programmiersprache übersetzt, die der Rechner versteht.

Mensch an Computer: Bitte das Bild drehen! Um Befehle und Programme für einen Computer zu entwickeln, muss man üblicherweise eine Programmiersprache beherrschen. Das Karlsruher KIT arbeitet nun an einer Software, die normale Sprache in Programme umwandelt.

Mensch an Computer: Bitte das Bild drehen! Um Befehle und Programme für einen Computer zu entwickeln, muss man üblicherweise eine Programmiersprache beherrschen. Das Karlsruher KIT arbeitet nun an einer Software, die normale Sprache in Programme umwandelt.

Foto: dpa/F1online

Sind die Karlsruher Informatiker erfolgreich, können Nutzer in Zukunft eigene Computeranwendungen programmieren – mit ein paar einfachen Sätzen. Bislang ist das denen vorbehalten, die eine Programmiersprache beherrschen. „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 vom KIT. Bislang ließen sich Programme nur dann mit Sprache steuern, wenn sie vom Hersteller genau darauf ausgelegt seien. Als Beispiel nennt Landhäußer das Versenden von Kurznachrichten.

Schnittstelle für beliebige Programme

Die Software, die die Informatiker am KIT derzeit entwickeln, richtet dagegen eine Schnittstelle für beliebige Programme ein. Damit könnten Nutzer ihre mobilen Apps nicht nur per Sprachbefehl öffnen, sondern auch bedienen. Bei einer Anwendung waren die Forscher damit bereits erfolgreich. In die Steuerung eines „intelligenten Hauses“, die Heizung, Beleuchtung und Fenster bedient, haben sie eine solche Schnittstelle eingebunden.

Befehle automatisch in der richtigen Reihenfolge

Eine Hürde auf dem Weg hin zur Programmierung über die Alltagssprache haben die Forscher inzwischen genommen. Menschen geben Befehle meist nicht in der Reihenfolge, in der sie ausgeführt werden müssen. Computer führen Befehle aber nur in der Reihenfolge aus, in der sie gegeben werden. Die Software der Karlsruher kann inzwischen selbstständig anhand einiger Schlüsselwörter die richtige Reihenfolge herstellen. Bislang funktioniert das aber nur in englischer Sprache.

Landhäußer nennt als Beispiel dafür den Befehl „Bevor das Auto losfährt, geht das Garagentor auf.“ Eins zu eins in Programmiersprache übertragen, würde das bedeuten, dass das Auto gegen das geschlossene Garagentor fährt, das sich anschließend öffne. Es sei auch keine Lösung, dem Nutzer Vorgaben für computergerechtes Sprechen zu machen.

Selbst Programmierer verwendeten in Tests immer wieder die gewohnte Sprache, so Landhäußer. „Unser Ziel ist es, dass sich der Rechner an die Sprechweise der Nutzer anpasst – nicht umgekehrt“, sagt der Forscher.

Analyse von Signalwörtern

Die neue Software analysiert nun zeitbezogene Signalwörter wie „davor“, „danach“, „zuerst“ oder „zuletzt“. Sie weisen darauf hin, dass zeitliche Abläufe nicht streng linear genannt werden. Die Informatiker ordnen diesen sprachlichen Begriffen nun logische Formeln zu, um im Quelltext eine chronologische Abfolge herzustellen.

Für das Beispiel mit dem Garagentor bedeutet das: Die Formel für das Signalwort „bevor“ schiebt den Hauptsatz automatisch um eine Position nach vorne. Das Ergebnis: Das Garagentor geht auf, bevor das Auto losfährt.

Weitere Schwierigkeiten müssen gelöst werden

Das ist aber nicht die einzige Schwierigkeit, vor der die Forscher bei der Entwicklung der Software stehen. So ersetzten die Probanden im Test 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. „Bis wir komplexe Software mit Sprache nicht nur bedienen, sondern tatsächlich programmieren können, wird es noch dauern“, schätzt Landhäußer. 

Top Stellenangebote

DSK Deutsche Stadt- und Grundstücksentwicklungsgesellschaft mbH & Co. KG-Firmenlogo
DSK Deutsche Stadt- und Grundstücksentwicklungsgesellschaft mbH & Co. KG Projektbearbeiter (m/w) Stadtentwicklung Bielefeld
WACKER-Firmenlogo
WACKER Ingenieur (w/m) für das Bauwesen mit dem Schwerpunkt Hochbau / Konstruktiver Ingenieurbau Burghausen
Kistler Instrumente GmbH-Firmenlogo
Kistler Instrumente GmbH Key Account Manager (m/w) Qualitätsüberwachung im Bereich Automotive Manufacturing Sindelfingen, Home-Office
Cargill GmbH-Firmenlogo
Cargill GmbH Project & Process Engineering Manager (m/f) Hamburg-Harburg
THOST Projektmanagement GmbH-Firmenlogo
THOST Projektmanagement GmbH Scheduler / Project Planner (m/f) Stockholm, Västerås (Schweden)
Landeshauptstadt München-Firmenlogo
Landeshauptstadt München Planer/innen für ITK-Netzwerktechnik München
Giesecke + Devrient Currency Technology GmbH-Firmenlogo
Giesecke + Devrient Currency Technology GmbH Diplom-Ingenieur / Bachelor / Master für Maschinenbau (m/w) Leipzig
Landeshauptstadt München-Firmenlogo
Landeshauptstadt München Mitarbeiter/innen für Energiemanagement und Anlagenoptimierung in städtischen Gebäuden München
Peek & Cloppenburg KG-Firmenlogo
Peek & Cloppenburg KG Projektleiter (M/W) Facility Management Baubereich Düsseldorf
Schweizer Electronic AG-Firmenlogo
Schweizer Electronic AG Qualitätsingenieur (m/w) Schwerpunkt Messtechnik-Leistungselektronik Schramberg