Qu'est-ce que le traitement du langage naturel (NLP) ?

Le traitement du langage naturel (NLP) permet aux ordinateurs d'interpréter le langage humain.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir le traitement du langage naturel (NLP)
  • Comprendre le fonctionnement de NLP
  • Comparer le NLP à d'autres types d'intelligence artificielle (IA)

Copier le lien de l'article

Qu'est-ce que le NLP (traitement du langage naturel, natural language processing en anglais) ?

Le traitement du langage naturel (NLP) est une méthode que les programmes informatiques peuvent utiliser pour interpréter le langage humain. Le NLP est un type d'intelligence artificielle (IA). Les modèles NLP modernes sont principalement élaborés par apprentissage automatique et puisent également dans le domaine de la linguistique, à savoir l'étude de la signification du langage.

Tous les ordinateurs peuvent interpréter des commandes et des instructions dans des langages adaptés à l'informatique. Par exemple, un ordinateur (plus précisément une application pour navigateur) peut comprendre et interpréter un code JavaScript tel que :


window.addEventListener("scroll", popup) ;

function popup() {
window.alert("Hello, world !") ;
}

Mais il ne peut pas comprendre et interpréter des textes en langage naturel tels que :


si l'utilisateur fait défiler la page, affichez une alerte qui dit "Hello, world !"

Toutefois, un programme informatique doté d'un traitement du langage naturel peut être en mesure de comprendre la phrase ci-dessus, même s'il ne peut pas exécuter la commande.

Si les langages de programmation constituent le meilleur moyen de donner des ordres aux ordinateurs, le traitement du langage naturel permet aux programmes informatiques d'effectuer une grande variété de tâches à partir du langage humain, qu'il soit parlé ou écrit. Par exemple, il permet de traiter de grandes collections de données d'enregistrements vocaux et de textes écrits, d'automatiser les interactions avec les utilisateurs humains ou d'interpréter les requêtes des utilisateurs.

Le NLP est également utilisé dans d'autres domaines :

  • Analyse des sentiments : le NLP permet d'interpréter des quantités de commentaires d'utilisateurs, de messages sur les médias sociaux ou de demandes de service à la clientèle
  • Assistants virtuels : le NLP est essentiel pour comprendre les demandes des utilisateurs d'assistants tels que Siri, Alexa ou Cortana
  • Moteurs de recherche : le NLP permet aux moteurs de recherche de mieux comprendre l'intention de recherche contenue dans des requêtes simples d'un seul mot et des requêtes tapées sous forme de phrases ou de questions, ainsi que d'interpréter les fautes d'orthographe ou autres erreurs humaines dans les requêtes
  • Traduction : le NLP permet de comprendre et traduire un contenu d'une langue à une autre
  • Modération du contenu : le NLP peut aider à signaler les contenus potentiellement dangereux ou répréhensibles en interprétant le sens du texte généré par l'utilisateur.

Comment fonctionne le traitement du langage naturel (NLP) ?

Le NLP utilise l'apprentissage automatique pour analyser statistiquement le contenu généré par l'homme et apprendre à l'interpréter. Au cours du processus d'apprentissage, les modèles NLP reçoivent des exemples de mots et de phrases en contexte, ainsi que leurs interprétations. Par exemple, un modèle NLP risque de ne pas comprendre si le mot « orange » désigne la couleur ou le fruit. Mais après des milliers d'exemples avec des phrases telles que « J'ai mangé une orange » ou « Cette voiture est orange », le modèle peut commencer à comprendre le mot et à interpréter correctement la différence entre ses deux significations.

Compte tenu de la complexité et de la variabilité du langage humain, le NLP s'appuie souvent sur l'apprentissage profond, qui est un type d'apprentissage automatique plus puissant. Les modèles d'apprentissage profond peuvent traiter des données brutes non étiquetées, ils ont toutefois besoin de grandes quantités de données pour que leur entraînement soit correct. L'apprentissage en profondeur nécessite également une grande puissance de traitement.

Qu'est-ce que le prétraitement NLP ?

Le prétraitement NLP correspond à la préparation d'un texte brut en vue de son analyse par un programme ou un modèle d'apprentissage automatique. Le prétraitement NLP est nécessaire pour préparer le texte dans un format que les modèles d'apprentissage en profondeur peuvent plus facilement analyser.

Il existe plusieurs méthodes de prétraitement NLP utilisées conjointement. Les principales sont les suivantes :

  • Conversion en minuscules : en ce qui concerne le sens d'un mot, il y a peu de différence entre les majuscules et les minuscules. Il est donc plus efficace de convertir tous les mots en minuscules, car de nombreux programmes informatiques sont sensibles à la casse et risquent de faire une différence inutile dans le traitement des mots s'ils comportent des majuscules.
  • La racinisation : il s'agit de réduire les mots à leur racine ou « tige » en supprimant les terminaisons telles que « -er » ou « -ation » (par ex. « exploration » et « explorer » deviennent tous deux « explor »).
  • Lemmatisation : cette technique de NLP réduit les mots à la forme première ou canonique que l'on peut trouver dans un dictionnaire. Les noms pluriels ou féminins deviennent singuliers et masculins : « beaux » et « belle » deviennent « beau» par exemple. Les verbes deviennent leur forme non conjuguée : « va », « allons » et « irons » deviennent « aller ».
  • La tokenisation : elle permet de diviser le texte en éléments plus petits qui transmettent le sens. Ces éléments sont généralement composés de phrases, de mots individuels ou de sous-mots (le préfixe « dé- » est un exemple de sous-mot).
  • Suppression des mots vides : de nombreux mots sont importants pour la grammaire ou pour la clarté lorsque les gens parlent entre eux, mais ils n'ajoutent pas beaucoup de sens à une phrase et ne sont pas nécessaires pour traiter le langage dans un programme informatique. Ces mots sont appelés « mots vides » dans le contexte du NLP, et la suppression des mots vides les élimine du texte. Par exemple, dans la phrase « Je suis allé à l'université pendant quatre ans », les mots « à » et « pendant » sont essentiels pour que la phrase soit intelligible à l'oreille humaine, mais ne sont pas nécessaires à la transmission du sens. La version sans mot vide serait : « Je suis allé quatre ans université. »

Quelle est la différence entre le NLP et les grands modèles de langage (LLM) ?

Un grand modèle de langage (LLM) est un type de modèle d'apprentissage automatique capable de comprendre un texte généré par l'homme et de générer des résultats proches du naturel. Les LLM, à l'instar du très répandu ChatGPT, sont entraînés sur de très grands ensembles de données textuelles.

Les concepts de NLP et LLM se recoupent en partie : tous deux utilisent l'apprentissage automatique, de grands ensembles de données et l'entraînement afin d'interpréter le langage humain. En fait, certaines sources définissent le LLM comme un type de NLP.

Cependant, les LLM diffèrent des modèles NLP sur plusieurs points essentiels :

  • Le NLP est généralement entraîné pour une tâche spécifique, alors que les LLM sont conçus pour un grand nombre d'utilisations variées
  • Le NLP fournit des informations et des interprétations, tandis que les LLM produisent un texte statistiquement cohérent, mais qui ne traduit pas une compréhension du sens profond (même si de nombreux LLM perfectionnés donnent facilement l'impression de le faire)
  • En raison de la grande variété de leurs utilisations, les LLM exigent beaucoup plus de données et d'entraînement que les modèles NLP

Par exemple, un modèle NLP serait plus utile pour l'analyse des sentiments, tandis qu'un modèle LLM conviendrait mieux à l'intégration dans un chatbot pour l'interaction avec les clients. Ou encore, un modèle NLP peut assister un moteur de recherche dans l'interprétation de la requête d'un utilisateur et la génération de résultats de recherche dignes d'intérêt, tandis qu'un LLM peut rédiger sa propre réponse à la requête sur la base d'une analyse statistique du contenu pertinent préexistant.

NLP, LLM et IA générative

Même s'il existe un lien entre les deux, le NLP se distingue également IA générative. L'IA générative est un modèle d'apprentissage en profondeur qui peut générer du texte, de l'audio, de la vidéo, des images ou du code. Les modèles NLP, en revanche, sont rarement conçus pour générer du texte. Les LLM, quant à eux, sont également un type d'IA générative dans la mesure où ils peuvent produire du texte en réponse à des requêtes.

Quelle est la contribution de Cloudflare dans le développement de modèles NLP ?

Cloudflare permet aux développeurs d'exécuter un apprentissage profond avancé sur des processeurs graphiques du monde entier, en leur donnant accès à la puissance de calcul dont ils ont besoin pour entraîner des modèles d'IA, avec une latence minimale. Et Cloudflare R2 est une méthode de stockage efficace et économique pour les quantités massives de données sur lesquelles doit être entraîné le NLP basé sur l'apprentissage en profondeur. En savoir plus sur Cloudflare for AI.