1.6 Prinipe de fontionnement d'un moteur de reonnaissane
1.6.1 L'algorithme de Viterbi
1.6.1.1 Le prinipe de Viterbi
Nous herhons ii à déterminer la séquene d'états maximisant
P(O|M)
. Le système à résoudrepeutsereprésentersous laformed'ungrapheàdeux dimensions:laséquene d'obser-vationsen absisse,lemodèleM
en ordonnée.LaFigure1.5représenteuntelgraphepourunexempled'uneséquenede10observationset unmodèledeMarkovahéàtroisétatsàtopologiedetransitiongauhe-droite.Dansegraphe, unn÷udreprésenteunétat
i
dumodèlepouruneertaineobservationo
taveunevaleurassoiée égaleàb
i(o
t)
. Lesars orrespondent auxtransitions d'unétati
à un étatj
(i
peutêtre égal àj
) etontomme valeur assoiéelaprobabilité detransitiona
ij (.f.setion 1.4.1).O1 O2 O3 O4 O5 O6 O7 O8 O9 O10
Fig. 1.5 Graphe de Viterbi pour un HMM à 3 états gauhe-droite et une séquene de 10 observations
La solution se présente ainsi sous la forme d'un hemin ayant omme origine un état du modèledeMarkovautemps
t= 1
etommeextrémitéunétatdumodèleautempst=T
.Dans l'exemple de lagure 1.5, latopologie du modèle de Markovest gauhe-droite, e qui impliquedes ontraintes supplémentaires sur les hemins possibles. En eet, le hemin doit forément débuter danslepremier état du modèleet terminerdansledernier étatde elui-i. A partirde ette représentation graphique du problème,l'emploi d'un algorithme de reherhe du meilleur hemin dansungraphe semblenaturel.
L'algorithme de Viterbi permet d'eetuer ette reherhe en s'appuyant sur le prinipe d'optimalitéde Bellman.
1.6.1.2 Le prinipe d'optimalitéde Bellman
Le prinipe d'optimalité de Bellman utilisé en programmation dynamique peut s'appliquer dansleadrede lareherhede hemindansun grapheets'exprime ainsi:imaginonsquenous onnaissions lehemin optimal pourarriveren
A
1,A
2 etA
3 (Figure 1.6).A1
A2
A3
B
Fig.1.6 Exemple d'unextrait degraphe and'illustrer leprinipe d'optimalitéde Bellman.
Alors, leheminoptimal pouraller en
B
,donnépardcumul(B)
,est :dcumul(B) = min
dcumul(A
1) +d(A
1, B)
dcumul(A
2) +d(A
2, B)
dcumul(A
3) +d(A
3, B)
dcumul(A
i)
étant la distane umulée pour arriver au pointA
i, etd(A
i, B)
la distane loale pouraller deA
i àB
,∀i∈ {1,3}
.1.6.1.3 L'algorithme de Viterbi
En se reportant à la Figure 1.5 et en utilisant le prinipe d'optimalité de Bellman, nous onstatonsqueles soresumuléspourhaqueétatdu modèledeMarkovautemps
t
dépendent seulement :dessoresumulés pourhaque étatau tempspréédent
t−1
,desprobabilités detransitionentre lesétats du temps
t−1
eteux dutempst
, desprobabilités d'émissionde l'observationo
t parles états duHMM.Soit
δ
t(j)
laprobabilitédumeilleurheminquis'arrêteàlatramet
àl'étatj
duHMM,nous obtenons alorslarelation suivante:δ
t(j) = max
i
δ
t−1(i)×a
ij×b
j(o
t)
(1.5)
L'algorithmedeViterbiestfondésuretterelationderéurrenequipermetàhaqueinstant
t
de onnaîtrelaprobabilitédumeilleur hemin menantà l'étatj
dumodèle.Deette manière,tousles hemins possibles sont parouruset lesore du meilleur hemin est onnu.Nousavons deplus larelationsuivantequilie l'équation 1.5auproblème initial:
P(O|M) = max
i
δ
T(i)
(1.6)l'algorithmede Viterbi sedéompose ainsi:
Initialisation :
δ
0(i) = π
i, la probabilité initiale d'être dans un des états du modèle de Markov.Réurrene :autemps
t
pourhaqueétati
dumodèlenousalulonsδ
t(i)
parl'équation 1.5qui ne dépendque desδ
t−1.Terminaison :pourhaque état
i
du modèle,nousherhonsδ
T(i)
maximal.Nous obte-nonsainsiP(O|M)
(voirEq. 1.6).L'algorithmene dépendantainsi quedunombred'étatsdu modèleet, pourun temps
t
,que dessores umulés du tempst−1
,la omplexité devient linéaire parrapport à la longueur de la séquene d'observations. Un deuxième point important de et algorithme est qu'il est non seulement possible d'estimermax
QP(O|M, Q)
,maissurtout deonnaître lameilleure séqueneQ
. En eet, il sut de onserverpourhaque meilleur hemin les états par lesquels e hemin estpassé.1.6.1.4 Algorithme de Viterbi dans le as d'une phrase
Dans la setion préédente, nousavons expliqué l'algorithme de Viterbi dans leas général d'unmodèledeMarkovahé
M
pouralulerP(O|M)
.Grâeàetalgorithme,pourunmodèle donné, nouspouvons déterminerla séquene d'alignement des états du modèle sur la séquene d'observations.Le prinipe pour eetuer la reonnaissane d'une phrase est le même. Nous allons en fait onstruire un méta-modèle de Markov ahé dans lequel haque méta-état représente un mot dulexique. Le méta-modèle estergodique, toutes les transitions entre méta-états sont possibles et dépendent du modèle de langage. Ainsi, la meilleure séquene de méta-états alulée par l'algorithmede Viterbiorrespond à unephrase,la solutiondu systèmede reonnaissane.
Trouver la séquene de mot
W
∗ maximisant l'équation 1.3 revient herher la séquene de motsqui maximiselaquantité suivante:max
W∈Ξ
π
w0Y
wi∈W
P(O|w
i)P(w
i|w
i−1. . . w
0)
(1.7)Ξ
représente l'ensemble des séquenes de mots appartenant au lexique qu'il est possible de onstruire,π
w0 est la probabilité initiale du premier mot de la séquene,P(O|w
i)
, la pro-babilité aoustique du motw
i de la séqueneW
, l'équivalent de la probabilité d'émission, etP(w
i|w
i−1. . . w
0)
représentelaprobabilitélinguistiquen-gramme,jouantlerledesprobabilités detransitiondans lemodèlede Markov.De par son proessus de onstrution, haque mot du graphe est l'extrémité d'un unique hemin partant du début de la phrase. Cette uniité provient de la propriété d'optimalité de Bellman. Aussi, pour haque mot du graphe, le mot le préédant sur e hemin est déterminé defaçonunique.Nousnousréféreronsàe motsousletermedeprédéesseurau sensde Viterbi danslasuitedee doument.