1 Mettre tout ça ensemble Exemple de problème: Attachement du SP Le problème Méthodes possibles...

Preview:

Citation preview

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

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.

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.

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(. .) ))

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)

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

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

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.

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

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.

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

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

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.

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.

35

Étape 4

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

base d’une partie du corpus

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++;

} }

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

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

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

Recommended