La programmation en langage naturel sert-elle l’homme ou la machine ?

Par 17 octobre 2014 2 commentaires
IFTTT

Si les tentatives pour élaborer un langage de programmation qui pourrait être écrit par des novices vont sans doute aboutir, se pose la question de l’uniformisation du langage selon un standard informatique.

La multiplication des objets connectés – c’est-à-dire programmés – implique une croissance proportionnelle de la communication homme-machine. Les chercheurs du Karlsruhe Institute of Technology (KIT) entendent ainsi démontrer qu’il est urgent de faciliter la façon dont tous les individus peuvent travailler de concert avec l’informatique. Et cela commence par le fait de donner des ordres à une machine sans passer par une phase d’apprentissage que les employés peuvent difficilement apprendre faute de temps. Dès les années 1980, les ordinateurs personnels ont permis d’utiliser les programmes informatiques sans pour autant les programmer. Désormais, les chercheurs estiment qu’il faudrait mettre la programmation au même niveau que l’exécution, c’est-à-dire en ouvrir les possibilités au grand public.

Concrètement, l’équipe souhaite appliquer une interface sur chaque logiciel qui serait une console de programmation en langage naturel. À terme, les utilisateurs devraient pouvoir communiquer – donner des ordres, écrire des scripts ou récupérer des données – grâce à des SMS simples, similaires à ceux utilisés pour des conversations entre humains. Pour l’instant, quelques applications de domotiques sont testées par des groupes d’utilisateurs tests. Si les algorithmes resteront du domaine des programmeurs spécialisés, l’écriture de script pour automatiser des tâches devrait être une priorité, selon l’équipe de chercheurs. C’est d’ailleurs la voie que prennent certaines applications web qui donnent la possibilité de programmer une "boucle" simple – et caractéristique de la programmation – comme IFTT. Signifiant "If This, Then That", cet outil web permet d’actionner des "leviers" à la façon d’un script informatique : à chaque tweet mentionnant un mot-clé, le compte Twitter peut suivre et envoyer un message personnel. IFTT intègrent ainsi plusieurs dizaines d’applications, des emails à la géolocalisation.

Pour étendre cette façon intuitive de programmer des scripts à l’ensemble des logiciels, le principal challenge est la gestion de l’ordre dans l’exécution des commandes. Programmer en langage naturel nécessite de dé-synchroniser la façon dont les événements arrivent dans une phrase. L’ordre "Avant que la voiture ne démarre, le garage s’ouvre" pose en effet un problème puisqu’une console exécute les commandes dans l’ordre où elles sont écrites. Dès lors, la console fait démarrer la voiture avant que le garage ne s’ouvre – et le programme "crash". De même, la console ne sait pas ordonner correctement les actions simultanées.

Le fait que langage naturel puisse être compris par une machine rejoint d’une certaine manière la préoccupation du web sémantique. En effet, la programmation et la recherche web butent face aux liens de causalités indirectes, tels que "il" ou "elle", pour référer à un sujet présent au début ou à la fin de la phrase concerne, qu’aucun langage n’arrive encore à manipuler. Or les utilisateurs ne doivent pas se forcer à communiquer dans une langue que comprendrait une machine, mais le contraire, expliquent les chercheurs. L’équipe veut éviter que les individus appauvrissent leur langue en leur permettant d’utiliser des synonymes pour se référer à un même sujet dans une phrase – ce qu’aucun langage existant ne permet aujourd’hui.

Haut de page

2 Commentaires

Miam. L'image de l'article doit être du XHTML de 1709, valide W3C.

Soumis par Emersion (non vérifié) - le 17 octobre 2014 à 18h28

merci de me tenir informé
ancien analyste programmeur pionnier au ministère des finances 1968
ça m’intéresse de participer au projet

cordialement

PASCAL

Soumis par chemin (non vérifié) - le 20 octobre 2014 à 10h31

Mentions légales © L’Atelier BNP Paribas