¨ Dépannage-Maintenance-Formation-Informatique | Articles-Info | écriture de programmes en langage « naturel » |
Permettre l’écriture de programmes en langage « naturel »
Frédéric Hourdeau | | | News | | | le 22/07/2013 à 16h30 |
Tweeter |
Des chercheurs du MIT annoncent la mise au point d’un procédé permettant aux utilisateurs les plus inexpérimentés d’accéder à la programmation. De larges perspectives ouvertes.
L’occasion d’un bref rappel sur les langages informatiques (2)
---------------------------------
Les scientifiques du MIT ont créé un système destiné à apprendre à un ordinateur à convertir des éléments de langage naturel en expressions régulières (1), en passant par un ordre ou une séquence de chaînes de données (lettres, variables…..).
----------
L'apprentissage d'un langage de programmation est souvent long et pénible. L'écriture des programmes informatiques nécessite en général la connaissance de langages spécialisés par exemple C++, Fortran… ou Assembleur.
Pour y remédier, les chercheurs du laboratoire de science informatique et d'intelligence artificielle (CSAIL) du MIT se sont interrogés sur la possibilité d'écrire des programmes en langage naturel, en l’espèce en anglais (3).
Les résultats de ces recherches ont conduit à la mise au point d'un système qui traduit la description d'une tâche de l’anglais standard en regex (séquence de signes décrivant un ensemble de chaînes de caractères possibles selon une syntaxe précise) afin que le programme puisse déchiffrer exactement la tâche qui lui est confiée.
Les chercheurs ont donné au système des spécifications de texte pour différents formats de fichiers. Ces spécifications sont écrites en langage naturel et le système a appris automatiquement à l'interpréter et le convertir en langage de programmation de manière à ce que l'ordinateur puisse lire correctement les données contenues dans les différents formats de fichiers.
Dans ses démonstrations, le CSAIL a donné la description suivante en langage naturel : « mot de trois lettres commençant par X ». Le système a renvoyé la regex suivante : « \bX[A-Za-z]{2}\b».
Au premier abord, cela ne ressemble pas à grand-chose, mais pour les informaticiens cette solution génère des programmes d'analyses d'entrées qui aident les logiciels à comprendre le sens exact d'une phrase ou d'une expression.
Ainsi « \bX[A-Za-z]{2}\b » est la définition en informatique d' « un mot de trois lettres commençant par X » et il retournera ce résultat lors de son exécution.
Le système est capable d'interpréter des spécifications de textes bien plus longues et compliquées pour les convertir en regex.
Luke Zettlemoyer, professeur au département des sciences informatique et de l'ingénierie à l'Université Washington, souligne : «il s'agit d'une première étape importante qui permettra aux utilisateurs de tous les jours de programmer sans aucune connaissance en langage de programmation. »
Le système ne permettra pas encore pour l’instant aux personnes qui n'ont jamais écrit de ligne de codes de faire, par un coup de baguette magique, des programmes sophistiqués puisque le système n’en est qu’à ses débuts et reste encore très limité. Mais, à terme, il sera probablement possible d'écrire des programmes entiers avec le langage naturel.
(1) Les expressions régulières ou Regex : sont des modèles créés à l'aide de caractères ASCII (American Standard Code for Information Interchange, « Code américain normalisé pour l'échange d'information ») permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au modèle.
Il s'agit d'un système fort ingénieux et très puissant et très rapide pour faire des recherches dans des chaînes de caractères (des phrases, par exemple). C'est une sorte de fonctionnalité Rechercher / Remplacer très poussée. Les expressions régulières permettent d'effectuer des recherches et des remplacements complexes dans un texte.
Quelques exemples pratiques de possibilités régulièrement utilisés:
• Vérifier automatiquement si l'adresse e-mail entrée par le visiteur a une forme valide (comme «martin@free.fr »).
• Remplacer automatiquement toutes les adresses « http:// » par des liens cliquables, comme cela se fait sur certains forums. Etc…
Toutes ces conditions que l'on fixe se présentent sous la forme d'une chaîne de caractères qui peut être immense en fonction de ce que l'on souhaite savoir ou récupérer.
(2) Voir Article : « Les langages informatiques : Rappel des Notions de bases : du langage naturel aux langages de programmation en passant par le langage machine et l’Assembleur. »
(3) En informatique, le langage naturel s'oppose au langage informatique :
« Langage informatique »: « langage destiné à décrire l'ensemble des actions consécutives qu'un ordinateur doit exécuter ».
Un langage informatique est ainsi une façon pratique pour l’homme de donner des instructions à un ordinateur. Un langage informatique est rigoureux car : à une instruction correspond une action du processeur.
Par opposition, le terme « langage naturel » représente les possibilités d'expression commun à un groupe d'individus (l'anglais ou le français p.ex.).
Outlook sur Iphone/ Ipad ! Bonne nouvelle ? - News - publié le 20/07/2013
Bonne nouvelle (pas forcément) pour les fans de la « Pomme » qui utilisaient Outlook sur leur poste de travail. |
La Poste : De nouvelles missions pour des collaborateurs prêts à s’adapter à la révolution numérique. Des emplois sauvegardés et « rénovés ». Le « facteur » à l’heure des nouvelles technologies. - News - publié le 18/07/2013
Avec 267 000 collaborateurs, La Poste est le quatrième employeur de France. |
Nerim lance l’Ultra haut débit pour les PME - News - publié le 15/07/2013
Nerim lance l’Ultra haut débit pour des grosses PME (ou moins grosses) ayant des besoins spécifiques en matière de transfert de données. Un précurseur au service des professionnels (1). |
Classement des noms de domaine par extension : 260 millions d’adresses internet déposées ! Connaissez-vous le.tk ? - News - publié le 15/07/2013
A l’heure où l’ICANN (1), organisation mondiale d’attribution des noms de domaine dont le siège est en Californie se réunit à Durban pour redéfinir certaines règles d’attribution de ces noms de domaine, il est intéressant de consulter le dernier classement statistique établi au niveau mondial : |
Economie numérique en France : diminution prévue de 1,1% en 2013 par le Cabinet Forrester. Croissance de 3% des dépenses prévues en 2014 . Un retard par rapport à l’Allemagne pour les technologies de pointe - Articles - publié le 19/07/2013
Les dernières prévisions de Forrester sur les dépenses technologiques prévoient une baisse du marché français de 1,1% en 2013 avec un chiffre d’affaire de 70 milliards d’euros. |
Flutter : Un contrôleur gestuel pour vos logiciels multimédia - Astuces - publié le 29/06/2013
Vous cherchez à vous simplifier la vie en utilisant des raccourcis gestuels ou vous cherchez tous simplement à en mettre plein la vue à vos amis. |