Une langue naturelle contrôlée (LNC) est une langue construite qui est basée sur une langue naturelle mais dont la grammaire et le vocabulaire sont restreints. L'objectif principal d'une LNC est de combiner l'expressivité et la lisibilité d'une langue naturelle avec la précision et la non-ambiguïté requises pour la représentation formelle des connaissances et le traitement par machine. En contraignant la syntaxe et le lexique, les LNC visent à rendre les textes plus faciles à comprendre pour les humains comme pour les ordinateurs, réduisant ainsi le risque de mauvaise interprétation.
Les LNC sont conçues pour être des sous-ensembles de leurs langues naturelles parentes. Elles imposent généralement des règles strictes sur la structure des phrases, l'usage des mots, et parfois même la longueur des phrases. Cette nature contrôlée permet la traduction automatique des phrases en LNC vers la logique formelle ou d'autres formats lisibles par machine, tout en restant lisibles par des personnes sans formation spécialisée. Le développement des LNC a été motivé par le besoin de communication claire dans des domaines techniques, tels que l'aviation, la médecine et l'ingénierie logicielle, où l'ambiguïté peut avoir des conséquences graves.
Développement historique
Le concept de langues contrôlées est apparu dans les années 1930 avec des efforts pour simplifier l'anglais pour la communication internationale. L'un des premiers exemples était le Basic English, développé par Charles Kay Ogden en 1930, qui utilisait un vocabulaire de seulement 850 mots. Cependant, l'orientation moderne des LNC vers le traitement par machine a commencé dans les années 1970 avec le développement de systèmes comme l'anglais de l'aviation utilisé dans la communication pilote-contrôleur, qui a été standardisé pour réduire les erreurs de communication.
Dans les années 1990, le domaine a gagné en dynamisme avec la création de LNC formelles pour la représentation des connaissances. Des exemples notables incluent l'Attempto Controlled English (ACE), développé par Norbert E. Fuchs à l'Université de Zurich en 1995, et le Processable English (PENG), créé par Rolf Schwitter à l'Université Macquarie. Ces langues ont été conçues pour être traitées par des systèmes de raisonnement automatisé, permettant aux utilisateurs d'écrire des spécifications ou des bases de connaissances sous une forme lisible qui pouvait être automatiquement traduite en logique du premier ordre.
Principes de conception
Les LNC reposent sur un ensemble de principes de conception qui les distinguent des langues naturelles. Le principe le plus fondamental est la restriction du vocabulaire, limitant souvent l'ensemble des mots autorisés à un lexique prédéfini. Cela réduit l'ambiguïté lexicale, où un seul mot a plusieurs significations. Par exemple, dans une LNC, le mot « banque » pourrait être restreint à ne signifier qu'une institution financière, et non un bord de rivière.
Un autre principe clé est la restriction de la grammaire. Les LNC n'autorisent généralement qu'un sous-ensemble des constructions grammaticales de la langue parente, comme les phrases déclaratives simples et un ensemble limité de connecteurs. Cela élimine l'ambiguïté syntaxique, où une phrase peut être analysée de plusieurs manières. Par exemple, une LNC pourrait interdire l'usage de propositions relatives qui pourraient se rattacher soit au sujet, soit à l'objet d'une phrase.
De plus, les LNC imposent souvent une correspondance un-à-un entre les formes de surface et les formes logiques. Chaque phrase dans une LNC est conçue pour correspondre à exactement une interprétation dans le langage formel cible. Cela est réalisé en utilisant des marqueurs explicites pour la quantification, la négation et d'autres opérateurs logiques, et en évitant les constructions intrinsèquement ambiguës, comme l'ellipse ou l'anaphore.
Applications
Les LNC ont trouvé des applications pratiques dans plusieurs domaines où la précision est critique. Dans l'industrie aérospatiale, la norme Simplified Technical English (STE), développée dans les années 1980 par l'Association européenne des industries aérospatiales (AECMA), est utilisée pour rédiger les manuels de maintenance. La STE restreint le vocabulaire à environ 900 mots approuvés et impose des règles grammaticales strictes, rendant la documentation plus facile à traduire et à comprendre pour les locuteurs non natifs.
Dans le domaine médical, les LNC sont utilisées pour formaliser les directives cliniques et les informations aux patients. Par exemple, le projet Medical English as a Controlled Language (MECL) visait à créer des formulaires de consentement des patients sans ambiguïté. De même, dans le domaine juridique, des LNC comme LegalRuleML ont été proposées pour représenter la législation sous une forme lisible par machine, permettant une vérification automatisée de la conformité.
En ingénierie logicielle, les LNC sont utilisées pour l'ingénierie des exigences. Des outils comme le Requirements Specification Language (RSL) permettent aux ingénieurs de rédiger des exigences système sous une forme contrôlée qui peut être automatiquement vérifiée pour la cohérence et l'exhaustivité. Cela réduit le risque d'erreurs dans les systèmes critiques, tels que ceux utilisés dans l'aviation ou les centrales nucléaires.
Plus récemment, les LNC ont été explorées dans le contexte de l'Artificial intelligence et des Large language models. Bien que les systèmes d'IA modernes puissent traiter le langage naturel avec une grande fluidité, ils rencontrent encore des difficultés avec l'ambiguïté et la cohérence logique. Les LNC offrent un moyen de fournir une entrée structurée à ces systèmes, améliorant potentiellement leur fiabilité dans des tâches nécessitant un raisonnement précis, comme la vérification formelle ou la construction de graphes de connaissances.
Relation avec le traitement du langage naturel
Les LNC sont étroitement liées au domaine du traitement du langage naturel (TLN), mais elles adoptent une approche différente. Alors que le TLN vise généralement à comprendre et à générer du langage naturel non restreint, les LNC simplifient la langue elle-même pour faciliter le traitement. Cela peut être vu comme une forme de « restriction » plutôt que de « compréhension ». En pratique, les LNC sont souvent utilisées en conjonction avec des techniques de TLN : un analyseur de LNC peut être construit avec des outils standard de TLN, et la sortie d'une LNC peut être alimentée dans des moteurs de raisonnement.
L'un des principaux avantages des LNC par rapport aux langages entièrement formels, comme la programmation logique, est leur lisibilité. Les utilisateurs qui ne sont pas formés à la logique formelle peuvent lire et écrire des phrases en LNC, ce qui abaisse la barrière à l'entrée pour la représentation des connaissances. Cependant, cette lisibilité a un coût en termes d'expressivité. Les LNC sont limitées dans la gamme de concepts qu'elles peuvent exprimer, et elles exigent souvent que les utilisateurs reformulent des idées complexes en structures plus simples.
Dans le contexte de l'IA moderne, les LNC sont parfois considérées comme un pont entre les spécifications lisibles par l'humain et le code exécutable par machine. Par exemple, la communauté de recherche OpenAI a exploré l'utilisation de prompts contrôlés pour améliorer la fiabilité des modèles Generative AI. En contraignant le langage d'entrée, il est possible de réduire la probabilité d'hallucination ou d'erreurs logiques dans la sortie.
Défis et limites
Malgré leurs avantages, les LNC font face à plusieurs défis. Un problème majeur est le compromis entre expressivité et apprentissage. Une LNC avec une grammaire très restreinte peut être facile à apprendre mais peut ne pas être capable d'exprimer des idées complexes. Inversement, une LNC plus expressive peut devenir aussi complexe que la langue naturelle qu'elle cherche à contrôler, ce qui va à l'encontre de son objectif.
Un autre défi est le coût de développement et de maintenance d'une LNC. Créer un vocabulaire et une grammaire contrôlés nécessite une expertise linguistique significative, et la mettre à jour pour inclure de nouveaux termes ou concepts peut être laborieux. Cela est particulièrement problématique dans des domaines en évolution rapide comme la technologie, où de nouveaux termes sont constamment introduits.
De plus, les LNC sont souvent critiquées pour être peu naturelles à lire. Les règles strictes peuvent rendre les phrases artificielles ou répétitives, ce qui peut réduire l'acceptation par les utilisateurs. En pratique, de nombreuses LNC ne sont utilisées que dans des contextes spécifiques et bien définis, comme la documentation technique, où les avantages de la précision l'emportent sur les inconvénients stylistiques.
Enfin, l'essor du Machine learning et du Neural network-based TLN a conduit certains à remettre en question la nécessité des LNC. Les Large language models modernes peuvent traiter une large gamme d'entrées en langage naturel avec une grande précision, et ils peuvent être affinés pour des tâches spécifiques. Cependant, ces modèles ne sont pas infaillibles, et ils peuvent produire des sorties plausibles mais incorrectes. Les LNC offrent une approche complémentaire, fournissant une garantie formelle d'interprétabilité qui est difficile à atteindre avec des méthodes purement statistiques.
Orientations futures
L'avenir des LNC sera probablement façonné par les avancées en IA. Une direction prometteuse est l'intégration des LNC avec les modèles basés sur Transformer (architecture). Par exemple, une LNC pourrait être utilisée pour générer des données d'entraînement pour un Large language model, garantissant que les données sont sans ambiguïté et logiquement cohérentes. Cela pourrait améliorer la capacité du modèle à raisonner sur des domaines formels.
Une autre direction est le développement de LNC adaptatives qui peuvent ajuster dynamiquement leurs restrictions en fonction de l'expertise de l'utilisateur et de la tâche à accomplir. Cela permettrait à une LNC d'être plus expressive pour les utilisateurs experts tout en restant simple pour les novices. La recherche dans ce domaine en est encore à ses débuts, mais elle a le potentiel de rendre les LNC plus largement applicables.
De plus, les LNC sont explorées dans le contexte de la collaboration humain-IA. En fournissant une interface contrôlée, les utilisateurs peuvent interagir avec les systèmes d'IA d'une manière qui garantit que les réponses de l'IA sont ancrées dans une sémantique formelle. Cela pourrait être particulièrement utile dans des applications critiques pour la sécurité, comme la conduite autonome ou le diagnostic médical, où les erreurs peuvent avoir des conséquences graves.
Dans l'ensemble, les langues naturelles contrôlées restent un outil précieux pour combler le fossé entre la communication humaine et la compréhension par machine. Bien qu'elles ne soient pas aussi flexibles que le langage naturel complet, leur précision et leur fiabilité les rendent indispensables dans de nombreux domaines techniques.