You are on page 1of 6

École nationale supérieure d'informatique (ESI, Ex.

INI), Alger
Master 2021/2022
Traitement automatique du langage naturel (TALN)

2 novembre 2021 - Examen (1h30) - Partie 1


Documents et calculatrice non autorisés
Il faut répondre sur cette feuille (pages 1 et 2) ; Il faut rendre cette feuille même vide

Nom + Prénom : ………………………………………………………………………………...

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

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

1) Sélectionner les expressions reconnues par l'expression régulière


/[A-Za-z]\w*@\w{3,}\.[A-Za-z]{2,3}/, étant donné \w ≡ [a-zA-Z0-9_] : (0.5 pour chaque choix)
☒ AB_aries@esi.dz ☐ _ab_aries@esi.dz ☐ ab_aries@esi.edu.dz ☒ ab_@esi.edu
☐ ab_aries@es.dz ☐ ab_aries@esi.educ ☒ aaries@e9si.dz ☒ a_@_e_.dz

2) Afin d'écrire le mot "Rassemblement", on a commis l'erreur suivante : "Rasenlbement". Indiquer


la (les) position(s) de chaque opération d'édition par rapport au mot correcte (Si l'opération n'existe
pas, écrire 0. La transposition et la substitution sont prioritaires, c-à-d. on ne doit pas les considérer
comme des opérations d'insertion/suppression) : (0.5 pour chaque réponse juste)
Insertion : 0 Substitution : 6
Suppression : 3 ou 4 Transposition : 7/8

3) Quelles sont les caractéristiques suffisantes pour détecter la limite des phrases dans le texte "I
met Mr. Karim. He is at Hassiba Ave. He went to buy a PC." (Ave.=avenue [FR: rue]), étant donné
qu'on a appliqué une phase de normalisation ? Cette dernière transforme les abréviations/acronymes
vers leurs versions longues en gardant le point lorsque le mot suivant commence par une majuscule
et l'abréviation peut se produire à la fin de la phrase (les caractéristiques utiles mais pas nécessaires
dans ce texte sont considérées comme erronées) : (1 pour chaque choix)
☐ Casse (après ".") ☐ Catégorie grammaticale (avant ".") ☐ Longueur du mot (avant ".")
☐ Nom propre (avant ".") ☐ Catégorie grammaticale (après ".") ☐ Longueur du mot (après ".")
☐ Nom propre (après ".") ☐ Classes des abréviations ☒ Aucune ; le "." est suffisant

4) Choisir, pour chaque tâche, l'opération (les opérations) de réduction de forme utilisée(s) souvent
(avec élimination des affixes) :
Tâche Lemmatisation Racinisation Aucune
Recherche d'informations (RI) ☐ ☒ ☐
Compréhension de la langue (NLU) ☒ ☐ ☐
Représentation BERT ☐ ☐ ☒

Alger.ESI.Master.TALN.Examen page 1/6


5) Sélectionner les propositions correctes concernant les modèles de langage (LM) et l'étiquetage
morpho-syntaxique (PoS) : (0.5 pour chaque choix)

☒ Dans PoS avec un modèle de Markov caché (HMM), les transitions entre les états (catégories
grammaticales) sont représentées comme un LM.

☒ Certaines méthodes de lissage peuvent régler le problème des mots hors vocabulaire.

☐ Étant donné un modèle unigramme entraîné sur le français standard, la perplexité de la phrase
"Karim enseigne un cours" est supérieure à celle de "un cours Karim enseigne".

☒ Étant donné un modèle unigramme entraîné sur le français standard, la perplexité de la phrase
"Karim enseigne un cours" est égale à celle de "un cours Karim enseigne".

☐ Étant donné un modèle unigramme entraîné sur le français standard, la perplexité de la phrase
"Karim enseigne un cours" est inférieure à celle de "un cours Karim enseigne".

☐ Étant donné un modèle bigramme entraîné sur le français standard, la perplexité de la phrase
"Karim enseigne un cours" est supérieure à celle de "un cours Karim enseigne".

☐ Étant donné un modèle bigramme entraîné sur le français standard, la perplexité de la phrase
"Karim enseigne un cours" est égale à celle de "un cours Karim enseigne".

☒ Étant donné un modèle bigramme entraîné sur le français standard, la perplexité de la phrase
"Karim enseigne un cours" est inférieure à celle de "un cours Karim enseigne".

6) Étant donné deux mots M1 et M2, on veut savoir le type de relation qu'on peut extraire en utilisant
des différentes représentations. Notons HYP(M1, M2) une mesure basée sur le chemin le plus
court qui connecte M1 et M2 en utilisant la relation hyponyme/hyperonyme de Wordnet. Notons
COS(X,Y) le cosinus entre deux vecteurs X et Y. Sélectionner le type de rela tion capturée par
chaque mesure : (0.5 pour chaque choix)
Mesure Similarité Association Aucune
HYP(M1, M2) ☒ ☐ ☐
COS(OneHot(M1), OneHot(M2)) ☐ ☐ ☒
COS(Word2Vec(M1), Word2Vec(M2)) ☐ ☒ ☐

Alger.ESI.Master.TALN.Examen page 2/6


École nationale supérieure d'informatique (ESI, Ex. INI), Alger
Master 2021/2022
Traitement automatique du langage naturel (TALN)

2 novembre 2021 - Examen (1h30) - Partie 2


Documents et calculatrice non autorisés
La réponse est sur la feuille d'examen ; Vous pouvez prendre cette feuille avec vous

Exercice 01. Application numérique (5pts : 30mn)

1) Modèles de langage et étiquetage morpho-syntaxique


Voici un modèle de markov caché pour l'étiquetage morpho-syntaxique.

π(𝑃, 𝐷, 𝑉, 𝑁) = (0. 4, 0. 3, 0. 1, 0. 2)

A) Calculer les deux probabilités (1pt) :


○ p(V D N | "fish a fish") = p("fish a fish"| V D N) * p(V D N) = p("fish"| V) * p("a"| D) *
p("fish"|N) * Pi(V) * p(D|V) * p(N|D) = 0.01 * 0.2 * 0.05 * 0.1 * 0.4 * 1.0 = 20 * 10^(-7)
○ p(N D N | "fish a fish") = p("fish a fish"| V D N) * p(V D N) = p("fish"| N) * p("a"| D) *
p("fish"|N) * Pi(N) * p(D|N) * p(N|D) = 0.05 * 0.2 * 0.05 * 0.2 * 0 * 1.0 = 0
B) Etant donné que C(N) = 200 et C(V) = 100, calculer les probabilités suivantes en utilisant le
lissage de Laplace (0.5pt) :
○ p(D|V) = [C(V D)+1]/[C(V) + 4] = [0.4 * 100 + 1]/[100+4] = 41/104
○ p(D|N) = [C(N D)+1]/[C(N) + 4] = [0 + 1]/[200+4] = 1/204
C) Recalculer les probabilités de la question (A) après le lissage (0.5pt)
○ On n'a pas demandé de calculer p(N|D) avec Laplace ; donc on va l'utiliser sans
lissage. C'est la même façon ; juste on remplace les probabilités lissées.
D) Combien d'expressions étiquetées "V D N" existent-elles dans notre dataset d'entraînement ?
Le déterminant "D" ne se produit jamais à la fin de la phrase. (0.5pt)
○ C(V) = 100 ; C( V D) = 100 * 0.4; Comme D n'est pas un état terminal, donc C(V D N) =
40 * 1.0 = 40

Alger.ESI.Master.TALN.Examen page 3/6


2) Encodage des mots
Voici trois phrases du dataset précédent :
● I fish a fish in the river the river where I fish is far the fish is far in the river

A) En utilisant TF, encoder les deux premières phrases et calculer Cos(S1, S2) (0.75pts)
○ S1[I, fish, a, in, the, river, where, is, far] = (1, 2, 1, 1, 1, 1, 0, 0, 0)
○ S2[I, fish, a, in, the, river, where, is, far] = (1, 1, 0, 0, 1, 1, 1, 1, 1)
1*1 + 2*1 + 1*0 + 1*0 + 1*1 + 1*1 + 0*1 + 0*1 + 0*1 5
○ 𝑐𝑜𝑠(𝑆1, 𝑆2) = =
2 2 2 2 2 2 2 2 2
1 +2 +1 +1 +1 +1 +0 +0 +0 * 1 +1 +0 +0 +1 +1 +1 +1 +1
2 2 2 2 2 2 2 2 2 9* 7

B) En appliquant un filtrage des mots vides dont la liste est [ I, a, in, the, is, where ], refaire la
même chose (0.75pts)
○ S1[fish, river, far] = (2, 1, 0)
○ S2[fish, river, far] = (1, 1, 1)
2*1 + 1*1 + 0*1 3
○ 𝑐𝑜𝑠(𝑆1, 𝑆2) = =
2 2 2
2 +1 +0 * 1 +1 +1
2 2 2 5* 3

C) Trouver la représentation Mot-Mot du mot "fish" avec une co-occurrence de 2-2 (1pt)
○ fish[I, fish, a, in, the, river, where, is, far] = (2, 2, 2, 1, 2, 0, 1, 2, 2)

Alger.ESI.Master.TALN.Examen page 4/6


Exercice 02. Test de réflexion (5pts : 30mn)

1) On veut développer un système de traduction automatique français-anglais. Nous avons opté pour
une solution basée sur l'approche directe. Dans cette approche, on traduit mot par mot et on
applique une phase de post-traitement afin d'ajuster l'ordre des mots, etc. Cette approche se situe
dans le niveau morphologique du traitement de la langue. Proposer une solution afin d'introduire le
niveau sémantique sans changer d'approche. (2pts)
● On peut appliquer une désambiguïsation lexicale (WSD) afin de trouver les bon sens des mots
de la langue source. Aussi, on peut utiliser Wordnet multilingue afin de traduire le sens vers la
langue cible.

2) On veut développer un système de résumé automatique translingue (Texte long en une langue et
le résumé généré en une autre langue). Pour ce faire, nous avons utilisé deux systèmes basés sur
l'architecture encodeur-décodeur (seq2seq avec des RNNs) : un système de résumé automatique de
la langue française et un autre de traduction automatique du français vers l'anglais.

2-A) Nous avons deux datasets : un premier qui contient des phrases alignées (français-anglais) et
un deuxième qui contient des textes en français et leurs résumés en anglais. On peut entraîner le
deuxième système (traduction) en utilisant le premier dataset. Comment peut-on entraîner le
système de résumé automatique (français-français) ? (1pt)
● La solution la plus simple est de traduire les résumés (englais) en français ; ça consomme du
temps et de l'énergie, c'est pour ça la note non complète (0.75)
● Une solution est d'entraîné un autre système de traduction automatique (anglais-français) en
utilisant le dataset aligné (dataset1). Une fois le système entraîné, on traduit les résumés
anglais vers le français ; comme ça, on aura un troisième dataset totalement en français pour
le résumé automatique. Cela va être utilisé pour entraîner le premier système de résumé en
français.
● Une troisième solution est d'entraîner le système de traduction automatique (système2) en
utilisant le dataset aligné (dataset1). Ensuite, on considère les deux systèmes (résumé et
traduction) comme un seul et l'entraîner en utilisant le dataset2. Dans ce cas, on calcule
l'erreur finale (résumé en englais) et on propage cet erreur seulement sur le premier système.

Alger.ESI.Master.TALN.Examen page 5/6


2-B) On veut améliorer cette architecture comme suit :
● Moins de consommation de temps, d'effort et de données lors d'entraînement ;
● Prendre en considération des dépendances à-postériori lors de la génération du contexte ;
● Prendre en considération des variations morphologiques d'une manière automatique.
Proposer une nouvelle architecture qui nous assure ces améliorations (2pts)
La plus simple proposition est :
● entraîner un seul encodeur/décodeur de bout-en-bout (j'ai mentionné ça dans le tuto de
traduction automatique ; donc la réponse a été donnée lors du séminaire) (1pt)
● On peut utiliser des RNN bi-directionnels (0.5pt)
● Utiliser un embedding des caractères

Les gens qui ont proposé une solution en utilisant BERT, il ne suffit pas de le mentionner seulement
mais décrire l'architecture (entrées/sorties) et comment il règle les trois problèmes :
● BERT est déjà entraîné à représenter les mots et le contexte dans la sortie [CLS]. Dans ce
cas, on peut utiliser BERT français (comme CamenBERT) pour encoder le contexte dans la
sortie [CLS] ensuite attacher un décodeur pour décoder l'anglais. (1pt) REMARQUE: les gens
qui ont décodé directement à la sortie : on a changé le vocabulaire ; c-à-d, le vocabulaire de
sortie était Français et vous avez utilisé l'anglais qui est un vocabulaire totalement différent.
Dans ce cas, l'apprentissage par transfert ne sera pas bénéfique.
● BERT assure le contexte à-postériori à cause de l'utilisation de la technique des transformers
(0.5)
● BERT utilise WordPiece pour apprendre une forme de radicalisation (0.5)

Bonne chance

Alger.ESI.Master.TALN.Examen page 6/6

You might also like