MIT: Programmieren mit natürlicher Sprache
Forscher am MIT haben zwei unterschiedliche Ansätze entwickelt, die es erlauben, in natürlicher Sprache zu programmieren. Nicht jede Art von Code lässt sich so schreiben, bei manchen Aufgaben funktioniert das System aber besser als ein Saal voller Informatiker.

Einige spezifische Programmieraufgaben lassen sich gut mit natürlicher Sprache abwickeln, das zeigen Forscher des Computer Science and Artificial Intelligence Laboratory am Massachusetts Institute of Technology (MIT). Ihre Arbeit könnte Programmierer bei der Arbeit unterstützen, aber auch Nichtprogrammierern Dinge ermöglichen, für die man bisher zumindest ein bisschen programmieren lernen musste. Die Forscher um Professor Regina Barzilay nutzen dabei zwei grundlegend unterschiedliche Ansätze.
Reguläre Ausdrücke
Beim ersten geht es darum, reguläre Ausdrücke mit natürlicher Sprache zu beschreiben. Da aufgrund der Syntax eine einfache Abbildung der natürlichen Sprache in Form eines regulären Ausdrucks nicht möglich ist, greifen Nate Kushman und Barzilay auf bereits existierende Übersetzungen zurück, die sich im Internet finden lassen.
Dabei fiel auf, dass praktisch jeder reguläre Ausdruck ein Äquivalent hat, das sich leicht in natürliche Sprache übersetzen lässt. Über einen Graph lassen sich alle Äquivalente eines regulären Ausdrucks gleichzeitig darstellen. So muss der Übersetzungsalgorithmus letztendlich die natürliche Sprache nur auf Symbole zurückführen und anschließend über den Graph eine kompaktere Version des regulären Ausdrucks finden.
Bei der Vorstellung ihrer Forschungsergebnisse bat Kushman die im Raum anwesenden Informatiker, einen regulären Ausdruck für eine recht einfache Textsuche aufzuschreiben. Nur ein kleiner Teil fand die korrekte Lösung. Den anderen hätte die automatische Übersetzung geholfen.
Computer schreibt Parser anhand der Spezifikation selbst
Zusammen mit Tao Lei, Professor Martin Rinard und Fan Long hat Regina Barzilay noch einen zweiten Ansatz entwickelt, nicht für reguläre Ausdrücke, sondern für Input-Parser, die Struktur von Dateiformaten erkennen. Mit dem von den MIT-Forschern entwickelten System lassen sich solche Input-Parser automatisch aus der jeweiligen Spezifikation des Dateiformats erzeugen.
Getestet wurde das Ganze mit mehr als 100 Beispielen. Dabei griffen die Forscher auf Aufgaben aus dem Programmierwettbewerb der Association for Computing Machinery's International Collegiate zurück. Für rund 80 Prozent der Aufgaben lieferte das System funktionierende Input-Parser, bei den restlichen 20 Prozent genügte es meist, ein oder zwei Wörter in der Spezifikation zu ändern, damit das System einen funktionieren Parser erzeugte.
Dabei kennt das System nur eine kleine Anzahl an Begriffen, die immer für die gleichen Datentypen verwendet werden, beispielsweise "Integer", und weiß zudem, dass die Spezifikation wahrscheinlich ineinander verschachtelte Datenstrukturen beschreibt. Damit ausgestattet, testet das System viele unterschiedliche Interpretationen der Spezifikation mit Beispieldateien aus. Funktioniert der Parser mit der Datei nicht, wird die Interpretation minimal verändert und erneut getestet, bis eine funktionierende Version gefunden ist.
Dabei lernt das System, wie Parser im Allgemeinen aufgebaut sind und wird mit der Zeit besser. Bei den Experimenten der Forscher dauerte es nur 10 Minuten, um 100 Parser zu erzeugen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
da musst du das Dokument wohl noch mal lesen zusammen mit 2119
du meinst wohl http://xkcd.com/323/
aber, es ist ja auch nicht so, dass in der Webentwicklung täglich das Rad neu erfunden...
Beim Erstellen von Regulären Ausdrücken und Parsen von Input-Daten von "Programmieren" zu...