pln hmm1 modelos ocultos de markov (hmm) introducción cálculo de la probabilidad de una...

35
PLN hmm 1 Modelos ocultos de Markov (HMM) Introducción Cálculo de la probabilidad de una observación Algoritmo Forward Algoritmo Backward Algoritmo de Viterbi Estimación de los parámetros del modelo: Algoritmo Baum-Welch (Forward-Backward) buena parte del material tomado de David Meir Blei (UCB)

Upload: jose-angel-chavez-figueroa

Post on 24-Jan-2016

280 views

Category:

Documents


0 download

TRANSCRIPT

PLN hmm 1

Modelos ocultos de Markov (HMM)

• Introducción• Cálculo de la probabilidad de una observación• Algoritmo Forward• Algoritmo Backward• Algoritmo de Viterbi• Estimación de los parámetros del modelo:

• Algoritmo Baum-Welch (Forward-Backward)

nota: buena parte del material tomado de David Meir Blei (UCB)

PLN hmm 2

HMM 1

• Se trata de un modelo doblemente estocástico en el que el modelo del lenguaje corresponde a una máquina de estados finitos y el modelo de la comunicación es enteramente local (cada símbolo emitido depende sólo del estado en que se emite o de la transición que se efectúa).

• Un HMM puede implementarse mediante un FSA probabilístico de forma que las transiciones llevan asociada una probabilidad y la salida (asociada a los nodos) también.

PLN hmm 3

HMM 2

• En un HMM el pasado es independiente del futuro dado el presente.

• Los modelos simples de n-gram son casos particulares expresables en términos de HMM.

• Los parámetros del modelo (que debemos estimar) corresponden a las probabilidades de transición y de emisión.

PLN hmm 4

HMM 3

• 3 distribuciones de probabilidad:• probabilidad inicial: i probabilidad de estar inicialmente en

el estado i

• probabilidad de transición: aij probabilidad de, estando en el estado i, ir al estado j

• probabilidad de emisión: bi(k) probabilidad de, estando en el estado i, emitir el símbolo k.

PLN hmm 5

1

2

3

1.0

0.5

0.1

0.4

0.7

0.3

p(a) = 0.2 p(b) = 0.8

p(a) = 0.6 p(b) = 0.4

p(a) = 0.7 p(b) = 0.3

Ejemplo de modelo oculto de Markov

PLN hmm 6

• Modelo Gráfico (en el sentido probabilístico)• Los círculos denotan estados (correspondientes a

variables aleatorias)• Las flechas indican dependencias estadísticas

entre estados

HMM 4

PLN hmm 7

• Los círculos superiores denotan estados ocultos que sólo dependen de sus predecesores

HMM 5

PLN hmm 8

HMM 6

• Los círculos inferiores denotan estados visibles (observados)

• Los estados observados sólo dependen de su correspondiente estado oculto.

PLN hmm 9

HMM 7

• {S, K, • S : {s1…sN } valores de los estados ocultos

• K : {k1…kM } valores de las observaciones

SSS

KKK

S

K

S

K

PLN hmm 10

• {S, K, • probabilidades iniciales

• A = {aij} probabilidades de transición

• B = {bik} probabilidades de emisión

A

B

AAA

BB

SSS

KKK

S

K

S

K

HMM 8

PLN hmm 11

Algoritmos para tratar HMM

• Cálculo de la probabilidad de una observación (dado el modelo) con coste lineal.• Cálculo incremental de la probabilidad Fw

• Encontrar el camino mejor (el más probable) para una observación dada con coste lineal.

• Entrenamiento (estimación de los parámetros) del modelo a partir de un corpus => maximizar la probabilidad global del corpus.• Algoritmo Forward/Backward

• Cuando hablamos de observación nos referimos a una secuencia de observaciones

PLN hmm 12

)|(Calcular

),,( ,)...( 1

OP

BAooO T

oTo1 otot-1 ot+1

Dada una observación y un modelo, calcular la probabilidad de la observación

Decodificación 1

PLN hmm 13

Decodificación 2

TT oxoxox bbbXOP ...),|(2211

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

PLN hmm 14

Decodificación 3

TT oxoxox bbbXOP ...),|(2211

TT xxxxxxx aaaXP132211

...)|(

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

PLN hmm 15

Decodificación 4

)|(),|()|,( XPXOPXOP

TT oxoxox bbbXOP ...),|(2211

TT xxxxxxx aaaXP132211

...)|(

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

PLN hmm 16

Decodificación 5

)|(),|()|,( XPXOPXOP

TT oxoxox bbbXOP ...),|(2211

TT xxxxxxx aaaXP132211

...)|(

X

XPXOPOP )|(),|()|(

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

PLN hmm 17

111

1

111

1

1}...{

)|(

tttt

T

oxxx

T

txxoxx babOP

Decodificación 6

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

PLN hmm 18

)|,...()( 1 ixooPt tti

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

• Implementación eficiente usando programación dinámica• Idea: Mantener para cada estado i y tiempo t la

probabilidad de haber alcanzado el estado habiendo emitido la secuencia de observaciones hasta t

• Probabilidad forward:

Algoritmo Forward 1

PLN hmm 19

1

),( 11

joj b

jxoP

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

)1( :base Caso j

Algoritmo Forward 2

PLN hmm 20

)|(),...(

)()|()|...(

)()|...(

),...(

1111

11111

1111

111

jxoPjxooP

jxPjxoPjxooP

jxPjxooP

jxooP

tttt

ttttt

ttt

tt

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

)1( :recurrente Caso tj

Algoritmo Forward 3

PLN hmm 21

Nijoiji

ttttNi

tt

tttNi

ttt

ttNi

ttt

tbat

jxoPixjxPixooP

jxoPixPixjxooP

jxoPjxixooP

...1

111...1

1

11...1

11

11...1

11

1)(

)|()|(),...(

)|()()|,...(

)|(),,...(

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

Algoritmo Forward 4

PLN hmm 22

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

)|...()( ixooPt tTti

1)1( Ti

Nj

jioiji tbatt

...1

)1()(

Probabilidad de completar la emisión desde un estado

Algoritmo Backward 1

PLN hmm 23

oTo1 otot-1 ot+1

x1 xt+1 xTxtxt-1

N

ii TOP

1

)()|(

N

iiiOP

1

)1()|(

)()()|(1

ttOP i

N

ii

Forward Procedure

Backward Procedure

Combination

Decodificación 7

PLN hmm 24

oTo1 otot-1 ot+1

• Encontrar la secuencia de estados que explique mejor las observaciones

• Algoritmo de Viterbi

)|(maxarg OXPX

Viterbi 1

PLN hmm 25

oTo1 otot-1 ot+1

),,...,...(max)( 1111... 11

ttttxx

j ojxooxxPtt

Secuencia de estados que maximiza la probabilidad de ver las observaciones hasta el instante t-1, estando en el estado j y emitiendo la observación del instante t

x1 xt-1 j

Viterbi 2

PLN hmm 26

oTo1 otot-1 ot+1

),,...,...(max)( 1111... 11

ttttxx

j ojxooxxPtt

1)(max)1(

tjoijii

j batt

1)(maxarg)1(

tjoijii

j batt CálculoRecursivo

x1 xt-1 xt xt+1

Viterbi 3

PLN hmm 27

oTo1 otot-1 ot+1

)(maxargˆ TX ii

T

)1(ˆ1

^

tXtX

t

)(maxarg)ˆ( TXP ii

Cálculo de la secuencia más verosimil de forma backward

x1 xt-1 xt xt+1 xT

Viterbi 4

PLN hmm 28

oTo1 otot-1 ot+1

• Dada una secuencia de observaciones encontrar el modelo (= {,A,B}) que maximice la probabilidad de emitir la observación

• No existe método analítico para hacerlo

A

B

AAA

BBB B

Estimación de los parámetros 1

PLN hmm 29

• Baum-Welch (Forward-Backward)• Caso particular de la familia de algoritmos de

Expectation Maximization (EM)• Método iterativo de tipo hill-climbing

Estimación de los parámetros 2

)|(maxarg trainingOP

PLN hmm 30

• Algoritmo EM• Se ignoran (algunos de) los parámetros del modelo• No se conoce la Estructura oculta• Se dispone de una serie de observaciones• Dos etapas

• Expectation• Maximization

Estimación de los parámetros 3

PLN hmm 31

Estimación de los parámetros 4

Parámetrosdel modelo

(probabilidades)

Estructura oculta

Observaciones

E step: a partir de los parámetros actuales se recupera laestructura oculta

M step: a partir de las observaciones y de laestructura oculta se recalculan los parámetros

PLN hmm 32

Estimación de los parámetros 5

• Baum-Welch (Forward-Backward)• Comenzar con un modelo = {,A,B} inicial

• Cálculo de valores esperados del uso de las transiciones/emisiones

• Reestimar las probabilidades (el modelo) de acuerdo al modelo

• Repetir hasta lograr la convergencia

PLN hmm 33

oTo1 otot-1 ot+1

A

B

AAA

BBB B

Nmmm

jjoijit tt

tbatjip t

...1

)()(

)1()(),( 1

Probabilidad de

atravesar un arco (i,j)

Nj

ti jipt...1

),()( Probabilidad de estar en el estado i

Estimación de los parámetros 6

PLN hmm 34

oTo1 otot-1 ot+1

A

B

AAA

BBB B

)1(ˆ i i

T

t i

T

t tij

t

jipa

1

1

)(

),(ˆ

T

t i

kot t

ikt

ib t

1

}:{

)(

)(ˆ

Estimación de los parámetros 7

Reestimación de los parámetros del modelo

PLN hmm 35

Aplicaciones

• POS tagging• Generación de los parámetros de un LM• NER• NEC• chunking• ASR