Traitement automatique du langage naturel

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir Tal.
Un assistant en ligne sur un site web, utilisant le traitement automatique du langage naturel.

Le traitement automatique du langage naturel (abr. TALN), ou traitement automatique de la langue naturelle[1], ou encore traitement automatique des langues (abr. TAL), est un domaine multidisciplinaire impliquant la linguistique, l'informatique et l'intelligence artificielle. Il vise à créer des outils de traitement de la langue naturelle pour diverses applications. Il ne doit pas être confondu avec la linguistique informatique, qui vise à comprendre les langues au moyen d'outils informatiques.

Le TALN est sorti des laboratoires de recherche pour être progressivement mis en œuvre dans des applications informatiques nécessitant l'intégration du langage humain à la machine[2]. Aussi le TALN est-il parfois appelé ingénierie linguistique[3]. En France, le traitement automatique de la langue naturelle a sa revue, Traitement automatique des langues, publiée par l’Association pour le traitement automatique des langues (ATALA).

Histoire[modifier | modifier le code]

Années 1950-1960[modifier | modifier le code]

Les premiers travaux en traitement automatique du langage naturel commencent dans les années 1950, principalement aux États-Unis où le contexte politique, lié à la guerre froide, est propice au développement de la thématique de la traduction automatique.

Les premières applications informatiques sont liées au traitement automatique des conversations. En 1950, dans son article fondateur de l'intelligence artificielle, « Computing machinery and intelligence », Alan Turing expose une méthode d'évaluation qui sera appelée par la suite « test de Turing » ou « critère de Turing ». Ce test mesure le degré d'intelligence d'une machine, à partir de la capacité d'un programme conversationnel à se faire passer pour un être humain : dans un échange de messages écrits, un sujet humain doit déterminer si son interlocuteur est une machine ou non[4]. La base employée est cependant fragile pour évaluer l'intelligence artificielle, car l'impression d'un unique utilisateur dépend de trop de facteurs liés au milieu ambiant pour être érigée en règle[5].

En 1954, l'expérience Georgetown-IBM, réalisée conjointement par l'université de Georgetown et par la société IBM, comporte la traduction complètement automatique, en anglais, de plus de soixante phrases russes romanisées relatives aux domaines de la politique, du droit, des mathématiques et de la science. Les auteurs prétendent que dans un délai de trois à cinq ans, la traduction automatique ne sera plus un problème[6]. Il apparaît cependant que les énoncés en russe ont été choisis avec soin et que nombre des opérations effectuées pour la démonstration ont été adaptées à des mots et des phrases particuliers. De plus, il n'y a pas d'analyse relationnelle ou syntaxique permettant d'identifier la structure des phrases. La méthode employée est une méthode essentiellement lexicographique reposant sur un dictionnaire où un mot donné est relié à des règles et des démarches spécifiques[7].

Les notions introduites par Turing permirent à Joseph Weizenbaum de mettre au point, de 1964 à 1966, le premier automate conversationnel à tromper un être humain quant à sa nature[8]. Simulant un psychothérapeute rogérien, l'automate, du nom d'ELIZA, bien que n'employant presque aucune information sur la pensée ou l'émotion humaine, parvient parfois à établir une interaction étonnamment similaire à l'interaction humaine. Ainsi, quand le « patient » dépasse les faibles capacités de la base de connaissances, ELIZA peut fournir une réponse générique, comme « Pourquoi dites-vous avoir mal à la tête ? » en réponse à « J'ai mal à la tête ».

À la fin des années 1960, Terry Winograd, un chercheur du MIT, met au point un programme en langage naturel du nom de SHRDLU (prononcer « chreudeul »), qui permet à son utilisateur de converser avec un ordinateur pour gérer un « un monde de cubes de construction » (a blocks world) s'affichant sur un des premiers écrans. C’est le premier programme qui sache comprendre et exécuter des ordres complexes en langage naturel. Mais les seules opérations qu'il peut faire, c’est de prendre des cubes, les déplacer, les rassembler ou les disperser. Il ne pourra jamais comprendre tout ce que les humains peuvent faire avec des objets physiques[9].

Les progrès réels sont donc décevants. Le rapport ALPAC (en) de 1966 constate qu'en dix ans de recherches les buts n'ont pas été atteints. Cette prise de conscience de l'extrême complexité des langues a considérablement réduit l'ambition des travaux de recherche.

Années 1970-1980[modifier | modifier le code]

Pendant les années 1970 beaucoup de programmeurs ont commencé à écrire des « ontologies conceptuelles », dont le but était de structurer l'information en données compréhensibles par l'ordinateur. C'est le cas de MARGIE (Schank, 1975), SAM (Cullingford, 1978), PAM (Wilensky, 1978), TaleSpin (Meehan, 1976), SCRUPULE (Lehnert, 1977), Politics (Carbonell, 1979), Plot Units (Lehnert 1981).

En janvier 2018, des modèles d'intelligence artificielle développés par Microsoft et Alibaba réussissent chacun de leur côté à battre les humains dans un test de lecture et de compréhension de l'université de Stanford. Le traitement automatique du langage naturel imite la compréhension humaine des mots et des phrases et permet maintenant aux modèles d'apprentissage automatique de traiter de grandes quantités d'informations avant de fournir des réponses précises aux questions qui leur sont posées[10].

TALN statistique[modifier | modifier le code]

Les utilisations statistiques du traitement automatique du langage naturel reposent sur des méthodes stochastiques, probabilistes ou simplement statistiques pour résoudre certaines difficultés discutées ci-dessus, particulièrement celles qui surviennent du fait que les phrases très longues sont fortement ambiguës une fois traitées avec des grammaires réalistes, autorisant des milliers ou des millions d'analyses possibles. Les méthodes de désambiguïsation comportent souvent l'utilisation de corpus et d'outils de formalisation comme les modèles de Markov. Le TALN statistique comporte toutes les approches quantitatives du traitement linguistique automatisé, y compris la modélisation, la théorie de l'information, et l'algèbre linéaire[11]. La technologie pour le TALN statistique vient principalement de l'apprentissage automatique et de l'exploration de données, lesquels impliquent l'apprentissage à partir des données venant de l'intelligence artificielle.

Champs de recherche et applications[modifier | modifier le code]

Le champ du traitement automatique du langage naturel couvre de très nombreuses disciplines de recherche qui peuvent mettre en œuvre des compétences aussi diverses que les mathématiques appliquées ou le traitement du signal.

Syntaxe[modifier | modifier le code]

Lemmatisation 
Regroupement des mots d'une même famille dans un texte, afin de réduire ces mots à leur forme canonique (le lemme), comme petit, petite, petits, et petites. Certaines conjugaisons peuvent rendre cette tâche complexe pour des ordinateurs, comme retrouver la forme canonique «avoir» depuis «eussions eu». En revanche, « des avions » et « nous avions » n'ont pas le même lemme.
Morphologie 
Regroupement de différents mots à travers leur parties, comme les suffixes, préfixes, radicaux. Par exemple, enneigement peut se décomposer en « en- + neige + -ment ».
Étiquetage morpho-syntaxique 
Assigne chaque mot d'un texte à sa catégorie grammaticale. Par exemple, le mot ferme peut être un verbe dans « il ferme la porte » et un nom dans « il va à la ferme ».
Analyse syntaxique 
Étiquetage morpho-syntaxique de chacun des mots d'un texte, comme dans un arbre syntaxique. Certaines phrases ambiguës peuvent être interprétées de plusieurs manières différentes, comme « je regarde l'homme avec les jumelles », qui peut signifier « je regarde l'homme en utilisant des jumelles », ou « je regarde l'homme qui a des jumelles », ou « je regarde l'homme qui est accompagné de sœurs jumelles ».
Délimitation de la phrase 
Séparation des phrases d'un texte. À l'écrit, la ponctuation ou la casse permet en général de séparer les phrases, mais des complications peuvent être causées par les abréviations utilisant un point, ou les citations comportant des ponctuations à l'intérieur d'une phrase, etc.
Racinisation 
Regroupement des mots ayant une racine commune et appartenant au même champ lexical. Par exemple, pêche, pêcher, pêcheur ont la même racine, mais ni la pêche (le fruit), ni le péché, ne font partie du même champ lexical.
Séparation des mots 
Dans la langue parlée, les phrases ne sont qu'une chaîne de phonèmes, où l'espace typographique n'est pas prononcé. Par exemple, la phrase /ɛ̃bɔ̃n-apaʁtəmɑ̃ʃo/ peut être comprise identiquement comme « un bon appartement chaud » et « un Bonaparte manchot ».

Sémantique[modifier | modifier le code]

Traduction automatique 
Il s'agit de l'un des problèmes les plus complexes, dit IA-complet, qui nécessite de nombreuses connaissances, non seulement linguistiques, mais aussi concernant le monde. Il s'agit de la première application de recherche, active dès les années 1950.
Génération automatique de textes 
Écriture de textes syntaxiquement et sémantiquement corrects, pour produire par exemple des bulletins météo ou des rapports automatisés.
Résumé automatique de texte, reformulation et paraphrasage 
Extraction du contenu pertinent d'un texte, détection des informations les plus importantes, des redondances, afin de générer un texte cohérent humainement crédible.
Désambiguïsation lexicale 
Problème encore non résolu, consistant à déterminer le sens d'un mot dans une phrase, lorsqu'il peut avoir plusieurs sens possibles, selon le contexte général.
Correction orthographique 
outre une comparaison aux mots du dictionnaire et une recherche approximative afin de proposer des corrections, il existe les correcteurs grammaticaux qui utilisent la sémantique et le contexte afin de corriger les homophonies.
Agents conversationnels, et systèmes de questions-réponses 
Combinaison d'une étape de compréhension du langage puis une étape de génération de texte.
Détection de coréférences et résolution d'anaphores 
Détection de la liaison entre plusieurs mots d'une phrase faisant référence à un même sujet.

Traitement du signal (parole et graphie)[modifier | modifier le code]

Reconnaissance de l'écriture manuscrite, reconnaissance optique de caractères et lecture automatique de document 
Système d'analyse et de traitement des images, couplés à des règles linguistiques permettant d'évaluer la probabilité d'apparition des lettres et mots décodés.
Reconnaissance automatique de la parole
Analyse acoustique, association entre segments élémentaires sonore et des éléments lexicaux, puis correspondance des motifs obtenus avec des mots courant, ou des suites de mots apparaissant fréquemment.
Synthèse vocale 
Une translation vers l'alphabet phonétique est la plus souvent utilisée, mais la catégorie grammaticale est aussi à prendre en compte ; par exemple, il faut reconnaître le second -ent comme muet dans l'exemple «Les présidents président». Les mots dont la prononciation est irrégulière doivent être stockés. De plus, l'intonation et la prosodie sont également à prendre en compte afin d'obtenir un effet naturel.
Traitement de la parole 
Regroupe les deux catégories ci-dessus.
La détection des langues et des dialectes
Tant à partir des textes qu'à partir des énoncés parlés.

Extraction d'informations[modifier | modifier le code]

Fouille de textes 
Recherche d'informations spécifiques dans un corpus de documents donnés, qui utilise l'indexation de contenu.
Recherche d'information 
Sous-domaine de la fouille de texte ; l'application la plus connue est les moteurs de recherche, qui passent également l'analyse des méta-données et des liens entre les pages elles-mêmes.
Reconnaissance d'entités nommées 
Détermination dans un texte des noms propres, tels que des personnes ou des endroits, ainsi que les quantités, valeurs, ou dates.
Classification et catégorisation de documents 
Activité consiste à classer de façon automatique des ressources documentaires, généralement en provenance d'un corpus.
Systèmes de tutorat intelligents 
Utilisés notamment pour l'enseignement des langues
Analyse de sentiment 
Vise à extraire le ressenti d'un texte (généralement positif ou négatif) en fonction des mots et du type de langage utilisé, d'indices typographiques ou de la personne qui l'a écrit.
La recommandation automatique de documents
Consiste à extraire l'information importante d'une base de documents afin de les relier en « séries », afin de proposer ses éléments aux personnes intéressées par d'autres éléments de cette série.

Bibliométrie[modifier | modifier le code]

La bibliométrie est l'utilisation du traitement automatique du langage naturel sur des publications scientifiques.

Étude bibliométrique du traitement automatique du langage naturel[modifier | modifier le code]

La première étude d'envergure a été réalisée en 2013, à l'occasion de l'anniversaire de l'Association for Computational Linguistics (en) (ACL), avec un atelier intitulé Rediscovering 50 Years of Discoveries in Natural Language Processing (« retour sur 50 années de découvertes en matière de traitement du langage naturel »)[12].

La même année a eu lieu l'opération Natural language processing for natural language processing (NLP4NLP)[13], portant sur l'application des outils de traitement automatique du langage naturel aux archives du traitement automatique du langage naturel des années 1960 à nos jours. Il s'agissait de déterminer automatiquement quels étaient les inventeurs des termes techniques que nous utilisons actuellement[14].

Un autre champ d'étude est la détermination des copier-coller éventuels que les chercheurs du traitement automatique du langage naturel effectuent quand ils écrivent un article scientifique[15].

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

Références[modifier | modifier le code]

  1. Voir par exemple l'intitulé de l'article de Ludovic Tanguy, « Traitement Automatique de la Langue Naturelle et interprétation : Contribution à l’élaboration d’un modèle informatique de la Sémantique Interprétative », Informatique et langage, Université de Rennes 1, 1997.
  2. Eugene Charniak, Introduction to artificial intelligence, Addison-Wesley, 1984, p. 2.
  3. Définition de l'ingénierie linguistique sur le site evariste.org (1996) : « L'ingénierie linguistique est l'ensemble des méthodes et des techniques à l'intersection de l'informatique et de la linguistique. Elle vise à mettre en œuvre l'ensemble des techniques informatiques (souvent les plus avancées) pour le développement d'applications dotées d'une compréhension plus ou moins large de la langue naturelle. »
  4. Marc-Emmanuel Perrin, Les machines progressent dans leur apprentissage du langage naturel, Mission pour la Science et la Technologie de l'Ambassade de France aux Etats-Unis, 22 septembre 2017.
  5. Rubrique « Critère de Turing », Dictionnaire de l'Informatique et de l'Internet 2001, Micro Application, 2000, p. 232.
  6. (en) John Hutchins, From first conception to first demonstration: the nascent years of machine translation, 1947-1954. A chronology, in Machine Translation, 12, pp. 195-252.
  7. (en) Erwin Reifler, The solution of MT linguistic problems through lexicography, in Proceedings of the National Symposium on Machine Translation, Machine Translation, 12, February 2–5, 1960, pp. 195-252.
  8. Marc-Emmanuel Perrin, op. cit..
  9. Serge Boisse, Etaoin Shrdlu, sur Journal d'un terrien, sans date.
  10. « Alibaba's AI Outguns Humans in Reading Test », Bloomberg.com,‎ (lire en ligne).
  11. Christopher D. Manning, Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press (1999), (ISBN 978-0-262-13360-9), p. xxxi.
  12. (en) Radev Dragomir R, Muthukrishnan Pradeep, Qazvinian Vahed, Abu-Jbara, Amjad, The ACL Anthology Network Corpus, Language Resources and Evaluation, 47, 2013, Springer, pp. 919–944.
  13. (en) Gil Francopoulo, Joseph Mariani et Patrick Paroubek, « The Cobbler's Children Won't Go Unshod », dans D-Lib Magazine, (consulté le ).
  14. (en) Joseph Mariani, Patrick Paroubek, Gil Francopoulo et Olivier Hamon, « Rediscovering 15 + 2 years of discoveries in language resources and evaluation », Language Resources and Evaluation, vol. 50,‎ , p. 165–220 (ISSN 1574-020X et 1574-0218, DOI 10.1007/s10579-016-9352-9, lire en ligne).
  15. (en) Gil Francopoulo, Joseph Mariani et Patrick Paroubek, « A Study of Reuse and Plagiarism in LREC papers », dans Nicoletta Calzolari, Khalid Choukri, Thierry Declerck, Marko Grobelnik, Bente Maegaard, Joseph Mariani, Asuncion Moreno, Jan Odijk et Stelios Piperidis, Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC 2016), Portorož (Slovénie), European Language Resources Association (ELRA), (ISBN 978-2-9517408-9-1, lire en ligne).
  16. Recension, par Daniel Luzzati.