Vous êtes sur la page 1sur 3

École nationale supérieure d'informatique (ESI) 6 décembre 2022 (14h30-15h30)

Oued Smar, Alger Documents et calculatrice non autorisés


Nom + Prénom
Examen Master 2022/2023
TALN : Traitement automatique du langage naturel ………………………………………………………

QCM. Test de connaissance (10pts : 25mn)


Pour chaque question, la sélection d'un choix erroné est sanctionnée par la note d'un choix juste. La
note minimale d'une question est 0.

1) Sélectionner les mots qui nécessitent une seule opération d'édition afin d'avoir le mot
"Levenstein" selon la distance de Levenstein : (1.5pts : 0.5pt/choix)
☒ Levnstein ☐ Levenstien ☒ Levensteine ☒ Lefenstein

2) Voici un paragraphe : "Débloquer : dégager ou libérer quelque chose. Le déblocage est son
action. Exemple : bloquez et débloquez vos cartes SIM. Le sens inverse est le verbe bloquer
qui veut dire immobiliser. Un autre sens de ce mot est : grouper en un bloc. La personne qui,
lors d’une grève, bloque l’entrée est appelée bloqueur."
Définir deux expressions régulières minimales utilisées pour extraire deux lexèmes à partir des mots
contenant la chaîne "blo". Ensuite, exécuter ces expressions régulières afin d'extraire les mots de
chaque lexème. Enfin, choisir un verbe du lexème comme lemme. (4pts: 0.75 par expression
régulière et 0.25pt par mot). Chaque 2 erreurs/expression régulière → -0.25 de 0.75
Expression régulière Lexème Lemme

/(^|\s)[dD]éblo(cage|que[rz])/ débloquer, déblocage, débloquez débloquer

/(^|\s)blo(c|que([rz]|ur)?)/ bloquez, bloc, bloque, bloquer, bloquer


bloqueur

3) Dans le paragraphe précédent, trouver les verbes des trois sens de ces lemmes : (1.75pt: 0.25pt
par mot)
Synset 1 Synset 2 Synset 3

débloquer, dégager, bloquer, immobiliser bloquer, grouper


libérer

4) Nous voulons utiliser les MEMM afin d'appliquer l'étiquetage morpho-syntaxique sur ce
paragraphe. Si nous voulons le maximum des propriétés de chaque mot afin d'effectuer la
classification, quelles sont les opérations à éviter lors du prétraitement (1.5pt: 0.5pt/choix) :
☐ Tokenization ☒ Racinisation ☒ Filtrage des mots vides
☒ Rendre en minuscule ☐ Utiliser un treebank d'entraînement

5) Etant donné un encodeur-décodeur de type Seq2seq, sélectionner les systèmes qui peuvent
l'utiliser entre l'entrée et la sortie : (1.25pt: 0.25pt/choix)
☒ Traduction automatique ☒ Résumé automatique ☒ Questions-Réponses
☒ Chatbot ☐ Analyse de sentiments ☒ Reconnaissance de la parole

Exercice 01. Application numérique (7pts : 20mn)


Voici un treebank de trois phrases :
it/P rains/V cats/N and/C dogs/N dogs/N chase/V cats/N it/P rains/V

1) Modèles de langage (2.5pts)


Nous avons utilisé un modèle bigramme sur les mots avec lissage de Laplace.
(1+1)/(2+6) = 2/8 = 1/4 (0.5pt)
P(</s>|dogs)
ou (1+1)/(2+8) = 2/10 = 1/5 (si on compte les délimiteurs)

P(cats|<s>) P(chase|cats) P(dogs|chase) P(</s>|dogs) = 1/9 * 1/8 * 1/8 * 1/4


P(cats chase dogs) 0.5pt + 0.5pt + 0.5pt + multiplication : 0.5pt
1/11 * 1/10 * 1/10 * 1/5 (si on compte les délimiteurs)

2) Etiquetage morpho-syntaxique (2pts)


Nous avons utilisé un modèle de Markov caché pour cette tâche sans lissage .
π(N) P(V|N) P(N|V) P(dogs|N) P(cats|N) P(chase|V)
1/3 (0.25pt) 1/4 (0.25pt) 2/3 (0.25pt) 2/4 = 1/2 (0.25pt) 2/4 = 1/2 (0.25pt) 1/3 (0.25pt)

P( N V N | cats chase 1/3 * 1/4 * 2/3 * 1/2 * 1/2 * 1/3 (0.5pt)


dogs)

3) Encodage des mots (2.5)


Mot et type d'encodage (0.25pt)*10 X1 X2 X3 X4 X5 X6
rains/ mot-mot 2-2 : (it, rains, cats, and, dogs, chase) 2 0 1 1 0 0

rains/ TF : (phrase 1, phrase 2, phrase 3) 1 0 1

rains/ fonc = somme(mot-mot)/somme(TF) 2

Exercice 02. Test de réflexion (3pts : 15mn)


Nous voulons utiliser CNN, RNN et MLP dans une seule architecture pour l'analyse des sentiments
(pos, neg, neut) sur les phrases de l'exercice 1. Proposer une architecture en expliquant brièvement
comment ces trois éléments sont utilisés en pratique. Il faut préciser l'encodage utilisé.
● Encodage : mot-mot et doit avoir une dimension fixe 0.5 pt
● CNN : entrée/sortie 1 pt
● RNN : entrée/sortie 1 pt
● MLP : la sortie doit 0.5pt
Plusieurs solutions possibles (il faut que les entrées/sorties soient cohérentes)

Encodage (quelques choix possibles)


● BERT : les sorties des mots plus le padding sera l'encodage des mots
● Word2Vec ou Mot-Mot stockés un après l'autre avec un nombre max des mots (on utilise
un padding pour remplir le reste)
On peut utiliser CNN ou RNN après l'encodage :
● Si on utilise CNN en premier, la matrice de l'encodage sera l'entrée. On peut définir
plusieurs noyaux Conv1D (supposant N). Donc, nous aurons une séquence encodée sur N
éléments. Après, cette séquence est alimentée à un RNN. La dernière sortie de ce dernier
sera l'entrée d'un MLP qui a trois neurones dans sa couche de sortie avec softmax comme
fonction d'activation.
● Si on utilise RNN en premier, la matrice de l'encodage sera l'entrée. Le RNN va générer un
séquence de la même longueur mais avec dimension différente. Toutes les sorties du RNN
seront stockées comme une matrice. Cette matrice peut être passée à un Conv1D qui va
générer un seul vecteur ou plusieurs Conv1D suivies par un MaxPool ou AveragePool pour
avoir un seul vecteur. Ce vecteur sera l'entrée d'un MLP qui a trois neurones dans sa
couche de sortie avec softmax comme fonction d'activation.

Bonne chance

Vous aimerez peut-être aussi