Le traitement du langage naturel (NLP) fait référence à la branche de l'informatique, et plus particulièrement à la branche de l'intelligence artificielle (IA), qui vise à donner aux ordinateurs la capacité de comprendre les textes et les mots prononcés de la même manière que les êtres humains.
Le traitement du langage naturel combine la linguistique informatique (modélisation du langage humain basée sur des règles) avec des modèles statistiques, d'apprentissage automatique et d'apprentissage en profondeur. Ensemble, ces technologies permettent aux ordinateurs de traiter le langage humain sous la forme d'un texte ou sous forme de données vocales et d'en « comprendre » le sens complet, avec l'intention et le ressenti du locuteur ou de l'auteur.
Le traitement du langage naturel fait fonctionner des programmes informatiques qui traduisent des textes d'une langue dans une autre, répondent à des commandes vocales et résument rapidement, voire en temps réel, de gros volumes de texte. Il y a de fortes chances que vous ayez eu affaire au traitement du langage naturel sous la forme de systèmes GPS à commande vocale, d'assistants numériques, de logiciels de dictée vocale, de chatbots de service à la clientèle et d'autres commodités pour les consommateurs. Mais le traitement du langage naturel joue également un rôle croissant dans les solutions d'entreprise qui permettent de simplifier les opérations commerciales, d'augmenter la productivité des employés et de simplifier les processus commerciaux essentiels.
Le langage humain est rempli d'ambiguïtés qui rendent incroyablement difficile l'écriture d'un logiciel capable de déterminer avec précision le sens d'un texte ou de données vocales. Les homonymes, les homophones, le sarcasme, les expressions idiomatiques, les métaphores, les exceptions de grammaire et d'usage, les variations dans la structure des phrases ne sont que quelques-unes des irrégularités du langage humain qui nécessitent de nombreuses années d'apprentissage pour l'homme, mais que les applications basées sur le langage naturel doivent apprendre à reconnaître et à comprendre avec précision dès le départ, si l'on veut qu'elles soient utiles.
Plusieurs tâches de traitement du langage naturel décomposent le texte humain et les données vocales de manière à aider l'ordinateur à donner un sens à ce qu'il ingère. Certaines de ces tâches comprennent :
Consultez l'article de blogue « NLP, NLU et NLG : les différences entre trois concepts de traitement du langage naturel » pour mieux comprendre la relation entre ces concepts.
Le langage de programmation Python fournit un large éventail d'outils et de bibliothèques pour exécuter des tâches spécifiques de traitement du langage naturel. La plupart d'entre eux se trouvent dans le Natural Language Toolkit, ou NLTK, une collection open source de bibliothèques, de programmes et de ressources pédagogiques de création de programmes NLP.
Le NLTK comprend des bibliothèques pour de nombreuses tâches NLP énumérées ci-dessus, ainsi que des bibliothèques pour des tâches secondaires, telles que l'analyse syntaxique des phrases, la segmentation des mots, la coupure et la lemmatisation (méthodes permettant de réduire les mots à leur racine), et la segmentation en unités (pour décomposer les phrases, paragraphes et passages en unités qui aident l'ordinateur à mieux comprendre le texte). Il comprend également des bibliothèques permettant d'implémenter des fonctionnalités telles que le raisonnement sémantique, c'est-à-dire la capacité de tirer des conclusions logiques à partir de faits extraits d'un texte.
Les premières applications de traitement du langage naturel étaient des systèmes codés à la main, basés sur des règles, qui pouvaient effectuer certaines tâches de NLP, mais ne pouvaient pas être mises à l'échelle facilement pour s'adapter à un flux apparemment sans fin d'exceptions ou aux volumes croissants de données textuelles et vocales.
C'est ici qu'intervient le NLP statistique, qui combine des algorithmes informatiques avec des modèles d'apprentissage automatique et d'apprentissage en profondeur pour extraire, classer et étiqueter automatiquement des éléments de texte et de données vocales, puis attribuer une probabilité statistique à chaque signification possible de ces éléments. Aujourd'hui, les modèles d'apprentissage en profondeur et les techniques d'apprentissage basées sur les réseaux neuronaux convolutifs (CNN) et les réseaux neuronaux récurrents (RNN) permettent aux systèmes NLP d'"apprendre" au fur et à mesure qu'ils travaillent et d'extraire un sens toujours plus précis d'énormes volumes de textes bruts, non structurés et non étiquetés, et d'ensembles de données vocales.
Pour mieux comprendre les nuances entre ces technologies et leurs approches d'apprentissage, voir « Différence entre l'IA, l'apprentissage automatique, l'apprentissage en profondeur et les réseaux de neurones ».
Le traitement du langage naturel est le moteur de l'intelligence artificielle dans de nombreuses applications modernes du monde réel. Voici quelques exemples :
Trouvez des réponses et des informations stratégiques dans vos données d'entreprise, à l'aide d'une technologie de recherche pour entreprise basée sur l'IA.
Le service de traitement du langage naturel pour l'analyse avancée de textes.
Résoudre les problèmes des clients du premier coup, sur n'importe quel canal.