Cours 5 - PowerPoint PPT Presentation

About This Presentation
Title:

Cours 5

Description:

Une information inconnue vient d'une source et passe par un canal de communication bruit ... 1] avec tous les n-grammes qui commencent par m2m3...mn et on en ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 24
Provided by: lapo4
Category:
Tags: commencent | cours

less

Transcript and Presenter's Notes

Title: Cours 5


1
Cours 5
  • Formule de Bayes
  • Programmation dynamique
  • Automates à poids
  • Algorithme "avant"
  • n-grammes
  • Modèles de Markov
  • Modèles de Markov cachés
  • Algorithme de Viterbi

2
Le modèle du canal bruité
  • Étiquetage lexical
  • On connaît les tokens, on veut deviner les
    étiquettes
  • Canal bruité
  • Une information inconnue vient d'une source et
    passe par un canal de communication bruité
  • On obtient une autre information (observation o)
  • On veut deviner l'information originale s
  • Correction orthographique
  • Information originale le texte correct
  • Observation le texte avec les fautes
  • On veut deviner le texte correct

3
Formule de Bayes
  • P(so)
  • probabilité que l'information originale soit s
    sachant que l'observation est o
  • valeur entre 0 et 1
  • argmaxs?S P(so)
  • la valeur de s?S pour laquelle P(so) est
    maximal
  • P(so) P(o) P(os) P(s)
  • formule de Bayes
  • argmaxs?S P(so) argmaxs?S P(os) P(s) /P(o)
  • argmaxs?S P(os) P(s)
  • car P(o) ne dépend pas de s

4
Exemple correction orthographique
  • e mot incorrect c mot correct
  • On veut argmaxc?C P(ce) argmaxc?C P(ec) P(c)
  • On calcule P(ec) P(c) pour tous les c proches de
    e
  • P(c)
  • Corpus d'apprentissage avec des mots corrects
  • P(c) nb_occ(c)/N N nombre de mots dans le
    corpus
  • P(ec)
  • Corpus d'apprentissage avec erreurs
  • On classe les erreurs en suppressions,
    insertions, substitutions et transpositions
  • On compte le nombre d'erreurs pour chaque lettre
    ou paire de lettres
  • On en déduit une approximation de la probabilité
    de chaque erreur

5
Distance d'édition
  • Dans le modèle précédent, pour simplifier le
    calcul de P(ec), on suppose qu'il y a une seule
    erreur par mot
  • Il peut y avoir plusieurs erreurs par mot
  • Distance d'édition entre c et e
  • nombre minimal d'opérations (suppressions,
    insertions, substitutions) nécessaires pour
    passer de c à e
  • Exemple la distance entre plouc et pneu est 3
  • plouc pnouc pneuc pneu
  • Si la probabilité d'une erreur est p et s'il y a
    3 erreurs, une approximation de P(ec) est p3

6
Programmation dynamique
  • Algorithme de calcul de la distance d'édition
  • Si pneuc fait partie d'un chemin minimal de plouc
    à pneu, alors ce chemin doit commencer par un
    chemin minimal de plouc à pneuc
  • Matrice de distances
  • c
  • u
  • o
  • l 2 1 1 2 3
  • p 1 0 1 2 3
  • 0 1 2 3 4
  • p n e u
  • source plouc cible pneu

7
Programmation dynamique
  • distancei,j distance minimale entre les i
    premiers caractères de la source et les j
    premiers caractères de la cible
  • c 5 4 4 4 3
  • u 4 3 3 3 2
  • o 3 2 2 2 3
  • l 2 1 1 2 3
  • p 1 0 1 2 3
  • 0 1 2 3 4
  • p n e u
  • distancei, j min(distancei-1,jcost_inst(ci
    blei),
  • distancei-1,j-1cost_subst(sourcej,ciblei
    ),
  • distancei,j-1cost_suppr(sourcej))

8
Programmation dynamique
  • Calculer les valeurs de distancei,j dans un
    certain ordre
  • distancei-1,j, distancei-1,j-1 et
    distancei,j-1 doivent être disponibles quand on
    calcule distancei,j
  • c 5 4 4 4 3
  • u 4 3 3 3 2
  • o 3 2 2 2 3
  • l 2 1 1 2 3
  • p 1 0 1 2 3
  • 0 1 2 3 4
  • p n e u

9
Automates à poids
  • Un automate des erreurs sur le mot pneu (à partir
    d'un corpus d'apprentissage ou d'un modèle de
    causes d'erreurs)
  • Le poids représente la probabilité qu'on passe
    par cette transition quand on sort de cet état

0,05
0,003
0,15
0,9
0,9
0,8
0,095
u

p
n
e
1
1
1
0,05
0,1
i
m
b
0,05
r
0,002
10
Calculer la probabilité d'une séquence
  • Application calcul de P(ec) pour la correction
    orthographique
  • Une séquence e correspond à un ou plusieurs
    chemins de l'automate
  • On fait la somme des probabilités correspondant à
    ces chemins
  • Pour chaque chemin, on fait le produit des poids
  • Algorithme "avant" (forward algorithm)

0,05
0,003
0,15
0,9
0,9
0,8
0,095
u

p
n
e
1
1
1
0,05
i
0,1
m
b
0,05
r
0,002
11
Algorithme "avant"
  • Programmation dynamique
  • Source les états de l'automate à poids
  • Cible l'observation e
  • probs,j probabilité d'observer les j premiers
    mots de e en suivant un chemin de l'automate
    allant jusqu'à l'état s
  • probs,j ?q probq,j-1aqsbsj
  • aqs poids de la transition de l'état q à l'état
    s
  • bsj vaut 1 si l'état s correspond à ej, 0 sinon
  • Les états de l'automate à poids doivent être
    classés de telle sorte que toutes les sources des
    transitions entrant dans s soient avant s

12
Algorithme "avant"
  • probs,j ?q probq,j-1aqsbsj
  • i 0 0 0 0 0
  • u 0 0 0 0 amamnanraru
  • r 0 0 0 amamnanr
  • e 0 0 0 0 0
  • b 0 0 0 0 0
  • n 0 0 amamn 0 0
  • m 0 am 0 0 0
  • p 0 0 0 0 0
  • 1 0 0 0 0
  • m n r u
  • Résultat probu,4 amamnanraru 0,0001

13
n-grammes
  • On cherche à deviner un token en connaissant les
    précédents
  • P(mkm1m2...mk-1) probabilité de mk après
    m1m2...mk-1
  • On se limite aux n-1 tokens précédents
    P(mkmk-n1...mk-1)
  • On utilise des statistiques sur les suites de n
    tokens (n-grammes)
  • On fait les statistiques à partir d'un corpus
    (apprentissage supervisé)
  • n 2 (bigrammes) après le, bain est plus
    probable que objets
  • P(bainle) gt P(objetsle)
  • P(mkmk-1) nb_occ(mk-1mk)/nb_occ(mk-1)
  • n 3 (trigrammes) après dans le, bain est plus
    probable que calculer
  • P(baindans le) gt P(calculerdans le)
  • P(mkmk-2mk-1) nb_occ(mk-2mk-1mk)/nb_occ(mk-2mk
    -1)

14
n-grammes
  • Probabilité d'une séquence de tokens avec un
    modèle trigramme
  • P(m1m2...mk-1mk) ?1?i?k P(mimi-2mi-1)
  • Les probabilités sont souvent très faibles
  • Les produits de plusieurs probabilités encore
    plus
  • On utilise les logarithmes des probabilités
  • On additionne au lieu de multiplier
  • Plus n est élevé
  • - plus les probabilités sont faibles
  • - plus les n-grammes sont nombreux (exponentiel)
  • - plus la prédiction est efficace

15
n-grammes
  • Génération aléatoire avec un modèle n-gramme
  • On couvre l'espace de probabilités 0,1 avec
    tous les n-grammes (chacun occupe un espace
    proportionnel à sa probabilité)
  • On choisit un nombre aléatoirement entre 0 et 1
    et on écrit le n-gramme qui contient ce nombre
  • Pour choisir le mot suivant, on couvre 0,1 avec
    tous les n-grammes qui commencent par m2m3...mn
    et on en choisit un aléatoirement
  • etc.
  • Modèle unigramme de Shakespeare
  • To him swallowed confess near both. Which. Of
    save on trail for are ay device and rote life
    have
  • Modèle bigramme de Shakespeare
  • What means, sir. I confess she? then all sorts,
    he is trim, captain.

16
n-grammes
  • Modèle trigramme de Shakespeare
  • Sweet prince, Falstaff shall die. Harry of
    Monmouth's grave.
  • Modèle 4-gramme de Shakespeare
  • King Henry. What! I will go seek the traitor
    Gloucester. Exeunt some of the watch. A great
    banquet serv'd in
  • Modèle bigramme du Wall Street Journal
  • Last December through the way to preserve the
    Hudson corporation N.B.E.C. Taylor would seem to
    complete the major central planners one point
    five percent of U.S.E. has already old M.X.
    corporation of living on information such as more
    frequently fishing to keep her
  • Modèle trigramme du Wall Street Journal
  • They also point to ninety nine point six billion
    dollars from two hundred four oh six three
    percent of the rates of interest stores as
    Mexicon and Brazil on market conditions.

17
Modèle de Markov
  • Modèle de probabilités dans lequel la probabilité
    de mk ne dépend que des n éléments qui précèdent
    (modèle de Markov d'ordre n)
  • P(mkm1m2...mk-1) P(mkmk-n...mk-1)
  • On le représente par un automate à poids
  • Chaque état de l'automate correspond à un
    n-gramme
  • Le poids de la transition de m1m2...mn à
    m2m3...mn1 est P(mn1 m1m2...mn)
  • Un modèle d'ordre n correspond donc à un modèle
    n1-gramme

18
Un modèle de Markov d'ordre 1
19
Modèle de Markov caché
  • Les observations o sont distinctes des états s de
    l'automate
  • La probabilité de o ne dépend que de l'état
    courant
  • P(os) probabilité d'observer o quand on est dans
    l'état s
  • P(sq) probabilité de passer dans l'état s quand
    on est dans l'état q
  • Pour une suite d'états
  • P(s1s2...sn) P(s1)P(s2s1)P(s3s2)...P(snsn-1)
  • Pour une suite d'états et d'observations
  • P(o1o2...ons1s2...sn,) P(o1s1)P(o2s2)...P(on
    sn)

20
Application à l'étiquetage
  • On recherche l'étiquette s de race pour laquelle
    P(TO sto race) est maximale
  • argmaxs?S P(TO sto race) argmaxs?S P(to
    raceTO s) P(TO s)
  • argmaxs?S P(races) P(sTO)
  • s NN
  • P(raceNN) P(NNTO) 0,00041 0,021 0,000007
  • s VB
  • P(raceVB) P(VBTO) 0,00003 0,34 0,00001
  • Conclusion
  • L'étiquette correcte de race dans to race est
    probablement VB

21
Exemple bigramme
P(VBDT)
P(DT)
VB
DT

NN
P(NNDT)
P(VBNN)
P(NNNN)
P(canNN) P(smellsNN)
P(canVB) P(smellsVB)
P(theDT)
22
Application à l'étiquetage
  • Les observations sont les tokens du texte
  • On veut argmaxs?S P(sm) où m est la séquence de
    tokens
  • argmaxs?S P(sm) argmaxs?S P(ms) P(s)
  • argmaxs?S ?1?i?kP(misi) ?1?i?kP(sisi-n1...si
    -1)
  • On estime ces valeurs à l'aide d'un corpus
    étiqueté (apprentissage supervisé)
  • P(misi) nb_occ(mi, si)/nb_occ(si)
  • P(sisi-n1...si-1) nb_occ(si-n1...si-1si)/nb_o
    cc(si-n1...si-1)
  • Pour trouver la meilleure valeur de s
    algorithme de Viterbi

23
Algorithme de Viterbi
  • Programmation dynamique
  • Source les états du modèle de Markov
  • Cible l'observation m
  • probs,j probabilité maximale d'observer les j
    premiers mots de m en suivant un chemin de
    l'automate allant jusqu'à l'état s
  • probs,j maxq (probq,j-1aqsbsj)
  • aqs P(sq)
  • bsj P(mjs)
  • Une fois la matrice remplie, on retrouve un
    chemin qui a donné la probabilité maximale dans
    la dernière colonne et on en déduit les états
    correspondants
Write a Comment
User Comments (0)
About PowerShow.com