Natural Language Processing (NLP)
Le traitement automatique du langage naturel (NLP) est le domaine de l’IA qui permet aux ordinateurs d’analyser, de comprendre et de générer le langage humain, des jetons aux LLM.
Le traitement automatique du langage naturel (NLP) est la branche de l’intelligence artificielle (AI) qui permet aux ordinateurs d’analyser, de comprendre et de générer le langage humain à l’écrit et à l’oral. Ses tâches vont de l’identification des noms dans une phrase à la traduction d’un livre ou à la tenue d’une conversation, et il combine la linguistique computationnelle avec l’apprentissage automatique et l’apprentissage profond. La recherche sur le Web, les filtres anti-spam, les assistants vocaux, les suggestions du clavier des téléphones et les chatbots fondés sur de grands modèles de langage (LLMs) reposent tous sur le NLP.
Des règles aux grands modèles de langage#
En 1954, l’expérience Georgetown-IBM a traduit en anglais plus de soixante phrases russes à l’aide d’un vocabulaire de 250 mots et de six règles de grammaire, et ELIZA de Joseph Weizenbaum (1966) imitait un psychothérapeute en associant des mots-clés à des réponses préécrites. Les règles écrites à la main ne résistaient ni à l’ambiguïté ni à la diversité des textes réels ; à partir de la fin des années 1980, le NLP statistique a donc appris des probabilités à partir de textes annotés : les modèles de Markov cachés étiquetaient les catégories grammaticales, et la traduction automatique statistique apprenait à partir de millions de paires de phrases traduites.
Les réseaux neuronaux ont pris le relais dans les années 2010. Word2vec (2013) a appris des plongements qui rapprochent les mots apparentés, et les réseaux neuronaux récurrents (RNNs) lisaient les phrases un mot à la fois. Le transformeur (2017) a remplacé la récurrence par l’auto-attention, qui met chaque mot en relation avec tous les autres en parallèle. Les transformeurs préentraînés comme BERT et GPT ont appris le langage à partir de textes non étiquetés, puis n’ont eu besoin que de petits jeux de données étiquetés pour chaque tâche. Depuis la sortie de ChatGPT en novembre 2022, les LLM accomplissent de nombreuses tâches de NLP à partir d’une simple instruction écrite.
Comment les systèmes de NLP représentent le texte#
Un système moderne de NLP commence par découper le texte en jetons, des mots entiers ou des sous-mots produits par la tokenisation, puis associe chaque jeton à un vecteur de plongement. Un réseau neuronal, généralement un transformeur, convertit cette séquence en vecteurs contextuels où le vecteur de chaque jeton tient compte de ses voisins. Une sortie propre à la tâche les interprète ensuite : une étiquette pour l’ensemble du texte, une étiquette par jeton, le début et la fin d’un segment de réponse, ou de nouveaux jetons générés. Comme le sens réside dans les vecteurs, des phrases formulées différemment peuvent être proches, comme le montre l’encodeur de phrases all-MiniLM-L6-v2 :
from sentence_transformers import SentenceTransformer
# A small sentence encoder maps each text to a 384-dimensional vector
model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
query = "How do I reset my password?"
candidates = ["I forgot my login credentials", "How do I reset my router?"]
# Encode all texts, then compare the query with each candidate by cosine similarity
embeddings = model.encode([query, *candidates])
scores = model.similarity(embeddings[0], embeddings[1:])[0]
for text, score in zip(candidates, scores):
print(f"{score:.2f} {text}")La paraphrase « J’ai oublié mes identifiants de connexion » obtient un score de 0,68 par rapport à la question, tandis que « Comment réinitialiser mon routeur ? », qui reprend cinq des six mots de la question, obtient 0,53. La recherche sémantique et l’étape de récupération de la génération augmentée par récupération (RAG) classent les documents en utilisant la même comparaison.
Tâches courantes du NLP#
- Analyse des sentiments : Classe l’opinion exprimée dans un avis, une publication ou une réponse à un sondage comme positive, négative ou neutre.
- Reconnaissance d’entités nommées (NER) : Étiquette chaque mention d’une personne, d’une organisation, d’un lieu ou d’une date.
- Réponse aux questions : Renvoie la réponse à une question plutôt qu’une liste de documents.
- Résumé automatique de texte : Condense un document en un texte plus court qui en conserve les idées principales.
- Génération de texte : Rédige du nouveau texte jeton par jeton ; c’est la tâche à la base des chatbots et des assistants de programmation.
Le NLP en vision par ordinateur#
Le langage permet aussi aux utilisateurs d’indiquer aux modèles de vision par ordinateur ce qu’ils doivent chercher, et la combinaison du NLP et de la vision a produit des modèles capables de lire et d’écrire sur les images. Les modèles vision-langage (VLMs) répondent aux questions sur les photos et les légendent, tandis que CLIP a appris un espace de plongement partagé pour les images et le texte à partir de 400 millions de paires image-légende. Les détecteurs à vocabulaire ouvert reçoivent leur liste de classes sous forme de texte : l’appel à set_classes(["double-decker bus", "person"]) sur un modèle Ultralytics YOLOE-26 tokenise chaque nom avec le tokenizer CLIP et l’encode avec l’encodeur de texte MobileCLIP2 d’Apple. Le détecteur compare ensuite ces plongements textuels aux régions de l’image pour trouver et segmenter des catégories sur lesquelles il n’a jamais été entraîné.
Le NLP et les termes associés#
- Compréhension du langage naturel (NLU) : La partie du NLP qui s’intéresse au sens, par exemple à l’intention d’un utilisateur ou à l’antécédent d’un pronom. La génération du langage naturel (NLG), qui produit du texte, en est l’autre branche principale.
- Grands modèles de langage : Modèles de langage à transformeur comptant des milliards de paramètres, capables d’effectuer de nombreuses tâches de NLP à l’aide d’invites, à un coût par requête supérieur à celui d’un petit modèle entraîné pour une seule tâche.
- Reconnaissance vocale : Convertit l’audio parlé en texte, que les modèles de NLP interprètent ensuite.
- Reconnaissance optique de caractères (OCR) : Convertit des images de texte imprimé ou manuscrit en caractères ; c’est la première étape avant que le NLP puisse lire un document numérisé.










