Natural language processing


Le Natural Language Processing, ou Natural Language Programming (abrégé NLP) peut être traduit en français par traitement automatique du langage naturel. Il s’agit d’une technologie dont l’objectif est la communication entre l’ordinateur et l’être humain sur un même niveau. Le NLP allie les connaissances issues de la linguistique et les méthodes les plus récentes de l’informatique et de l’intelligence artificielle.

Afin que le Natural Language Processing fonctionne, il est d’abord nécessaire de travailler la reconnaissance vocale. Le NLP est considérée comme une technologie prometteuse dans le domaine du IHM pour la gestion d’équipements ou d’applications web. Par exemple, le travail des chatbots ou des assistants linguistiques numériques se base sur ce principe.

Contexte[modifier]

Le développement du NLP débute dans les années 1950 à l’époque où le scientifique Alan Turing publie un article titré Computing Machinery and Intelligence. Il y présente une méthode de mesure de l’intelligence artificielle. Le "Turing Test" existe encore de nos jours.

Les chercheurs avaient déjà réussi dès 1954 à traduire à l’aide d’une machine une soixantaine de phrases du russe à l’anglais. Dans l’euphorie des débuts, beaucoup de chercheurs informatiques pensaient que la traduction automatique n’était plus qu’une question de temps. Il a cependant fallu attendre jusque dans les années 1980 pour voir se développer les premiers systèmes de traduction automatique basés sur les statistiques. Entre temps, quelques idées furent trouvées pour traduire les informations du monde "réel" en langue informatique.

Un grand pas fut fait à la fin des années 1980, à l’époque où l’apprentissage automatique est devenu populaire. Les algorithmes, alliés à la puissance informatique de plus en plus importante des ordinateurs, purent alors être utilisés pour le NLP. L’un des pionniers de ce domaine fut et est encore aujourd’hui le linguiste Noam Chomsky. L’entreprise de logiciels IBM a elle aussi joué un rôle dans le développement du Natural Language Processing.

Les programmes informatiques basés sur le NPL ne sont aujourd’hui plus en mesure de profiter des fichiers de données collectés manuellement, mais sont cependant capables d’analyser directement et tout seuls des corpus de textes comme des sites web ou de la langue parlée.

Conditions[modifier]

Le NLP est fondé sur l’idée de base que chaque forme de langue, parlée ou écrite, doit tout d’abord être reconnue. La langue est cependant un système très complexe de signes. Ce qui importe n’est pas seulement le mot en lui-même mais le rapport qui existe avec d’autres mots, des phrases entières ou encore les faits.

Pour comprendre ce que les êtres humains apprennent naturellement dès la naissance, les ordinateurs doivent utiliser des algorithmes. Si l’Homme peut tirer des réponses de son expérience de vie, l’ordinateur doit lui avoir recours à des expériences créées de manière artificielle. Le défi pour le traitement automatisé du langage naturel est finalement de comprendre la langue plus que de la produire.

Fonctionnalité[modifier]

Le NLP moderne se base sur des algorithmes fondés eux-mêmes sur des statistiques du machine learning. La particularité ici est que les ordinateurs, de cette manière, sont non seulement capables d’apprendre des problèmes résolus autrefois, mais également de les reconnaître de façon autonome et de résoudre des secteurs problématiques en se basant sur d’importants corpus de documents. Les ordinateurs n’apprennent pas de cette manière à trouver une solution pour chaque problème mais plutôt des tendances générales grâce auxquelles ils pourront traiter des questions individuelles. Cela fait du NLP un précurseur de l'intelligence artificielle.

Exemple[modifier]

L’avantage considérable de cette méthode est le fait que plus les ordinateurs obtiennent des informations, plus ils sont performants. Un bon exemple est la fonction de traduction de Google. Le projet ne fut pas pris au sérieux à ses débuts. Aujourd’hui, le programme est capable de traduire un grand nombre de textes différents, et même de traduire le mot parlé de manière relativement fluide.

Le "Rank Brain" de Google utilise également la méthode de NLP pour fournir des résultats de recherche correspondants à des requêtes de recherche sans précédent. L'"interprétation" des données est complétée par l'intelligence artificielle.

Les programmes informatiques qui se basent sur le NLP doivent pouvoir remplir les tâches suivantes :

  • Racinisation
  • Simplification de textes
  • Convertir du texte en langue parlée
  • Convertir la langue parlée en texte
  • Comprendre la recherche en langue naturelle
  • Reconnaître les questions élargies et celles de suivi
  • Vérifier la plausibilité des réponses

Domaines[modifier]

Le NLP est présent dans beaucoup de secteurs, comme :

  • La recherche d’informations : dans le traitement général des informations
  • L’extraction d’informations : dans les questions sémantiques
  • Le traitement de la parole : reconnaissance vocale ou fonctions de conversion de texte en voix

Fonctions[modifier]

La reconnaissance vocale en tant que domaine de compétence central du NLP dépend d’un grand nombre de facteurs différents. Les plus importants sont rapidement repris ici.

  • Récapitulatif automatique : les programmes doivent pouvoir être capables de réduire à l’essentiel de grands textes de manière automatisée.
  • Les relations entre les mots à l’intérieur des phrases : il est ici attendu du NLP qu’il reconnaisse quels composants de la phrase sont reliés entre eux. Exemple : Je m’assois dans la voiture sur le siège arrière. Dans ce cas-là, le programme doit reconnaître que le siège arrière appartient à la voiture.
  • Analyse du discours : le logiciel NLP doit être capable de d’identifier le registre d’un texte (soutenu, familier). Il doit également pouvoir reconnaître à quel genre de texte il est confronté (liste de courses, facture, requête).
  • Traduction automatique : sur les programmes basés sur le NLP la langue humaine doit pouvoir être traduite dans une autre langue humaine et ils doivent maîtriser la grammaire, la sémantique et d’autres domaines de la linguistique.
  • Segmentation morphologique : ici, la décomposition d’un mot est prise dans ses composants individuels.
  • NER (Named Entity Recognition) : un programme NLP doit pouvoir reconnaître si un texte contient un nom propre de lieux, de personnes ou d’organisations et il doit pouvoir les associer au nom en question. Pour la rédaction de texte, le programme doit également savoir pour les langues occidentales, si les mots en question nécessitent une majuscule.
  • Conversion en langue humaine : les mots consignés de manière numérique sont convertis en langage humain.
  • Compréhension du langage humain
  • Optical character recognition (OCR) : il s’agit de reconnaissance d’images capables de transformer les images en texte, comme peuvent déjà le faire certains scanners aujourd’hui.
  • Reconnaissance de sentiments
  • Reconnaissance de la langue parlée
  • Reconnaissance de styles comme l’ironie
  • Reconnaissance de la signification d’un mot

Champ d’application et perspectives[modifier]

Le NLP est un élément important dans le développement de l’intelligence artificielle. En effet, la langue joue un rôle central dans la création d’ordinateurs capables de penser de façon autonome. L’approche du Natural Language Processing a ainsi pu créer des liens importants entre l’être humain et l’ordinateur.

On utilise aujourd’hui ces techniques pour la traduction et le traitement de texte mais aussi dans les call centers. Il existe également déjà des programmes capables de créer eux-mêmes des textes. Déjà aujourd'hui, les utilisateurs peuvent " parler " à des chatbots de fournisseurs sélectionnés sur Skype pour réserver des billets ou lancer des requêtes simples. Google souhaite également faire de son traducteur un service de traduction en live. En même temps, la technologie est utilisée par de nombreux assistants numériques de grandes sociétés Internet, comme Amazon Echo, Windows Cortana ou Siri d'Apple.

Liens web[modifier]