Ferdinand de Saussure 1916
Le NLP applique les connaissances de la linguistique pour construire des technologies du langage. La linguistique fournit la compréhension théorique du fonctionnement du langage, tandis que le NLP utilise ces connaissances (ainsi que les statistiques et le machine learning) pour créer des applications pratiques comme les outils de traduction, les chatbots et les assistants vocaux.
En bref : la linguistique étudie le langage, le NLP fait travailler les ordinateurs avec le langage.
1957 Benveniste : Problèmes de linguistique générale
1957 Chomsky : syntactic structures
voir wikipedia Chomsky
La base de la théorie linguistique de Chomsky réside dans la biolinguistique, l’école linguistique qui soutient que les principes sous-tendant la structure du langage sont biologiquement prédéfinis dans l’esprit humain et donc génétiquement hérités. Il soutient que tous les humains partagent la même structure linguistique sous-jacente, indépendamment des différences socioculturelles.
Speech and Language Processing (3rd ed. draft) Dan Jurafsky and James H. Martin
Dernière version : 24 août 2025 !!
Époque / Année | Développements clés du NLP | Performance sur les tâches |
---|---|---|
Années 1950-1960 | Premières expériences de traduction automatique, ex. Georgetown-IBM (1954) ; théories de la grammaire générative (Chomsky, 1957) ; ELIZA (1964) | Traduction automatique primitive ; NER pas encore formalisé ; systèmes de dialogue purement basés sur des règles |
Années 1970-1980 | SHRDLU (1970) ; PARRY (1972) ; essor des systèmes experts et règles artisanales | Compréhension du langage limitée à des domaines contraints |
Fin années 1980-1990 | Adoption de modèles statistiques ; NER à partir d’actualités (MUC-7 ~1998) ; la traduction automatique statistique remplace les approches à base de règles | NER F1 ~93%, approchant l’humain (~97) ; traduction automatique statistique avec portée et qualité limitées |
Années 2000 | Traduction automatique statistique généralisée (ex. Google Translate dès 2006) | Qualité de la traduction automatique en amélioration mais loin du niveau humain ; NER robuste dans des domaines limités |
Époque / Année | Développements clés du NLP | Performance sur les tâches |
---|---|---|
2010-mi-2010s | Introduction des word embeddings (Word2Vec 2013, GloVe) ; RNNs et modèles seq2seq ; débuts de la traduction automatique neuronale | Les embeddings permettent la similarité sémantique ; la traduction automatique neuronale obtient des améliorations notables |
Fin années 2010 | Architecture Transformer (2016) ; BERT (2018) ; adoption dans les moteurs de recherche dès 2020 | NER et QA atteignent le niveau humain ou super-humain sur les benchmarks ; la traduction automatique approche la fluidité quasi-humaine |
Années 2020 (ère LLM) | Émergence de GPT-3, ChatGPT, GPT-4, etc. (les LLMs dominent le paradigme NLP) | Excellence généralisée : performance au niveau humain ou supérieure en traduction, NER, résumé, raisonnement |
Tu peux le fer ? : tu demandes à quelqu’un de repasser quelque chose.
Tu peux Léfer ? : tu demandes de l’aide pour Léfer (un nom de famille).
Tu peux l’E faire : tu demandes à quelqu’un d’écrire/dessiner la lettre E.
Tu peux l’éfer ? : tu demandes d’aiguiser quelque chose (argot).
Donaudampfschiffahrtsgesellschaftskapitän
(5 “mots”)et des tâches plus difficiles telles que
Nécessite des modèles, des règles qui sont spécifiques à chaque langue. Le russe ou le français ont besoin de lemmatizers différents de l’anglais.
On pourrait travailler avec
Il faut gérer
Quelle est l’unité de texte la plus efficace ?
Utiliser des lettres est trop court
C’est aussi pourquoi les LLMs sont très robustes face aux fautes de frappe et aux erreurs d’orthographe.
vous voulez construire un modèle qui peut prédire si un email est spam ou non spam, ou si un avis est positif ou négatif (analyse de sentiment)
Pour entraîner le modèle, vous devez transformer le corpus en nombres.
La principale méthode NLP classique pour cela est tf-idf (term frequency-inverse document frequency)
Pour chaque phrase, on compte la fréquence de chaque mot et on la normalise par le nombre de documents dans le corpus qui contiennent le mot.
Cela nous donne une matrice que nous pouvons utiliser pour entraîner un modèle.
mais cette approche a plusieurs problèmes
etc
Prenons un exemple. Considérons les 3 phrases suivantes de la célèbre chanson Surfin’ Bird et comptons le nombre de fois que chaque mot apparaît dans chaque phrase.
about | bird | heard | is | the | word | you | |
---|---|---|---|---|---|---|---|
About the bird, the bird, bird bird bird | 1 | 5 | 0 | 0 | 2 | 0 | 0 |
You heard about the bird | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
The bird is the word | 0 | 1 | 0 | 1 | 2 | 1 | 0 |
en français : sur le pont d’avignon
Tous types d’entités prédéfinies : lieu, groupes, personnes, entreprises, argent, etc.
Le NER utilise
Les modèles et règles NER sont spécifiques à chaque langue
Identifier la fonction grammaticale de chaque mot : ADJ, NOUN, VERBs, etc.
Le POS utilise :
Les modèles et règles POS sont également spécifiques à chaque langue
https://cloud.google.com/natural-language
Entrez du texte : (texte du FT sur l’impact de l’IA sur le trafic dû aux résumés IA dans la recherche Google)
“Like everyone, we have definitely felt the impact of AI Overviews. There is only one direction of travel; not only are AIs getting better, but they’re getting better in an exponential fashion,” said Sean Cornwell, chief executive of Immediate Media, which owns the Radio Times and Good Food brands in the UK.
Malheureusement, cette fonctionnalité n’est plus disponible dans la démo NLP de Google.
Il existe quelques importantes bibliothèques Python pour le NLP : Spacy.io et NLTK
Spacy.io supporte 75 langues,
=> suivez Ines Montani (website) elle est super cool
Pour utiliser Spacy.io nous devons
doc
sur le texte que nous voulons analyser# pip install -U spacy
# python -m spacy download en_core_web_sm
import spacy
# Load English tokenizer, tagger, parser and NER
nlp = spacy.load("en_core_web_sm")
# Process whole documents
text = ("When Sebastian Thrun started working on self-driving cars at "
"Google in 2007, few people outside of the company took him "
"seriously. "I can tell you very senior CEOs of major American "
"car companies would shake my hand and turn away because I wasn't "
"worth talking to," said Thrun, in an interview with Recode earlier "
"this week.")
# instanciate the spacy object
doc = nlp(text)
# Analyze syntax
print("Noun phrases:", [chunk.text for chunk in doc.noun_chunks])
print("Verbs:", [token.lemma_ for token in doc if token.pos_ == "VERB"])
# Find named entities, phrases and concepts
for entity in doc.ents:
print(entity.text, entity.label_)
Construire un dataset en utilisant l’API NYT
Offre un accès gratuit : developer.nytimes.com/apis
suivez les instructions sur developer.nytimes.com/get-started
https://colab.research.google.com/drive/1PoFhONvZZxcpIG-_XMoN9wKTT1U7KS7X#scrollTo=aJVkXUfIFjqX
Objectif :