NLP LMAP Text mining Part 2 2025 UPPA Jan 2025
Text mining
Part II
M2 Big Data / MSID
Abdelkrim Tafer
1
Récap
Train
Tokenizer Tokenizer Vocabulaire
[
[
" L' ", 80,
"IA", 21,
“L'IA améliore notre
quotidien.”
Tokenizer "améliore", Vocabulaire 18,
"notre",
12,
"quotidien"
] 4
]
2
Embedding Matrix
Embedding Matrix
Ids
0 [0.12, 0.48, …, -0.32]
1 [-0.64, 0.78, …, 0.15]
… …
18 [-0.34, -0.51, 0.88]
… …
255000 [0.76, 0.02, -0.54]
3
Pipeline
1: Phrase positive
80 [0.12, 0.48, -0.32]
21 [-0.64, 0.78, 0.15]
18 [0.91, -0.23, 0.67] Modèle
12 [-0.34, -0.51, 0.88]
4 [0.76, 0.02, -0.54]
0: Phrase négative
Word embedding /
Vector embedding
Plongement sémantique
4
modèles
5
Standard NLP Pipeline
Trainable
Flux de cheminement des données textuelles depuis leur forme brute
jusqu'à des résultats utilisables pour diverses applications NLP. 6
Modèle
RNN Transformer
7
RNN: Réseau de neurones récurrents
Rumelhart, David E; Hinton, Geoffrey E, and Williams, Ronald J (Sept. 1985). Learning internal representations by error propagation.
[Link]
8
RNN: Réseau de neurones récurrents
Rumelhart, David E; Hinton, Geoffrey E, and Williams, Ronald J (Sept. 1985). Learning internal representations by error propagation. 9
Réseau de neurones récurrents
L'un des attraits des RNN est leur capacité potentielle
à relier des informations passées à la tâche présente.
Par exemple, utiliser des images vidéo précédentes
pourrait aider à comprendre l'image actuelle. Si les
RNN pouvaient réaliser cela, ils seraient extrêmement
utiles. Mais est-ce possible ? Cela dépend.
10
RNN
Exemple de Contexte Court
Parfois, seules les informations récentes sont nécessaires pour
accomplir la tâche présente. Par exemple, considérons un modèle de
langage essayant de prédire le mot suivant à partir des mots
précédents.
Si nous essayons de prédire le dernier mot dans la phrase « les nuages
sont dans le ciel », nous n'avons pas besoin de plus de contexte – il est
assez évident que le mot suivant sera « ciel ». Dans de tels cas, où
l'écart entre l'information pertinente et l'endroit où elle est nécessaire
est faible, les RNN peuvent apprendre à utiliser les informations
passées.
11
RNN
Exemple de Contexte Long
Cependant, il existe des cas où un contexte plus large est nécessaire.
Considérons la prédiction du dernier mot dans le texte
« J'ai grandi en France ... Je parle couramment le français »
Les informations récentes suggèrent que le mot suivant est
probablement le nom d'une langue, mais pour préciser quelle langue,
nous avons besoin du contexte de la France, qui se trouve plus loin
dans le texte. Il est tout à fait possible que l'écart entre l'information
pertinente et le point où elle est nécessaire devienne très grand.
12
Limites des RNN
À mesure que cet écart grandit, les RNN deviennent incapables
d'apprendre à relier les informations. Cela limite leur efficacité dans des
tâches nécessitant une mémoire à long terme.
13
RNN: Réseau de neurones récurrents
Rumelhart, David E; Hinton, Geoffrey E, and Williams, Ronald J (Sept. 1985). Learning internal representations by error propagation. 14
LSTM: Long Short Term Memory
Les réseaux Long Short-Term Memory (LSTM) sont un type spécial de
RNN, capables d'apprendre des dépendances à long terme.
Introduits par Hochreiter & Schmidhuber (1997), ils ont été affinés et
popularisés par de nombreux chercheurs.
Les LSTM fonctionnent extrêmement bien sur une grande variété de
problèmes et sont maintenant largement utilisés.
Hochreiter, S., & Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation, 9(8), 1735-1780. doi:10.1162/neco.1997.9.8.1735 15
LSTM: Long Short Term Memory
Les réseaux Long Short-Term Memory (LSTM) sont un type spécial de
RNN, capables d'apprendre des dépendances à long terme.
Introduits par Hochreiter & Schmidhuber (1997), ils ont été affinés et
popularisés par de nombreux chercheurs.
Les LSTM fonctionnent extrêmement bien sur une grande variété de
problèmes et sont maintenant largement utilisés.
Hochreiter, S., & Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation, 9(8), 1735-1780. doi:10.1162/neco.1997.9.8.1735 16
LSTM: Long Short Term Memory
Tous les réseaux de neurones récurrents ont la forme d'une chaîne de
modules de réseau de neurones répétitifs.
Dans les RNN standards, ce module répétitif a une structure très simple,
comme une seule couche tanh.
Les LSTM ont également cette structure en chaîne, mais le module
répétitif est différent. Au lieu d'avoir une seule couche de réseau de
neurones, il y en a quatre, interagissant de manière spéciale.
Hochreiter, S., & Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation, 9(8), 1735-1780. doi:10.1162/neco.1997.9.8.1735 17
RNN
Rumelhart, David E; Hinton, Geoffrey E, and Williams, Ronald J (Sept. 1985). Learning internal representations by error propagation. 18
LSTM: Long Short Term Memory
Hochreiter, S., & Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation, 9(8), 1735-1780. doi:10.1162/neco.1997.9.8.1735 19
LSTM: Les Portes de Contrôle
Les LSTM ont la capacité d'ajouter ou de supprimer des informations de
l'état de la cellule, régulées par des structures appelées portes.
Les portes sont un moyen de laisser passer l'information de manière
optionnelle. Elles sont composées d'une couche de réseau de neurones
sigmoïde et d'une opération de multiplication ponctuelle.
Hochreiter, S., & Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation, 9(8), 1735-1780. doi:10.1162/neco.1997.9.8.1735 20
LSTM: Les Portes de Contrôle
La couche sigmoïde produit des nombres entre zéro et un, décrivant
combien de chaque composant doit être laissé passer.
Une valeur de zéro signifie "ne laisse rien passer", tandis qu'une valeur de
un signifie "laisse tout passer". Un LSTM possède trois de ces portes pour
protéger et contrôler l'état de la cellule.
Hochreiter, S., & Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation, 9(8), 1735-1780. doi:10.1162/neco.1997.9.8.1735 21
LSTM: Les Portes de Contrôle
1. Décision de l'Information à Oublier: La première étape consiste à décider quelles informations de
l'état de la cellule doivent être oubliées. Cela est fait par une couche sigmoïde appelée "couche de
porte d'oubli".
2. Décision de l'Information à Ajouter: La deuxième étape consiste à décider quelles nouvelles
informations doivent être stockées dans l'état de la cellule. Cela se fait en deux parties : une couche
sigmoïde appelée "couche de porte d'entrée" décide quelles valeurs doivent être mises à jour, et une
couche tanh crée un vecteur de nouvelles valeurs candidates.
3. Mise à Jour de l'État de la Cellule: L'ancien état de la cellule est mis à jour en multipliant par la
sortie de la porte d'oubli et en ajoutant les nouvelles valeurs candidates.
4. Décision de la Sortie: Enfin, la sortie est décidée en filtrant l'état de la cellule à travers une couche
sigmoïde et une couche tanh.
22
LSTM: Les Portes de Contrôle
Porte d'Oubli :
Porte d'Entrée :
Porte de Sortie :
Mise à Jour
de l'État de la
Cellule
Sortie de la Cellule :
23
BiLSTM / Stacked LSTM
(a) Bidirectional LSTM (a) Stacked LSTM
Benoit Liquet and Sarat Moka and Yoni Nazarathy, Mathematical Engineering of Deep Learning, CRC Press, 2024 24
Prédictions de tokens avec LSTM
Benoit Liquet and Sarat Moka and Yoni Nazarathy, Mathematical Engineering of Deep Learning, CRC Press, 2024 25
Prédictions de tokens avec LSTM
0.01
0.2
.
.
.
0.9
Softmax .
Hidden . . .
State(s)
. . .
. . 0.07
.
.
.
LSTM Layer Feedforward Layer Output = size of Probability
Input size = Hidden
- Using the Last Hidden State
state size the vocabulary distribution over
- Averaging Hidden States
- Summing Hidden States
the vocabulary
- Pooling Hidden States (Max, ...)
- Concatenating Hidden States
- Attention Mechanism 26
Classification de texte
Benoit Liquet and Sarat Moka and Yoni Nazarathy, Mathematical Engineering of Deep Learning, CRC Press, 2024 27
Classification de texte
1: Spam
80 [0.12, 0.48, -0.32]
21 [-0.64, 0.78, 0.15]
18 [0.91, -0.23, 0.67] Modèle
12 [-0.34, -0.51, 0.88]
4 [0.76, 0.02, -0.54]
0: Ham
28
Classification de texte
Spam
sigmoïde 0.9
Hidden . .
State(s)
. . Ham
. .
Probability to have
a spam
LSTM Layer Feedforward Layer Output = size of
Input size = Hidden
- Using the Last Hidden State
state size the vocabulary
- Averaging Hidden States
- Summing Hidden States
- Pooling Hidden States (Max, ...)
- Concatenating Hidden States
- Attention Mechanism 29
Classification de tokens
Tournez à gauche après la mairie de Pau.
OFFSET Name
MOTION OFFSET OFFSET GeoFeat
30
Classification de tokens
Softmax [0.9, 0.01, 0.5, 0.2]
Hidden . .
State(s)
. .
. .
LSTM Layer Cross-Entropy
Feedforward Layer
Input size = Hidden
Output =
state size Vector size =
Number of tags
31
Classification de tokens avec un modèle BiLSTM+CRF
32
CRF
Modèle champs aléatoires conditionnels (conditional random fields, CRF) :
● Modèle statistique se basant sur la probabilité conditionnelle.
● Le CRF, placé au-dessus du BiLSTM, modélise les dépendances entre les
étiquettes adjacentes.
P( [NoE, X, NE] / “mairie de Pau" )
P( [X, NE,NoE ] / "mairie de Pau" )
…
P( [X, X, NE] / "mairie de Pau" )
Liu, F., Vasardani, M., and Baldwin, T. (2014). Automatic identification of locative expressions from social media text : A comparative analysis. In
Proceedings of the 4th International Workshop on Location and the Web, LocWeb ’14, page 9–16, New York, NY, USA. Association for Computing 33
Machinery.
Encoder-Decoder (seq2seq): Traduction
Benoit Liquet and Sarat Moka and Yoni Nazarathy, Mathematical Engineering of Deep Learning, CRC Press, 2024 34
Encoder-Decoder (seq2seq) : Traduction
Benoit Liquet and Sarat Moka and Yoni Nazarathy, Mathematical Engineering of Deep Learning, CRC Press, 2024 35
Les notions: Query, Key et Value
36
Le mécanisme d’attention dans les modèles séquentiels
● Problèmes de mémorisation des longs contextes dans les RNN
classiques.
● L’attention permet de “focaliser” sur des parties pertinentes de la
séquence d’entrée.
Bahdanau, D., Cho, K., & Bengio, Y. (2014). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv preprint arXiv:1409.0473.
Luong, M.-T., Pham, H., & Manning, C. D. (2015). Effective Approaches to Attention-based Neural Machine Translation. In Proceedings of the 2015 37
Conference on Empirical Methods in Natural Language Processing (pp. 1412–1421). Association for Computational Linguistics.
Problématique & Intuition
Lorsqu’on fait de la traduction automatique (par exemple de l’anglais vers le
français), l’encodeur produit généralement un unique vecteur de contexte qui
essaie de résumer l’ensemble de la phrase d’entrée. Plus la phrase est longue,
plus ce résumé unique devient insuffisant pour capter tous les détails.
Le mécanisme d’attention résout ce problème : au lieu d’utiliser un seul vecteur
fixe, l’attention permet au décodeur de “regarder en arrière” (c’est-à-dire, de
mettre le focus) sur des mots ou tokens spécifiques de la phrase d’entrée, à
chaque étape de génération de la phrase de sortie.
38
Le mécanisme d’attention dans les modèles séquentiels
Bahdanau, D., Cho, K., & Bengio, Y. (2014). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv preprint arXiv:1409.0473.
Luong, M.-T., Pham, H., & Manning, C. D. (2015). Effective Approaches to Attention-based Neural Machine Translation. In Proceedings of the 2015 39
Conference on Empirical Methods in Natural Language Processing (pp. 1412–1421). Association for Computational Linguistics.
Le mécanisme d’attention dans les modèles séquentiels
Encoder Attention Decoder
Bahdanau, D., Cho, K., & Bengio, Y. (2014). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv preprint arXiv:1409.0473.
Luong, M.-T., Pham, H., & Manning, C. D. (2015). Effective Approaches to Attention-based Neural Machine Translation. In Proceedings of the 2015 40
Conference on Empirical Methods in Natural Language Processing (pp. 1412–1421). Association for Computational Linguistics.
Le mécanisme d’attention dans les modèles séquentiels
Benoit Liquet and Sarat Moka and Yoni Nazarathy, Mathematical Engineering of Deep Learning, CRC Press, 2024
41
Le mécanisme d’attention dans les modèles séquentiels
On peut voir un bloc d’attention comme une transformation qui prend en
entrée une séquence de vecteurs et produit une autre séquence de
vecteurs, en mettant l’accent sur les éléments importants.
Séquence d’entrée Transformée via l’encodeur en
Séquence de sortie (cible)
État caché du décodeur au temps 𝑡 :
Vecteur de contexte à chaque étape 𝑡 (issu de l’attention) :
42
Les notions: Query, Key et Value
Query : le “besoin” du décodeur à l’instant 𝑡. Souvent
Keys : les vecteurs associés à chaque position de l’entrée, notés
Values : l'information qu'on va extraire pour chacune des positions, souvent identique (ou liée) aux
● Comparer la query actuelle aux keys (pour mesurer la pertinence).
● Pondérer les values selon l’importance qu’on leur accorde.
43
Calcul des scores
On définit une fonction de score : pour mesurer la similarité ou la correspondance entre la
query au temps 𝑡 et chaque key 𝑗.
Exemples de fonctions de score :
● Produit scalaire :
● Additif :
● Général:
44
Poids d’attention via softmax
Une fois les scores calculés pour toutes les positions 𝑗∈{1,…,𝑇in} , on applique une softmax pour obtenir des poids :
degré d'importance (ou de focus) accordé au token j .
La somme de toutes les pour .
45
Matrice d’attention (Exemple illustratif)
46
Combinaison linéaire (les Values)
Le vecteur de contexte au temps t est la moyenne pondérée (ou somme pondérée) des Values :
● On “récupère” l’information la plus pertinente depuis l’ensemble des vecteurs d’entrée
● Ce vecteur est ensuite injecté dans le décodeur pour produire la prochaine sortie.
47
Le Process dans une architecture Encodeur-Décodeur
Étapes :
1. Encodeur :
a. Reçoit la séquence
b. Produit
2. Mécanisme d’attention :
a. Reçoit la query (souvent l’état caché du décodeur).
b. Calcule les scores, puis les
c. Produit
3. Décodeur :
a. Met à jour son état 𝑠(𝑡) en fonction de
b. Produit la sortie 48
Le mécanisme d’attention dans les modèles séquentiels
Benoit Liquet and Sarat Moka and Yoni Nazarathy, Mathematical Engineering of Deep Learning, CRC Press, 2024
49
Limites des modèles RNN (LSTM, GRU, …)
Malgré l’attention, les architectures RNN (LSTM, GRU) présentent encore plusieurs contraintes :
1. Problème de parallélisation
○ Les RNN traitent la séquence token par token (ordre temporel strict).
○ Difficile d’exploiter du calcul parallèle, car chaque état dépend du précédent.
2. Longues séquences
○ Même si l’attention aide, la récurrence elle-même reste coûteuse sur des séquences très longues.
○ Les gradients peuvent se propager plus difficilement (risque de vanishing ou d’exploding gradients).
3. Contrainte temporelle
○ On ne peut pas ignorer l’ordre séquentiel, ce qui allonge les temps d’entraînement (pas de traitement “en bloc”).
4. Dépendances complexes
○ Les RNN/LSTM apprennent des dépendances sur des échelles de temps successives, mais cet apprentissage peut
rester imparfait dès que la séquence est très longue ou présente des liaisons très distantes.
50
Vers les Transformers
Les Transformers se passent de la récurrence (RNN, LSTM) et s’appuient exclusivement sur l’attention.
Principe :
1. Traitement parallèle de l’ensemble des tokens via des multiplications matricielles (donc bien plus rapide à
l’entraînement que les RNN).
2. Auto-attention : chaque token peut se comparer à tous les autres en une seule étape, facilitant l’apprentissage des
dépendances longues.
Pourquoi ils font mieux :
1. Efficacité : Pas de récurrence => plus de parallélisation => entraînement plus rapide.
2. Longue portée : L’attention auto-régressive gère aisément des contextes longs (chaque token a un accès direct à tous
les autres).
3. Flexibilité : Les Transformers s’adaptent à de nombreuses tâches (Traduction, Résumé, Q&A, Vision, etc.).
4. Performances d’état de l’art : Depuis l’article “Attention Is All You Need” (Vaswani et al., 2017), les Transformers se sont
imposés dans de multiples benchmarks NLP et d’autres domaines.
51