Programmer avec le langage informatique est le métier de Brewalan Le Drû. Cet ingénieur en informatique a créé Le Conjugueur. Ce site présente sous forme de tableaux toutes les conjugaisons des verbes français. Il nous en a brossé l’histoire en soulignant que le Web aidait à la diffusion de la langue française et à son l’apprentissage.
Mais qu’ont donc en commun l’informatique et notre langue ? Une grammaire, une syntaxe, une structure et une logique. Il est dès lors intéressant de savoir comment langue et langage informatique se confrontent, quand on invente un outil informatique de traitement de la langue.
Langage binaire et nuance de la langue
La conjugaison est un bon cas pour s’interroger sur le fonctionnement et la structure de la langue française et du langage informatique.
La façon traditionnelle d’expliquer la conjugaison est de partir de la règle générale puis d’évoquer toutes les exceptions. Quand on programme informatiquement la conjugaison, on fait exactement… l’inverse. C’est-à-dire que le programmeur part des exceptions pour arriver au cas général. Il est alors important de connaître toutes les exceptions afin d’anticiper les changements de l’algorithme. Une exception oubliée et c’est la façon de programmer qui peut être remise en cause.
En outre, en informatique, tout est binaire et le programme suit des logiques définies par des instructions. Le code fait ce pour quoi il a été écrit, ni plus, ni moins. Il n’y a pas à lire entre les lignes ou à vouloir apporter de la nuance. Les seules nuances sont paradoxalement des cas non prévus ou des erreurs de logiques : les fameux bogues. Ils provoquent des comportements étranges, parfois illogiques ou amusants. Comme si le langage informatique voulait s’accorder une petite fantaisie.
Nous sommes loin de la langue, parlée ou littéraire, qui suit du locuteur ou de l’écrivain, sa pensée mais aussi ses passions, ses sensations, ses sentiments, etc. Dans la langue, les imprécisions de langage, les nuances, les sous-entendus sont perpétuels. Même si quelqu’un ne respecte pas les règles de grammaire et d’orthographe, on le comprend. En permanence, il se crée un écart à la langue, c’est-à-dire à ses règles et à ses normes. Ce cas est impossible en informatique : le code doit être juste, sans erreurs et répétable à l’infini.
On pourrait aussi réfléchir sur la fonction du langage informatique. Un célèbre linguiste, Roman Jakobson, prêtait à la langue, six fonctions. Le langage informatique aurait-il comme seule fonction l’exécution d’une tâche pour laquelle il a été programmé ? En aurait-il d’autres ?
Le code fait ce pour quoi il a été écrit, ni plus, ni moins. Il n’y a pas à lire entre les lignes ou à vouloir apporter de la nuance.
L’intelligence artificielle : l’avenir de la langue ?
Le Conjugueur est un outil de la langue comme il en existe beaucoup d’autres. Ils appartiennent au domaine du traitement automatique des langues (TAL). Ces outils s’améliorent de jour en jour. Il est déjà possible de parler à son téléphone, même s’il ne comprend pas encore très bien ce qu’on veut lui dire. Et avoir une conversation avec une machine ne relève plus de la science-fiction. Le génial Turing l’avait anticipé dans les années 1950. Aujourd’hui, les robots conseillers (robo-advisors) ou les logiciels de reconnaissance vocale, comme Siri ou Cortana, le réalisent.
Néanmoins, comment toutes les nuances et les subtilités du langage pourront être reproduites ? On atteint une qualité de l’humain qui est de comprendre une phrase ou un texte selon sa propre interprétation et selon un contexte. Au mieux, une machine l’interprétera de la même manière. Peut-être atteindra-t-elle ce niveau de qualité grâce à l’apprentissage automatique (Machine Learning) ?