NLP

Natural Language Processing

Style classique

---

Aujourd'hui


De la linguistique au NLP

**Ferdinand de Saussure 1916** cours de linguistique générale
  • La linguistique est l'étude scientifique du langage humain—comment il est structuré, comment il fonctionne, comment il évolue, et comment les gens l'utilisent pour communiquer.
  • Le NLP (Natural Language Processing) est un domaine de l'informatique et de l'IA qui vise à enseigner aux ordinateurs à comprendre, interpréter et générer le langage humain.

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.


Autres références classiques

1957 Benveniste : Problèmes de linguistique générale

1957 Benveniste : Problemes 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.

1957 Chomsky : syntactic structures

Speech and Language Processing

speech and language processing

Speech and Language Processing (3rd ed. draft) Dan Jurafsky and James H. Martin

Dernière version : 24 août 2025 !!


Chronologie

nlp history

NLP Timeline


Chronologie du NLP : les débuts

Époque / AnnéeDéveloppements clés du NLPPerformance sur les tâches
Années 1950-1960Premiè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-1980SHRDLU (1970) ; PARRY (1972) ; essor des systèmes experts et règles artisanalesCompréhension du langage limitée à des domaines contraints
Fin années 1980-1990Adoption de modèles statistiques ; NER à partir d'actualités (MUC-7 ~1998) ; la traduction automatique statistique remplace les approches à base de règlesNER F1 ~93%, approchant l'humain (~97) ; traduction automatique statistique avec portée et qualité limitées
Années 2000Traduction 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

Chronologie du NLP

Époque / AnnéeDéveloppements clés du NLPPerformance sur les tâches
2010-mi-2010sIntroduction des word embeddings (Word2Vec 2013, GloVe) ; RNNs et modèles seq2seq ; débuts de la traduction automatique neuronaleLes embeddings permettent la similarité sémantique ; la traduction automatique neuronale obtient des améliorations notables
Fin années 2010Architecture Transformer (2016) ; BERT (2018) ; adoption dans les moteurs de recherche dès 2020NER 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

Le langage est... compliqué

_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).

- Mangeons **,** grand-père. - Mangeons grand-père.

Le langage est... compliqué


Problèmes classiques du NLP

et des tâches plus difficiles telles que


NLP classique

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.


Quelle est l'unité du texte ?

On pourrait travailler avec

Il faut gérer


Subword tokenization

Quelle est l'unité de texte la plus efficace ?


Avantages du subword tokenization

C'est aussi pourquoi les LLMs sont très robustes face aux fautes de frappe et aux erreurs d'orthographe.


Bag of words pour la classification binaire

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


nlp workflow diagram

Exemple de tf (term frequency)

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.

aboutbirdheardisthewordyou
About the bird, the bird, bird bird bird1500200
You heard about the bird1110101
The bird is the word0101210

en français : sur le pont d'avignon


NER : reconnaissance d'entités nommées

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

ner simpsons diagram

POS : étiquetage des parties du discours

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

pos shakespeare diagram

Démo NLP classique : NER et POS

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.


NER


Classification


POS : part of speech et dependency tagging

Malheureusement, cette fonctionnalité n'est plus disponible dans la démo NLP de Google.


Tokens et LLMs


Tarification basée sur les tokens

https://openai.com/api/pricing/

openai pricing

NER et POS avec spacy.io

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


Code Spacy

Pour utiliser Spacy.io nous devons

# 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_)


Pratique

Construire un dataset en utilisant l'API NYT

---

API NYT

Offre un accès gratuit : developer.nytimes.com/apis

suivez les instructions sur developer.nytimes.com/get-started

nyt api key

API NYT - Pratique

https://colab.research.google.com/drive/1PoFhONvZZxcpIG-_XMoN9wKTT1U7KS7X#scrollTo=aJVkXUfIFjqX

Objectif :

1 / 0