Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger,...

8
Statistiques descriptives ethodes probabilistes pour le TAL Guillaume Wisniewski [email protected] novembre 2017 Universit´ e Paris Sud & LIMSI 1 Objectif Comment analyser des donn´ ees collect´ ees ? Comment extraire des connaissances g´ en´ erales ? Quel type de questions peut-on poser ? Quelles sont les limites de inf´ erence statistique ? 2 Population versus ´ echantillon (source : Wikipedia) objectif : mesurer une propri´ et´ e d’une population = tous les ´ el´ ements d’int´ erˆ et en g´ en´ eral : on n’a acc` es qu’` a un ´ echantillon = sous-ensemble de la population quand et comment sont li´ es la mesure de la propri´ et´ e sur la population et sur l’´ echantillon inf´ erence statistique 3 Remarques Seule la mesure sur la totalit´ e de la population a un int´ erˆ et notion de en´ eralisation Tout biais dans la mani` ere dont l’´ echantillon est s´ electionn´ e peut entrainer une erreur dans la mesure Pourquoi se limiter ` a des ´ echantillons : essentiellement des raisons computationelles pr´ esentation orient´ ee TAL ´ echantillon de grande taille (plusieurs centaines, voir milliers d’´ el´ ements) ´ echantillon choisi au hasard (par opposition ` a la th´ eorie des sondages) : quid de l’expertise de la personne qui s´ electionne l’´ echantillon en g´ en´ eral : param` etre = description de la population, statistique = description de l’´ echantillon 4 Grande question Comment r´ eduire la diff´ erence entre la valeur mesur´ ee sur la population et la valeur mesur´ ee sur l’´ echantillon ? 5 Premi` ere partie I Exemple n o 1 : estimation de confiance en traduction automatique 6

Transcript of Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger,...

Page 1: Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger, data, listener=SimpleListener())[0]) 34 Resultat % 0.03681346709743241 0.03516635062920186

Statistiques descriptives

Methodes probabilistes pour le TAL

Guillaume Wisniewski

[email protected]

novembre 2017

Universite Paris Sud & LIMSI

1

Objectif

• Comment analyser des

donnees collectees ?

• Comment extraire des

connaissances generales ?

• Quel type de questions

peut-on poser ?

• Quelles sont les limites de

inference statistique ?

2

Population versus echantillon

(source : Wikipedia)

• objectif : mesurer une propriete d’une population = tous les

elements d’interet

• en general : on n’a acces qu’a un echantillon = sous-ensemble

de la population

• quand et comment sont lies la mesure de la propriete sur la

population et sur l’echantillon

inference statistique3

Remarques

• Seule la mesure sur la totalite de la population a un interet ⇒notion de generalisation

• Tout biais dans la maniere dont l’echantillon est selectionne

peut entrainer une � erreur � dans la mesure

• Pourquoi se limiter a des echantillons : essentiellement des

raisons � computationelles �

• presentation orientee TAL• echantillon de grande taille (plusieurs centaines, voir milliers

d’elements)

• echantillon choisi au hasard (par opposition a la theorie des

sondages) : quid de l’expertise de la personne qui selectionne

l’echantillon

• en general : parametre = description de la population,

statistique = description de l’echantillon

4

Grande question

Comment reduire la difference entre la valeur mesuree sur la

population et la valeur mesuree sur l’echantillon ? 5

Premiere partie I

Exemple no 1 : estimation de

confiance en traduction

automatique

6

Page 2: Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger, data, listener=SimpleListener())[0]) 34 Resultat % 0.03681346709743241 0.03516635062920186

Contexte

La tache

• entree : traduction automatique

• sortie : est-ce que cette traduction necessite beaucoup d’effort

pour etre corrigee (note entre 1 et 5)

• campagne d’evaluation WMT (depuis 2012)

Donnees

• 1 832 + 422 traductions automatiques avec un jugement de

qualite

• jugement = moyenne ponderee des notes donnees par 3

annotateurs

7

En pratique : guide d’annotation

1. The MT output is incomprehensible, with little or no

information transferred accurately. It cannot be edited, needs

to be translated from scratch.

2. About 50% -70% of the MT output needs to be edited. It

requires a significant editing effort in order to reach

publishable level.

3. About 25%-50% of the MT output needs to be edited. It

contains different errors and mistranslations that need to be

corrected.

4. About 10%-25% of the MT output needs to be edited. It is

generally clear and intelligible.

5. The MT output is perfectly clear and intelligible. It is not

necessarily a perfect translation, but requires little to no

editing.8

En pratique : les donnees

$ training_set_annotations git:(master) > head -5 target_system.effort

4.5

4.3

4.0

4.0

3.8

$ QualityEstimation git:(master) > head -5 training_set/target_system.spa

Barack Obama se convierte en el cuarto presidente estadounidense para recibir el Premio Nobel de la Paz

El presidente estadounidense Barack Obama va a volar en Oslo, Noruega, por 26 horas para recibir el Premio Nobel de la Paz, el cuarto presidente estadounidense en la historia de hacerlo.

l recibiran un diploma, medalla y cheque de 1,4 millones de dolares por su excepcional esfuerzos para mejorar la diplomacia global y fomentar la cooperacion internacional, entre otras cosas.

El jefe de la Casa Blanca estara volando en la ciudad noruega en la ma~nana con su esposa Michelle y tendra una apretada agenda.

9

Campagne d’evaluation

C’est bien...

• production de donnees annotees

• � standardisation � d’un protocol experimental

• comparer differentes approches dans des conditions identiques

• mesurer le progres sur une tache donnee

• aujourd’hui : plusieurs dizaines de campagne par an

...mais ca ne sert a rien

• tres peu d’analyse d’erreurs

• difficile de comprendre les differences / resultats

• limite des approches ou limite des donnees

• fuite en avant : multiplier les questions pour cacher le fait que

l’on n’a pas de reponse 10

1re question : que faire avec ces donnees ?

d’apres Wisniewski, et al., MT Journal 2013

• la plupart des participants : extraction de caracteristiques, puis

lancement de tous les algorithmes d’apprentissage de la terre

• et pourtant :

11

Encore plus � drole �

12

Page 3: Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger, data, listener=SimpleListener())[0]) 34 Resultat % 0.03681346709743241 0.03516635062920186

Moralite

Toujours regarder lesdonnees

• statistique descriptive

(moyenne, mediane,

variance, ...)

• representation graphique

13

Importance de la representation graphique

14

Representation des distributions/donnees

• histogramme

• scatter plot

15

Histogramme

16

Construction histogramme

17

Impact du choix des bins

Aucun moyen de determiner automatiquement la taille des bins de

maniere convaincante (a ma connaissance)

18

Page 4: Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger, data, listener=SimpleListener())[0]) 34 Resultat % 0.03681346709743241 0.03516635062920186

Kernel Density Estimation

19

Accord inter-annotateur

Principe

• Objectif : mesurer la qualite d’une annotation

• 2 annotateurs annotent les memes donnees cher !

• mesures statistiques de leur accord

Principe

• κ de Cohen :

κ =po − pe1− pe

= 1− 1− po1− pe

(1)

po : probabilite que deux elements aient la meme etiquette, pe

probabilite que deux elements aient la meme etiquette lorsque

celles-ci sont choisies au hasard

• sinon : coefficient π de Scott, generalisation de Fleiss, ICC, ... 20

Difficulte

• cout

• interpretation

21

Deuxieme partie II

Exemple no 2 : evaluation des

performances d’un classifieur

22

Contexte

• systeme qui realise des predictions ⊕ fonction de cout

• objectif : evaluer la qualite des predictions sur des donnees

inconnues (generalisation)

• estimation de l’erreur sur un corpus de test

Que peut-on dire de l’erreur sur un autre ensemble de donnees

23

Exemple : PoS tagging

La tache[["Les", "DET", "DET"], ["commotions", "NOUN", "NOUN"], ["cerebrales", "ADJ", "ADJ"], ["sont",

"VERB", "AUX"], ["devenu", "VERB", "VERB"], ["si", "ADV", "ADV"], ["courantes", "ADJ", "ADJ"],

["dans", "ADP", "ADP"], ["ce", "DET", "DET"], ["sport", "NOUN", "NOUN"], ["qu’", "SCONJ",

"SCONJ"], ["on", "PRON", "PRON"], ["les", "PRON", "PRON"], ["considere", "VERB", "VERB"],

["presque", "ADV", "ADV"], ["comme", "ADV", "ADV"], ["la", "DET", "DET"], ["routine", "NOUN",

"NOUN"], [".", "PUNCT", "PUNCT"]]

Conditions experimentales

• corpus d’apprentissage : UD 1.3

• corpus de test : UD 1.3 (in-domain) ⊕ Tweet parlant de foot

(out-domain)

• modele : perceptron moyenne (en premiere approximation)

24

Page 5: Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger, data, listener=SimpleListener())[0]) 34 Resultat % 0.03681346709743241 0.03516635062920186

Courbe d’apprentissage

25

Que peut-on en deduire ?

Evaluation in-domain

• l’erreur en apprentissage continue de descendre lentement bien

apres que l’erreur en generalisation ait convergee ⇒sur-apprentissage

• erreur finale autour de 3% ⇒ l’apprentissage c’est bien c©• mieux qu’un etre humain

• enormement d’etiquettes triviales (ponctuation !). Autre

mesure : phrase sans aucune erreur 40%

• en donnant l’etiquette majoritaire aux mots ambigus : erreur

≤ 10%. Qu’apprend-on vraiment ?

Evaluation out-domain

• explosion du nombres d’erreurs

• vraiment ?26

Les donnees i

Observations

• Ca va faire un petit Juventus - Barca , excellent

aha

• Ca c’ est de l’ attaque ! La BBC #HalaMadrid

#RealMadrid http://t.co/iCknoGm9mF

• Je sens qu’ entre ca et les films de medecins et

scientifiques fous que nous avons deja vus , nous

pourrions emprunter un autre chemin pour

l’origine

27

Les donnees ii

Etiquettes

• Foot : [(’PART’, 31), (’NUM’, 131), (’INTJ’, 142),

(’ADP+DET’, 180), (’SCONJ’, 180), (’E’, 210), (’CONJ’,

222), (’URL’, 226), (’SYM’, 370), (’SHARP’, 389), (’ADJ’,

424), (’X’, 508), (’ADV’, 522), (’AT’, 550), (’PRON’, 926),

(’ADP’, 1097), (’DET’, 1338), (’NOUN’, 1570), (’PROPN’,

1614), (’VERB’, 1653), (’PUNCT’, 1702)]

• UD : [(’INTJ’, 77), (’SYM’, 441), (’X’, 653), (’PART’, 1633),

(’SCONJ’, 2524), (’CONJ’, 9012), (’NUM’, 9575),

(’ADP+DET’, 9703), (’ADV’, 11495), (’PRON’, 15928),

(’ADJ’, 20098), (’PROPN’, 27963), (’PUNCT’, 39335),

(’VERB’, 40064), (’DET’, 44994), (’ADP’, 47379), (’NOUN’,

65596)]

28

Moralite

Aligner des tableaux de chiffresc’est facile, mais ce n’est pas

de la science !

Toujours, toujours regarder les donnees

29

Exemple

d’apres Wisniewski, et al., EMNLP’14

30

Page 6: Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger, data, listener=SimpleListener())[0]) 34 Resultat % 0.03681346709743241 0.03516635062920186

Et pourtant...

https://medium.com/@emilymenonbender/

linguistics-nlp-and-interdisciplinarity-or-look-at-your-data-e49e03d37c9c

31

Est-ce toujours aussi facile ?

d’apres Aufrant, et al., COLING’16

32

Impact de l’echantillonnage

• erreur sur les corpus de dev et de test est sensiblement

different

• Experience :

• extraction aleatoire d’un � sous-corpus � de test (500 phrases)

• estimation de l’erreur sur ce sous-corpus

• on recommence

⇒ distribution des moyennes echantillonnees (distribution of

sample means)

33

En pratique

import pickle

import json

from dependency_parser import test_pos_tagger

from listener import SimpleListener

from random import sample

tagger = pickle.load(open("fr.pos.pkl", "rb"))

test_set = json.load(open("data/pos/fr.ud13.test.json")) + \

json.load(open("data/pos/fr.ud13.dev.json"))

test_set = [list(zip(*sentence))[:2] for sentence in test_set]

for i in range(1000):

data = sample(test_set, 500)

print(test_pos_tagger(tagger, data, listener=SimpleListener())[0])

34

Resultat

% 0.03681346709743241

0.03516635062920186

0.03550346479596202

0.03738159675236807

0.03514047598590944

0.03278278278278278

0.037349296012140626

0.03777335984095427

0.03688457105219826

0.034659607908015554

0.03456041576440017

0.03728726588557257

0.03837219306547363

0.038971876825502794

0.03871909340659341

0.03715753424657534

0.03550553956206927

0.03864412426084784

0.032862644415917845

0.03804755944931164

0.035037957787603234

0.03612740989103101

0.03362648732540093

0.03391793514228988

0.03611509577250865

35

Pour la visualisation

import seaborn as sns

import matplotlib.pyplot as plt

data = [float(l) for l in open("scores_subsample=500.txt")]

sns.distplot(data);

plt.xlabel("%erreur")

plt.ylabel("densite")

36

Page 7: Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger, data, listener=SimpleListener())[0]) 34 Resultat % 0.03681346709743241 0.03516635062920186

Soit...

37

Analyse

Sur l’evaluation

• beaucoup de variations

• en fonction du corpus, l’erreur varie entre 3,03% et 4,18%

Sur la distribution des erreurs

• la distribution des moyennes est distribuee selon une loi

normale

• central limit theorem

38

Troisieme partie III

Intervalle de confiance

39

Rappel

Sampling distribution

• estimer une valeur (ici : erreur) a partir d’un grand nombre de

sous-echantillons

• � grande � variabilite

• principe du boostraping

A quoi ca sert ?

• que peut-on en deduire sur la � vraie � valeur du parametre ?

• point estimate versus interval estimate

• deux outils statistiques :

• intervalle de confiance

• test d’hypotheses

40

Intervalle de confiance

• µ : valeur estimee a partir d’un echantillon

• µ est une variable aleatoire

• A quel point µ est proche de µ, la valeur du parametre ?

⇒ chercher un intervalle tel que pour 95% des echantillons, µ

sera dans l’intervalle

• en pratique l’intervalle estime sera :

µ± 1.96

√σ2

n

41

Pourquoi ?

• les echantillons sont distribues selon une loi normale

• on peut calculer la constante pour n’importe quelle taille

d’intervalle

42

Page 8: Exemple n 1 : estimation de · 2019-08-27 · 1 Objectif Remarques ... (test_pos_tagger(tagger, data, listener=SimpleListener())[0]) 34 Resultat % 0.03681346709743241 0.03516635062920186

En pratique : table Z

43

Interpretation

La relation

µ± 1.96

√σ2

n

L’intervalle est d’autant plus grand que

• la taille de l’echantillon est petite

• la variance (a estimer) de la distribution des echantillons est

grande

La notion

• si on estime 100 intervalles de confiance a 95%, 5% ne

contiendront pas la vraie valeur de p

• aucune information sur la distribution de p (c’est une valeur

fixe)44