Was ist Natural Language Programming?

Wird Natural Language Programming (auch abgekürzt als NLP) für die Entwicklung von Software eingesetzt, besteht das Computerprogramm aus meist englischsprachigen (und durch Abschnitte strukturierten) Texten.

Die Sätze, aus denen diese Texte bestehen, sind eng an die menschliche Sprache angelehnt. Damit sie von dem Computer verarbeitet werden können, werden die sogenannten NLP-Dokumente in tiefere Programmiersprachen wie bspw. Python übersetzt.

Natural Language Programming weist einige Analogien zum zukunftsträchtigen Natural Language Processing auf (Verarbeitung von gesprochener Sprache); beide Felder beschäftigen sich mit der Steuerung von Computern durch menschliche Sprache. Jedoch spielt Natural Language Programming nur für Fachleute eine Rolle, weil hierfür die Syntax der unterschiedlichen Programmiersprachen erst gelernt werden müssen. Letzteres Feld ist auch Endverbraucher interessant, da lediglich die Fähigkeit zu sprechen von dem Anwender vorausgesetzt wird.

Wie lautet die Syntax von NLP?

Abgesehen von wenigen Ausnahmen richten sich Programmiersprachen – die für Natural Language Programming entwickelt wurden – nach der Syntax der englischen Sprache. Sie unterscheiden sich untereinander oft nur in Nuancen. Deshalb können Programme beliebigen Personen vorgelesen und zugleich von einem Computer ausgeführt werden.

Abgesehen von der Syntax ist es als Entwickler wichtig, sich der Ontologie bewusst zu sein, die jeder dieser Sprachen zugrunde liegt. Ein dadurch entstehendes, generisches System macht es erst möglich, Computerprogramme auf Basis von NLP zu schreiben. Sätze innerhalb einer Ontologie zeichnen sich dadurch aus, dass sie immer entweder einen Zusammenhang herstellen, eine Aktion ausführen oder eine Frage beantworten.

Was sind Beispiele für Natural Language Programming?

  • Transcript ist eine der bekanntesten Programmiersprachen des Natural Language Programmings. Die darauf basierende integrierte Entwicklungsumgenung LiveCode wird in einem Drittel der schottischen Schulen für Lernzwecke eingesetzt.
  • Inform 7 ist eine objektorientierte Sprache, die für die Entwicklung von Textadventures vorgesehen ist. In diesem Computerspielgenre navigiert sich der Spieler mit Texteingaben durch das Spielgeschehen. Dank unterschiedlicher Sprachversionen kann u.a. auch auf Deutsch „programmiert“ werden.
  • AppleScript zeigt als Bestandteil des Apple Betriebssystems macOS, wie weit verbreitet NLP war und immer noch ist. Es kann bspw. für die Automatisierung von sich wiederholenden Aufgaben eingesetzt werden, erhielt jedoch seit einiger Zeit kein Update mehr.
  • HyperTalk ist ebenfalls von Apple entwickelt und mit den Möglichkeiten einer prozeduralen Programmierung ausgestattet (das heißt for/while/until, if/then/else, sowie Funktions-Handler stehen zur Verfügung).
  • SenseTalk ist ein weiterer Vertreter der hohen Skriptsprachen und kann sowohl objektorientiert als auch prozedural geschrieben werden.
  • Verschiedene Frameworks erlauben es, bekannte Sprachen wie Python für Natural Language Programming einzusetzen. Quepy macht aus Python-Code bspw. Datenbankabfragen.