Compréhension du langage naturel

Un article de Wikipédia, l'encyclopédie libre.
L'apprentissage de la lecture par Sigurður málari, 19e siècle.

La compréhension du langage naturel (NLU en anglais) ou l'interprétation en langage naturel (NLI)[1] est une sous-rubrique du traitement de la langue naturelle en intelligence artificielle qui traite de la compréhension en lecture automatique. La compréhension du langage naturel est considérée comme un problème difficile en IA[2].

Il existe un intérêt commercial considérable dans ce domaine en raison de son application à la collecte de nouvelles, à la catégorisation des textes, à l'activation vocale, à l'archivage et à l'analyse de contenu à grande échelle.

Historique[modifier | modifier le code]

Le programme STUDENT, écrit en 1964 par Daniel Bobrow pour sa thèse de doctorat au MIT, est l'une des premières tentatives de compréhension du langage naturel par un ordinateur[3],[4],[5],[6],[7]. Huit ans après que John McCarthy a inventé le terme d'intelligence artificielle, la dissertation de Bobrow (intitulée Natural Language Input for a Computer Problem Solving System) a montré comment un ordinateur peut comprendre un langage naturel simple pour résoudre des problèmes de mots algébriques.

Un an plus tard, en 1965, Joseph Weizenbaum du MIT a écrit ELIZA, un programme interactif qui portait sur un dialogue en anglais sur n'importe quel sujet, le plus populaire étant la psychothérapie. ELIZA a travaillé par simple analyse et par substitution de mots clés dans des phrases en boîte et Weizenbaum a évité le problème de donner au programme une base de données de connaissances du monde réel ou un riche lexique. ELIZA a pourtant acquis une popularité surprenante et peut être considérée comme un précurseur très précoce des systèmes commerciaux actuels tels que ceux utilisés par Ask.com[8].

En 1969, Roger Schank à l'Université de Stanford a présenté la théorie de la dépendance conceptuelle pour la compréhension du langage naturel[9]. Ce modèle, en partie influencé par le travail de Syndney Lamb, a été largement utilisé par les étudiants de Schank à l'Université de Yale, tels que Robert Wilensky, Wendy Lehnert, et Janet Kolodner.

En 1970, William A. Woods a introduit le réseau de transition augmentée (ATN) pour représenter la contribution du langage naturel. Au lieu des règles de structure de phrase, les ATN utilisaient un ensemble équivalent d'automates d'états finis appelés récursivement. Les ATN et leur format plus général appelé «ATN généralisé» ont continué à être utilisés pendant un certain nombre d'années.

En 1971, Terry Winograd a terminé l'écriture de SHRDLU pour sa thèse de doctorat au MIT. SHRDLU pouvait comprendre des phrases anglaises simples dans un monde restreint de blocs d'enfants pour diriger un bras robotisé pour déplacer des objets. La démonstration réussie de SHRDLU a fourni un élan important pour poursuivre la recherche sur le terrain. Winograd a continué d'exercer une influence majeure sur le terrain avec la publication de son livre Language as a Cognitive Process. À Stanford, Winograd sera plus tard le conseiller de Larry Page, qui a co-fondé Google.

Dans les années 1970 et 1980, le groupe de traitement des langues naturelles de SRI International a poursuivi ses activités de recherche et développement sur le terrain. Un certain nombre d'efforts commerciaux axés sur la recherche ont été entrepris, par exemple, en 1982, Gary Hendrix a formé Symantec Corporation à l'origine en tant que société pour développer une interface en langage naturel pour les requêtes de base de données sur les ordinateurs personnels. Cependant, avec l'avènement des interfaces utilisateur graphiques pilotées par la souris, Symantec a changé de direction. Un certain nombre d'autres efforts commerciaux ont été lancés à peu près au même moment, par exemple, Larry R. Harris à l'Artificial Intelligence Corporation et Roger Schank et ses étudiants à Cognitive Systems corp[10],[11]. En 1983, Michael Dyer développa le système BORIS à Yale, ce qui était à rapprocher des travaux de Roger Schank et W. G. Lehnart.

Le troisième millénaire a vu l'introduction de systèmes utilisant l'apprentissage automatique pour la classification des textes, comme Watson d'IBM. Cependant, il ne s'agit pas de compréhension du langage naturel. Selon John Searle, Watson n'a même pas compris les questions[12].

John Ball, cogniticien et inventeur de la Pathom Theory soutient cette évaluation. Le traitement du langage naturel a fait des percées dans les applications pour soutenir la productivité humaine dans le service et le commerce électronique, mais cela a été largement rendu possible en réduisant la portée de l'application.Il y a des milliers de façons de demander quelque chose dans un langage humain qui défie encore le traitement conventionnel du langage naturel. "Avoir une conversation significative avec les machines n'est possible que si l'on associe chaque mot à la signification correcte en fonction des significations des autres mots de la phrase - tout comme un enfant de 3 ans ne fait aucune conjecture".

Etendue et contexte[modifier | modifier le code]

Le terme générique «compréhension du langage naturel» peut être appliqué à un ensemble d'applications informatiques variées, allant de petites tâches relativement simples comme des commandes courtes soumises à des robots à des tâches complexes telles que la compréhension d'articles de journaux ou de poèmes. De nombreuses applications du monde réel se situent entre les deux extrêmes, par exemple la classification de texte pour l'analyse automatique des courriels et leur acheminement vers un département approprié dans une société ne nécessite pas une compréhension approfondie du texte[13], mais doit traiter un vocabulaire beaucoup plus large et une syntaxe plus diverse que la gestion des requêtes simples dans une base de données dont les schémas sont fixes.

Au fil des ans, diverses tentatives de traitement de phrases en langage naturel ou en anglais présentées à des ordinateurs ont eu lieu à divers degrés de complexité. Certaines tentatives n'ont pas abouti à des systèmes avec une compréhension profonde, mais ont contribué à la convivialité globale du système. Par exemple, Wayne Ratliff a développé à l'origine le programme Vulcan avec une syntaxe de type anglais pour imiter l'ordinateur parlant anglais dans Star Trek. Vulcan est devenu plus tard le système dBase dont la syntaxe facile à utiliser a effectivement lancé l'industrie des bases de données informatiques personnelles[14],[15]. Les systèmes avec une syntaxe facile à utiliser ou en anglais sont, cependant, tout à fait distincts des systèmes qui utilisent un lexique riche et incluent une représentation interne (souvent comme logique de premier ordre) de la sémantique des phrases en langage naturel.

Ainsi, l'ampleur et la profondeur de la «compréhension» visée par un système déterminent à la fois la complexité du système (et les défis impliqués) et les types d'applications qu'il peut traiter. La «largeur» d'un système est mesurée par la taille de son vocabulaire et de sa grammaire. La «profondeur» est mesurée par le degré auquel sa compréhension se rapproche de celle d'un locuteur natif parlant couramment. Au niveau le plus étroit et le moins profond, les interprètes de commande de type anglais exigent une complexité minimale, mais ont un petit nombre d'applications. Les systèmes étroits mais profonds explorent et modélisent des mécanismes de compréhension[16], mais ils ont encore une application limitée. Les systèmes qui tentent de comprendre le contenu d'un document tel qu'un communiqué de presse au-delà de la simple correspondance des mots clés et de juger de son adéquation à un utilisateur sont plus larges et nécessitent une complexité considérable[17], mais ils sont encore peu profonds. Les systèmes à la fois très larges et très profonds dépassent l'état actuel de la technique.

Composants et architecture[modifier | modifier le code]

Quelle que soit l'approche utilisée, la plupart des systèmes de compréhension du langage naturel partagent certains éléments communs. Le système a besoin d'un lexique du langage, d'un parseur et de règles de grammaire pour fractionner les phrases en une représentation interne. La construction d'un lexique riche avec une ontologie appropriée nécessite un effort important, par exemple, le lexique Wordnet a nécessité de nombreuses années-personnes d'efforts[18].

Le système a également besoin d'une théorie sémantique pour guider la compréhension. Les capacités d'interprétation d'un système de compréhension du langage dépendent de la théorie sémantique qu'il utilise. Les théories sémantiques concurrentes du langage ont des compromis spécifiques dans leur pertinence comme base de l'interprétation sémantique informatisée[19]. Celles-ci vont de la sémantique naïve ou de l'analyse sémantique stochastique à l'utilisation de la pragmatique pour dériver le sens du contexte[20],[21],[22].

Les applications avancées de la compréhension du langage naturel tentent également d'incorporer l'inférence logique dans leur cadre. Ceci est généralement réalisé en mappant la signification dérivée dans un ensemble d'assertions dans la logique de prédicat, puis en utilisant la déduction logique pour arriver à des conclusions. Par conséquent, les systèmes basés sur des langages fonctionnels tels que Lisp doivent inclure un sous-système pour représenter les assertions logiques, tandis que les systèmes orientés logique tels que ceux utilisant le langage Prolog reposent généralement sur une extension du cadre de représentation logique intégré[23],[24].

La gestion du contexte dans la compréhension du langage naturel peut présenter des défis particuliers. Une grande variété d'exemples et de contre-exemples ont abouti à de multiples approches de la modélisation formelle du contexte, chacune avec des forces et des faiblesses spécifiques[25],[26].

Voir aussi[modifier | modifier le code]

Notes[modifier | modifier le code]

  1. (en) Semaan, P. (2012). Natural Language Generation: An Overview. Journal of Computer Science & Research (JCSCR)-ISSN, 50-57
  2. Roman V. Yampolskiy. Turing Test as a Defining Feature of AI-Completeness . In Artificial Intelligence, Evolutionary Computation and Metaheuristics (AIECM) --In the footsteps of Alan Turing. Xin-She Yang (Ed.). p. 3-17. (Chapter 1). Springer, London. 2013. http://cecs.louisville.edu/ry/TuringTestasaDefiningFeature04270003.pdf
  3. Association for the Advancement of Artificial Intelligence Brief History of AI [1]
  4. Daniel Bobrow (en)'s PhD Thesis Natural Language Input for a Computer Problem Solving System.
  5. Machines who think by Pamela McCorduck 2004 (ISBN 1-56881-205-1) page 286
  6. Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach Prentice Hall, (ISBN 0-13-790395-2), http://aima.cs.berkeley.edu/, p. 19
  7. Computer Science Logo Style: Beyond programming by Brian Harvey 1997 (ISBN 0-262-58150-7) page 278
  8. Weizenbaum, Joseph (1976). Computer power and human reason: from judgment to calculation W. H. Freeman and Company. (ISBN 0-7167-0463-3) pages 188-189
  9. Roger Schank, 1969, A conceptual dependency parser for natural language Proceedings of the 1969 conference on Computational linguistics, Sång-Säby, Sweden, pages 1-3
  10. Larry R. Harris, Research at the Artificial Intelligence corp. ACM SIGART Bulletin, issue 79, January 1982 [2]
  11. Inside case-based reasoning by Christopher K. Riesbeck, Roger C. Schank 1989 (ISBN 0-89859-767-6) page xiii
  12. (en) John Searle, « John Searle: Watson Doesn't Know It Won on Jeopardy! », The Wall Street Journal,‎ (lire en ligne, consulté le ).
  13. An approach to hierarchical email categorization by Peifeng Li et al. in Natural language processing and information systems edited by Zoubida Kedad, Nadira Lammari 2007 (ISBN 3-540-73350-7)
  14. InfoWorld, Nov 13, 1989, page 144
  15. InfoWorld, April 19, 1984, page 71
  16. Building Working Models of Full Natural-Language Understanding in Limited Pragmatic Domains by James Mason 2010 [3]
  17. Mining the Web: discovering knowledge from hypertext data by Soumen Chakrabarti 2002 (ISBN 1-55860-754-4) page 289
  18. G. A. Miller, R. Beckwith, C. D. Fellbaum, D. Gross, K. Miller. 1990. WordNet: An online lexical database. Int. J. Lexicograph. 3, 4, pp. 235-244.
  19. Using computers in linguistics: a practical guide by John Lawler, Helen Aristar Dry 198 (ISBN 0-415-16792-2) page 209
  20. Naive semantics for natural language understanding by Kathleen Dahlgren 1988 (ISBN 0-89838-287-4)
  21. Stochastically-based semantic analysis by Wolfgang Minker, Alex Waibel, Joseph Mariani 1999 (ISBN 0-7923-8571-3)
  22. Pragmatics and natural language understanding by Georgia M. Green 1996 (ISBN 0-8058-2166-X)
  23. Natural Language Processing Prolog Programmers by M. Covington, 1994 (ISBN 0-13-629478-2)
  24. Natural language processing in Prolog by Gerald Gazdar, Christopher S. Mellish 1989 (ISBN 0-201-18053-7)
  25. Understanding language understanding by Ashwin Ram, Kenneth Moorman 1999 (ISBN 0-262-18192-4) page 111
  26. Formal aspects of context by Pierre Bonzon et al 2000 (ISBN 0-7923-6350-7)
  27. Programming with Natural Language Is Actually Going to Work, Wolfram Blog.
  28. (en) Robert D. Van Valin, Jr, « From NLP to NLU » [PDF]
  29. John Ball, « multi-lingual NLU by Pat Inc ».