Vous parlez à l'IA chaque jour — en demandant la météo à Siri, en discutant avec un bot de service client, ou en interrogeant ChatGPT. Mais vous êtes-vous déjà demandé comment une machine comprend vos mots ?
La réponse est le traitement du langage naturel (NLP) — la branche de l'IA qui donne aux machines la capacité de lire, comprendre et générer le langage humain. Explorons cela couche par couche.
Le traitement du langage naturel se situe à l'intersection de la linguistique, de l'informatique et de l'IA. Son objectif est d'une simplicité trompeuse : faire comprendre le langage aux ordinateurs comme le font les humains.
Pourquoi est-ce si difficile ? Parce que le langage est ambigu :
On dénombre environ 7 000 langues parlées sur Terre, chacune avec sa grammaire, ses expressions idiomatiques et ses nuances culturelles. Les modèles NLP modernes comme GPT-4 gèrent plus de 100 langues — mais des milliers restent non prises en charge.
Le NLP a traversé trois grandes ères :
L'article de 2017 « Attention Is All You Need » des chercheurs de Google a introduit l'architecture Transformer. C'est le fondement de pratiquement toute IA linguistique moderne — de ChatGPT à Google Traduction en passant par GitHub Copilot.
Avant qu'une machine puisse comprendre une phrase, elle doit la décomposer en unités plus petites appelées tokens.
# Simple word-level tokenisation
sentence = "AI is transforming healthcare!"
tokens = sentence.lower().split()
print(tokens)
# Output: ['ai', 'is', 'transforming', 'healthcare!']
# Modern subword tokenisation (like GPT uses)
# "unhappiness" → ["un", "happiness"]
# "ChatGPT" → ["Chat", "G", "PT"]
# This handles words the model has never seen before!
Les modèles modernes utilisent la tokenisation en sous-mots — ils découpent les mots en fragments porteurs de sens. C'est pourquoi un modèle peut traiter des mots qu'il n'a jamais rencontrés : il en reconnaît les sous-parties.
Pensez aux Lego : même si vous n'avez jamais vu un château spécifique, vous comprenez les briques individuelles.
Les machines ne comprennent pas les mots — elles comprennent les nombres. Les embeddings convertissent chaque token en une liste de nombres (un vecteur) qui capture son sens.
# Conceptual example: word embeddings
# Each word becomes a vector in high-dimensional space
embeddings = {
"king": [0.8, 0.2, -0.5, 0.9],
"queen": [0.7, 0.3, -0.5, 0.8],
"man": [0.9, 0.1, 0.4, 0.2],
"woman": [0.8, 0.2, 0.4, 0.1],
}
# The magic: king - man + woman ≈ queen
# Similar meanings → nearby vectors in this number space
La propriété remarquable des embeddings : les mots de sens similaire sont proches dans cet espace numérique. « Heureux » et « joyeux » seraient voisins ; « heureux » et « tremblement de terre » seraient très éloignés.
Si les embeddings capturent le sens sous forme de nombres, que se passe-t-il lorsqu'un mot a plusieurs significations ? « Avocat » (le fruit ou le juriste) nécessite des vecteurs différents selon le contexte. C'est exactement ce que l'étape suivante — l'attention — résout.
Le mécanisme d'attention est l'ingrédient secret du NLP moderne. Il permet au modèle de déterminer quels mots d'une phrase sont les plus pertinents les uns par rapport aux autres.
Considérez : « Le chat était assis sur le tapis parce qu'il était fatigué. »
À quoi « il » fait-il référence ? Au chat, au tapis, ou à l'action de s'asseoir ? Vous savez que c'est le chat — et l'attention aide le modèle à le comprendre aussi.
Imaginez que vous êtes dans une fête bruyante. Vous pouvez « prêter attention » à une conversation tout en filtrant les autres. L'attention en IA fonctionne de manière similaire :
# Simplified attention intuition
sentence = ["The", "cat", "sat", "because", "it", "was", "tired"]
# When processing "it", attention scores might look like:
attention_for_it = {
"The": 0.02, # barely relevant
"cat": 0.65, # highly relevant — "it" refers to "cat"
"sat": 0.10, # somewhat relevant
"because": 0.03, # barely relevant
"it": 0.05, # self-reference
"was": 0.05, # grammar link
"tired": 0.10, # connected to "it"
}
# The model "attends" most to "cat" — correctly linking the pronoun
GPT-4 utilise environ 120 couches d'attention, chacune analysant le texte sous un angle différent — grammaire, sens, ton, relations factuelles. C'est comme avoir 120 experts lisant le même texte et partageant leurs notes.
Un chatbot combine les composants du NLP en un système conversationnel. Voici l'architecture de base :
« Quel temps fait-il ? » → Intention : get_weather
« Quel temps fait-il à Londres demain ? » → Entités : ville=Londres, date=demain
Rechercher la réponse et formuler une réponse.
# A simple rule-based chatbot skeleton
def simple_chatbot(user_message):
"""A basic chatbot using intent and entity extraction."""
message = user_message.lower()
# Intent recognition (simplified)
if any(word in message for word in ["weather", "temperature", "rain"]):
intent = "get_weather"
elif any(word in message for word in ["hello", "hi", "hey"]):
intent = "greeting"
elif any(word in message for word in ["bye", "goodbye", "see you"]):
intent = "farewell"
else:
intent = "unknown"
# Entity extraction (simplified)
cities = ["london", "paris", "tokyo", "hyderabad", "amsterdam"]
detected_city = next((c for c in cities if c in message), None)
# Response generation
responses = {
"greeting": "Hello! How can I help you today? 😊",
"farewell": "Goodbye! Have a great day! 👋",
"get_weather": f"Checking weather for {detected_city or 'your area'}... 🌤️",
"unknown": "I'm not sure I understand. Could you rephrase? 🤔",
}
return responses[intent]
# Try it out
print(simple_chatbot("Hi there!"))
print(simple_chatbot("What's the weather in Tokyo?"))
print(simple_chatbot("Tell me a joke"))
| Année | Système | Approche | Capacité | |-------|---------|----------|----------| | 1966 | ELIZA | Correspondance de motifs | Imitait un thérapeute avec de simples substitutions de texte | | 1995 | ALICE | Règles (AIML) | Plus de règles, mais toujours aucune compréhension réelle | | 2011 | Siri | NLP statistique | Assistant vocal avec recherche web | | 2016 | Alexa / Google Assistant | NLP par apprentissage profond | Meilleure gestion du contexte et des questions de suivi | | 2018 | BERT (Google) | Transformer (bidirectionnel) | Comprenait le contexte dans les deux directions | | 2022 | ChatGPT (OpenAI) | Transformer (génératif) | Génère des conversations fluides et contextuelles sur plusieurs tours | | 2024 | GPT-4, Claude, Gemini | Transformers multimodaux | Traitent texte, images, code et raisonnement |
ELIZA (1966) a trompé certains utilisateurs en leur faisant croire qu'ils parlaient à un vrai thérapeute — non pas parce qu'elle était intelligente, mais parce que les humains projettent naturellement de la compréhension sur leurs interlocuteurs. C'est ce qu'on appelle l'effet ELIZA, et il s'applique encore aujourd'hui quand on surestime ce que les chatbots « comprennent » réellement.
Les modèles de langage modernes sont impressionnants, mais ils présentent de vraies limites :
Les modèles génèrent parfois des informations formulées avec assurance mais totalement fausses. Ils ne « savent » pas des faits — ils prédisent le mot suivant le plus probable.
Un modèle de langage n'a jamais vu, touché ni expérimenté le monde. Il ne connaît que des schémas linguistiques issus de textes. Il peut décrire un coucher de soleil magnifiquement sans en avoir jamais « vu » un seul.
Les modèles ne peuvent considérer qu'une quantité fixe de texte à la fois. Les conversations très longues peuvent les amener à « oublier » le contexte antérieur.
Si les données d'entraînement contiennent des biais (stéréotypes, désinformation), le modèle les reproduit et parfois les amplifie.
# Illustrating the hallucination concept
def language_model_intuition(prompt):
"""
A language model doesn't retrieve facts — it predicts probable words.
Prompt: "The capital of France is ___"
The model has seen "Paris" follow this pattern thousands of times,
so it predicts "Paris" — not because it 'knows' geography,
but because it's the statistically likely next word.
For rare or ambiguous prompts, it may confidently predict
something entirely wrong — that's a hallucination.
"""
pass # Real models use billions of parameters for this prediction
Quand un chatbot dit « Je pense » ou « Je crois », pense-t-il ou croit-il réellement quelque chose ? Sachant qu'il prédit simplement le mot suivant, comment cela change-t-il votre interprétation de ses réponses ? Les chatbots devraient-ils être obligés de révéler qu'ils sont des IA ?
Vous comprenez maintenant comment les machines traitent le langage. Dans la prochaine leçon, nous aborderons la vision par ordinateur — apprendre aux machines à voir. Vous découvrirez comment l'IA reconnaît les visages, conduit des voitures et alimente les filtres de réalité augmentée sur votre téléphone !