• Aucun résultat trouvé

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èle

M

en ordonnée.

LaFigure1.5représenteuntelgraphepourunexempled'uneséquenede10observationset unmodèledeMarkovahéàtroisétatsàtopologiedetransitiongauhe-droite.Dansegraphe, unn÷udreprésenteunétat

i

dumodèlepouruneertaineobservation

o

taveunevaleurassoiée égaleà

b

i

(o

t

)

. Lesars orrespondent auxtransitions d'unétat

i

à un état

j

(

i

peutêtre égal à

j

) etontomme valeur assoiéelaprobabilité detransition

a

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èleautemps

t=T

.Dans l'exemple de lagure 1.5, latopologie du modèle de Markovest gauhe-droite, e qui implique

des 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 et

A

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épar

dcumul(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 point

A

i, et

d(A

i

, B)

la distane loale pouraller de

A

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 dutemps

t

, desprobabilités d'émissionde l'observation

o

t parles états duHMM.

Soit

δ

t

(j)

laprobabilitédumeilleurheminquis'arrêteàlatrame

t

àl'état

j

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'état

j

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état

i

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

P(O|M)

(voirEq. 1.6).

L'algorithmene dépendantainsi quedunombred'étatsdu modèleet, pourun temps

t

,que dessores umulés du temps

t−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'estimer

max

Q

P(O|M, Q)

,maissurtout deonnaître lameilleure séquene

Q

. 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

pouraluler

P(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∈Ξ

π

w0

Y

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 mot

w

i de la séquene

W

, l'équivalent de la probabilité d'émission, et

P(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.

Documents relatifs