Skip to main content
Top

13-10-2014 | Softwaretechnik | Schwerpunkt | Article

Computer so einfach wie Daherreden programmieren

Author: Andreas Burkert

3:30 min reading time

Activate our intelligent search to find suitable subject content or patents.

search-config
print
PRINT
insite
SEARCH
loading …

Informatiker müssen komplexe Regelwerke beherrschen, um Computer programmieren zu können. Künftig soll es allerdings möglich sein, Programme sozusagen mit wenigen Sätzen zu erstellen. Damit wird nicht nur das schnelle Erstellen komplexer Anwendungen möglich.

Wer einem Computer etwas beibringen möchte, muss seine Sprache sprechen können. Doch Programmiersprachen sind komplizierte Regelwerke für Nutzer, wie es die Ausführungen der Springer-Autoren Joachim Goll und Manfred Dausmann in "Einführung in die Programmiersprache C" erahnen lassen. Damit jeder in wenigen Sätzen eigene Computeranwendungen erstellen kann, arbeiten Informatiker des Karlsruher Instituts für Technologie (KIT) an einer Software, die natürliche Sprache direkt in maschinenlesbare Quelltexte übersetzt. Klingt verlockend, ist aber eine enorme Herausforderung. Denn Menschen beschreiben Vorgänge nicht immer streng chronologisch.

Nun soll ein neues Analysewerkzeug die Anweisungen automatisch so hintereinander ordnen, wie sie der Computer ausführen soll. Ein erster Schritt „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.

Software per Sprache programmieren

Nutzer können also künftig 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. Doch Landhäußer dämpft die Hoffnung: „Bis wir komplexe Software mit Sprache nicht nur bedienen, sondern tatsächlich programmieren können, wird es noch dauern“, schätzt er. Auch wenn die Wissenschaftler gerade ein zentrales Kommunikationsproblem zwischen Mensch und Maschine – das Problem der Reihenfolge – gelöst haben, 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.

Zeitbezogene Signalwörter analysiert

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.

Weitere Artikel zum Thema

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.

print
PRINT

Background information for this content