39
1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

Embed Size (px)

Citation preview

Page 1: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

1

Mettre tout ça ensemble

Exemple de problème: Attachement du SP

• Le problème

• Méthodes possibles

• Implémentation en Perl

• Évaluation

Page 2: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

2

Le problème

SP complément du nom ou du verbe?

J’ai vu l’homme avec les jumelles

J’ai vu l’homme au chapeau

Je mange la pizza avec la fourchette

Je mange la pizza au fromage

Je mange la pizza avec une bière

Page 3: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

3

Pourquoi faut-il résoudre ce problème?

Environ 70% des erreurs de construction de structure syntaxique pendant une analyse automatique sont des erreurs d’attachement de SP.

Donc, si on améliorait la performance de la résolution de ce problème, toute l’analyse serait améliorée.

Page 4: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

4

Comment faut-il résoudre ce problème?

J’ai vu l’homme avec les jumelles

J’ai vu l’homme au chapeau

Je mange la pizza avec la fourchette

Je mange la pizza au fromage

Je mange la pizza avec une bière

Y-a-t-il des régularités visibles qui distinguent entre attachement au nom et attachement au verbe?

• L’information lexicale, quels mots sont utilisés dans la phrase, est cruciale.

Page 5: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

5

Attachement du SP: méthode manuelle

1. Récolte d’un petit corpus d’exemples de SPs avec la distinction

entre complément du nom ou complément du verbe. En général, par introspection ou récolte non-systématique de données observationnelles

2. Création de règles régissant les différences entre ces deux cas de figure par observation jusqu’à couverture des toutes les données observées

3. Implémentation d’un système et extension aux exemples qui n’avaient pas été prévus

Page 6: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

6

Méthode manuelle: problèmes

1. Récolte non-systématique des données observationnelles, donc

pas garantie de représentativité

2. Possibilité de complexité excessive du système de règles, surtout si on veut tenir compte des mots

3. Pas de tests systématiques, ni de tests sur un ensemble séparé d’exemples, pas d’évaluation quantitative, difficile à comparer avec d’autres méthodes

Page 7: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

7

Structure d’une expérience informatique

Corpus d’entraînement filtre données d’entraînement

apprenant

modèle de classification

Corpus d’entraînement filtre données test classificateur

données test classifiées

évaluateur

mésures de performance

Page 8: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

8

Mesures de performance : exactitude

Supposons qu’on ait un problème d’apprentissage automatique où il s’agit d’identifier, parmi un certain nombre d’objets, lesquels ont la propriété X. Pour chaque objet, on obtient à l’aide d’un modèle statistique la réponse « oui » ou la réponse « non ».

Comment peut-on évaluer la performance de notre modèle?

Il y a plusieurs méthodes. La plus simple est ce que nous appellerons l’exactitude ou, parfois, la précision—mais attention, le mot « précision » est ici ambigu, comme on va le voir plus tard.

Exactitude = Nombre de réponses correctesNombre total de réponses

Page 9: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

9

Mesures de performance : exactitude

Parfois, l’exactitude n’est pas appropriée. Supposons qu’on évalue un engin de recherche comme Google et qu’il y ait 1’000’000 de documents dont 100 m’intéressent. Si je fais le recherche et Google me propose 50 documents dont 10 sont parmi ces 100, alors:

Nombre de réponses correctes =

10 (oui qui sont exacts) + 999’860 (non qui sont exacts)

Donc

exactitude = 999’870 / 1’000’000 = .999’87 !!!

Pourtant, ce résultat est en fait mauvais, puisque j’ai 40 documents que je ne veux pas et il en manque 90 que je voudrais.

Page 10: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

10

Mesures de performance : précision et rappel

Réponse de l’algorithme

oui non

Vraie réponse

oui vp = Vrai positif fn = Faux négatif

Non fp = Faux positif vn = Vrai négatif

Deux autres mesures sont plus utiles ici : la précision et le rappel.

Étant donné les valeurs dans letableau suivants :

On définit ces mesures ainsi :

Précision = # oui corrects = vp / vp + fp# de oui trouvés

Rappel = # oui corrects = vp / vp + fn # de oui réels

Page 11: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

11

Mesures de performance : précision et rappel

Alors pour notre recherche sur Google, nous avons :

Réponse de l’algorithme

oui non

Vraie réponse

oui 10 90

Non 40 999’860

Précision = 10 / 10 + 40 = .2

Rappel = 10 / 10 + 90 = .1

Ces mesures sont plus utiles dans ce cas-ci que

Exactitude = vp + vn / total

Page 12: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

12

Mesures de performance : mesure F

Une autre mesure est utile, résumant la précision et le rappel en une seule mesure : la mesure F.

Si P est la précision et R est la rappel, alors F se définit comme:

F = 2PR / P + R

La mesure F nous donne un mesure de performance moyenne.

Question: pourquoi F et non pas simplement une moyenne?

F' = P + R /2

Page 13: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

13

Mesures de performance : mesure FF se définit comme: F = 2PR / P + R

Elle est la moyenne harmonique

F = 2/ 1/P + 1/R

Elle donne un mesure de performance équilibrée. On veut une mesure equilibrée car on sait que, en pratique, précision et rappel sont en rélation inverse.

Précision inadéquate: Rappel inadéquat: « Équilibre »:

vp = 100 fn = 0

fp = 900 vn = 999’000

P = .1 R = 1 P = 1 R = .4 P = .8 R = .8

F = .18 F = .33 F = .8

vp = 20

fn = 80

fp = 0 vn = 999’900

vp = 80 fn = 20

fp = 20 vn = 999’880

Page 14: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

14

Mesures de performance : mesure F

P = .1 R = 1 P = 1 R = .4 P = .8 R = .8

F = .18 F = .33 F = .8

M = .55 M = .7 M = .8

P R M F

1 100 50.5 1.98

2 50 26 3.85

3 33.3 18 5.5

4 25 14.5 6.9

5 20 12.5 8

10 10 10 10

Page 15: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

15

Mesures de performance : mesure F

P = .1 R = 1 P = 1 R = .4 P = .8 R = .8

F = .18 F = .33 F = .8

M = .55 M = .7 M = .8

P R M F

1 100 50.5 1.98

2 50 26 3.85

3 33.3 18 5.5

4 25 14.5 6.9

5 20 12.5 8

10 10 10 10

Page 16: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

16

Mesures de performance – exemple 2

Supposons d’avoir 20 verbes. En réalité la moitié des verbes appartient à la classe E, tandis que l’autre moitié appartient à un mélange d’autres classes qui ne nous intéressent pas. On l’appelle O. E est la classe d’observations expérimentales, tandis que O est la classe de contrôle.

Nous lançons notre algorithme et il nous dit que 8 verbes appartient à la classe E et 12 verbes appartient à la classe O.

•Voici un exemple des données résultats

Page 17: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

17

Mesures de performance

Verbe Verité Algorithme

Floated E O

Hiked E E

Hurried E O

Jumped E E

Leaped E E

Marched E E

Paraded E E

Raced E E

Rushed E O

Skipped E E

Verbe Verité AlgorithmeBorrowed O OCarved O OInherited O OKicked O EKnitted O OOrganised O OPainted O OPlayed O OTyped O EWashed O OYelled O O

Page 18: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

18

Mesures de performance

Quel sont le critères de performance qui nous intéressent?

Si l’algorithme me dit qu’un verbe est E, quel est la probabilité qu’il se trompe? Est-il précis?

Pour tous les verbes E qui m’intéressent, combien l’algorithme arrive-t-il à en trouver? A-t-il une bonne couverture?

Quel sont les erreurs possibles?

Verbes qui en réalité sont de E mais qui ont été classés comme OVerbes qui en réalité sont de O mais qui ont été classés comme E

Page 19: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

19

Mesures de performance Verbe Verité Algorithme

Floated E O

Hiked E E

Hurried E O

Jumped E E

Leaped E E

Marched E E

Paraded E E

Raced E E

Rushed E O

Skipped E E

Verbe Verité AlgorithmeBorrowed O OCarved O OInherited O OKicked O EKnitted O OOrganised O OPainted O OPlayed O OTyped O EWashed O OYelled O O

Algorithme

Effectifs

E O Total

E 7 3 10

O 2 8 10

Total 9 11 20

Page 20: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

20

Mesures de performance

Algorithme

Verité

E O Total

E 7 3 10

O 2 8 10

Total 9 11 20

Précision E = 7 / 9 O = 8/11

Rappel E = 7/10 O = 8/10

Exactitude E+O = 7+8/20

Page 21: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

21

Mesures de performance–-Formules générales

Algorithme

Verité

X X’ Total

X a b a+b

X’ c d c+d

Total a+c b+d a+b+c+d

Si la classe d’observation qui nous intéresse est X alors

Précision: a/a+c

Rappel: a/a+b

Exactitude de l’algorithme: a+d/a+b+c+d

Page 22: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

22

Attachement du SP: méthode basée sur le corpus

1. Annotation d’un corpus d’exemples de phrases spontanées.

2. Récolte de SPs dans le corpus avec la distinction entre complément du nom ou complément du verbe.

3. Création d’un algorithme apprenant automatiquement les règles qui régissent les différences entre complément du nom ou complément du verbe.

4. Implémentation de l’algorithme et son entraînement sur la base d’une partie du corpus.

5. Évaluation de la précision de l’algorithme sur la partie restante du corpus.

Représentativité

Exhaustivité, même si grande variabilité

Fiabilité de l’évaluation

Page 23: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

23

Étape 1

1. Annotation d’un corpus d’exemples de phrases spontanées

Questions: toutes le questions concernant l’annotation vue auparavant. Années de travail de conception et annotation.

Penn TreeBank

annotation syntaxique qui distingue les deux types d’attachement

Page 24: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

24

Exemples dans la PTB

( (S

(NP-SBJ

(NP (NNP Pierre) (NNP Vinken) )

(VP (MD will)

(VP (VB join)

(NP (DT the) (NN board) )

(PP-CLR (IN as)

(NP (DT a) (JJ nonexecutive)

(NN director) ))

(NP-TMP (NNP Nov.) (CD 29) )))

(. .) ))

( (S

(NP-SBJ (NNP Mr.) (NNP Vinken) )

(VP (VBZ is)

(NP-PRD

(NP (NN chairman) )

(PP (IN of)

(NP

(NP (NNP Elsevier) (NNP N.V.) )

(, ,)

(NP (DT the) (NNP Dutch)

(VBG publishing) (NN group) )))))

(. .) ))

Page 25: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

25

Étape 2

2a. Récolte des SPs dans le corpus avec la distinction entre complément du nom ou complément du verbe

Questions

Qu’est-ce qu’on veut extraire? Sous-arbre qui couvre

verbe, nom et SP

Comment arrive-t-on à extraire le sous-arbre couvrant

Verbe, nom et SP, étant donné les arbres de la PTB?

Programme disponible tgrep2

(Essayez)

Page 26: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

26

Étape 2

2b. Simplification et normalisation de données

• Tête d’un syntagme: nom pour SN, verbe pour SV etc.

• Lemmatisation : on utilise le lemme, soit l’infinitif pour les verbes et le singulier pour les noms. (Lemmatisation avec ER).

• On transforme le sous-arbre en une suite de têtes syntaxiques plus une valeur binaire qui indique le type d’attachement.

Exemple

manger pizza avec fourchette 1

manger pizza au fromage 0

Page 27: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

27

SP : n-uplets

VERB NOUN PREP NOUN2 ATTACH

abolish levy for concern 0

accept payment from Linear 0

accompany President on tour 0

accrue dividend at % 0

accumulate wealth across spectrum 0

yank balloon to ground 1

yield % at bank 1

yield % in offering 1

yield % in week 1

zip order into exchange 1

Page 28: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

28

Étape 3

3. Création d’un algorithme apprenant automatiquement les règles

qui régissent les différences entre complément du nom ou complément du verbe

Question: faut-il comprendre ce qu’on apprend ou pas?

Autrement dit, faut-il apprendre grâce à une explication ou par imitation?

La méthode basée sur les corpus utilise souvent l’apprentissage par imitation.

Page 29: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

29

Quel algorithme? Essayez

VERB NOUN PREP NOUN2

abolish levy for concern 0

accept payment from Linear 0

accompany President on tour 0

accrue dividend at % 0

accumulate wealth across spectrum 0

yank balloon to ground 1

yield % at bank 1

yield % in offering 1

yield % in week 1

zip order into exchange 1

Page 30: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

30

Étape 3 – Entraînement

Mémoriser les données d’entraînement,

c-à-d mémoriser les n-uplets (têtes,attachement)

si des exemples se répètent, mettre à jour un compteur

On obtient une base de données composé par tous les n-uplets observés avec leur fréquence.

Page 31: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

31

Étape 3 – Test (Collins et Brooks, 1995)

Pour chaque donnée de test, on utilise la suite de back-offs suivante :

si on a déjà vu la même donnée (la même séquence de 4 mots),

alors attachement = attachement à l’entraînement

sinon si on a vu une (ou plusieurs) sous-séquence(s) des 3 mots à l’entraînement,

alors attachement = attachement majoritaire

de la (moyenne des) sous-séquences des 3 mots

sinon si on a vu une (ou plusieurs) sous-séquence(s) des 2 mots à l’entraînement,

alors attachement = attachement majoritaire

de la (moyenne des) sous-séquences des 2 mots

sinon si on a vu une (ou plusieurs) sous-séquence(s) d’un mot à l’entraînement,

alors attachement = attachement majoritaire

de la (moyenne des) sous-séquences d’un mot

sinon attachement majoritaire

Page 32: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

32

Étape 3 – Test (Collins et Brooks, 1995)

Pour chaque donnée de test

if (verbe nom prép. nom2) in n-uplets d’entraînement

alors attachement = attachement du n-uplet

elsif (verbe nom prép.), (nom prép. nom2) ou (verbe prép. nom2) in n-uplets d’entraînement

alors attachement = attachement majoritaire de

(verbe nom prép.) + (nom prép. nom2) + (verbe prép. nom2)

elsif (verbe prép.), (nom prép.) ou (prép. nom2) in n-uplets d’entraînement

alors attachement = attachement majoritaire de

(verbe prép.) + (nom nom2) +(prép. nom2)

elsif (prép.) in n-uplets d’entraînement

alors attachement = attachement majoritaire de prép.

sinon attachement majoritaire dans le corpus d’entraînement

Page 33: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

33

Back-off

Notes à propos de l’algorithme de Collins et Brooks (1995) :

• On utilise un suite de back-offs : s’il n’y a aucunes données à un niveau donné, on utilise plutôt de niveau suivant, plus général, moins précis (mais qui contient des données!).

• C’est un back-off « pur » : ici, on ne passe au niveau suivant que lorsqu’il n’y a aucunes données.

• Collins et Brooks ont constaté que c’était le back-off optimal pour ce problème.

• Ce n’est pas le cas pour la modélisation n-gram de langages, par exemple.

Page 34: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

34

Back-off

Autres méthodes de back-off :

• On passe au niveau suivant si il y a trop peu de données, par ex. « moins de 5 ».

• « Back-off smoothing » : une formule qui passe graduellement au niveau suivant quand la quantité de données diminue.

Exemple : la méthode de Hindle et Rooth, 1993 :• Premier niveau : f(n,p) / f(n) ou f(v,p) / f(v), c-à-d fréquence

d’utilisation de la préposition avec le nom ou le verbe donné.• Deuxième niveau : f(N,p) / f(N) ou f(V,p) / f(V), c-à-d fréquence

d’utilisation de la préposition avec n’importe quel nom ou verbe.• p(prép.|nom) estimé par [f(n,p) + f(N,p)/f(N)] / [f(n) + 1].• p(prép.|verbe) estimé par [f(v,p) + f(V,p)/f(V)] / [f(v) + 1].• L’attachement se fait là où la probabilité est plus élevée.

Page 35: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

35

Étape 4

4. Implémentation de l’algorithme et son entraînement sur la

base d’une partie du corpus

Page 36: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

36

Exemple#!/usr/bin/perl –wuse strict; use warnings;

# Computes: collects tuples and updates counts# Loads: n-uplets <verbe nom prep nom2 attachement>

my (%noms, %verbes, $noms, $verbes);open(TRAINING, "training-quads") or die "Can’t open training-quads: $!\n";

while (<TRAINING>) {

my ($v, $n, $p, $n2, $a) = split;

if ($a == 0) {$noms{"$v $n $p $n2"}++;$noms{"$v $p $n"}++;$noms{"$n $p $n2"}++;$noms{"$v $p $n2"}++;$noms{"$v $p"}++;$noms{"$n $p"}++;$noms{"$p $n2"}++;$noms{$p}++;$noms++;

} else …

… {$verbes{"$v $n $p $n2"}++;$verbes{"$v $p $n"}++;$verbes{"$n $p $n2"}++;$verbes{"$v $p $n2"}++;$verbes{"$v $p"}++;$verbes{"$n $p"}++;$verbes{"$p $n2"}++;$verbes{$p}++;$verbes++;

} }

Page 37: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

37

Étape 5 – Évaluation

5. Évaluation de la précision de l’algorithme sur un échantillon de nouvelles phrases

Exemple partiel en Perl :

open(TESTING, "testing-quads") or die "Can’t open testing-quads: $!\n";

while (<TESTING>) {

my ($v, $n, $p, $n2, $a) = split;

deviner l’attachement

calculer la précision des réponses

}

imprimer les résultats

Page 38: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

38

SP : évaluation

Résultats de Collins et Brooks (1995) :

Niveau Total Correct Précision (%)

Quadruplets 242 224 92.6

Triplets 977 858 87.8

Doublets 1739 1433 92.4

Simplets 136 99 72.8

Restant 3 3 100.0

Total 3097 2617 84.5

Page 39: 1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles Implémentation en Perl Évaluation

39

SP : évaluation

Performance minimum et maximum pour Collins et Brooks (1995) :

Méthode Précision (%)

Attache toujours au nom 59.0

Attachement majoritaire de prép. 72.2

Moyenne de trois humains (quadruplets) 88.2

Moyenne de trois humains (toute la phrase) 93.2