Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Bases Formales de la Computacion:Sesion 5. Gramaticas Estocasticas
Prof. Gloria Ines Alvarez V.
Departamento de Ciencias e Ingenierıa de la ComputacionPontificia Universidad Javeriana Cali
Periodo 2008-2
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Contenido
1 Introduccion
2 Gramaticas Incontextuales
3 Gramaticas Incontextuales Estocasticas
4 Tres preguntas que se pueden responder
Problema 1
Problema 2
Problema 3
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Introduccion
Introduccion
En la teorıa de los lenguajes formales tambien se proponen modelosque permite representar sistemas. Siguiendo la jerarquıa deChomsky los modelos se clasifican de acuerdo a su poder expresivo.
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Introduccion
Lenguajes Regulares
Definicion
Un Automata finito es una tupla A = {Q,Σ, δ, q0,F}, donde:
Q es un conjunto finito de estados
Σ es un alfabeto finito de sımbolos
δ es una funcion de transicion δ : Q × Σ → 2Q
q0 es el estado inicial
F ∈ Q es un conjunto de estados finales o de aceptacion
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Introduccion
Gramaticas Regulares
Definicion
Una gramatica regular es una tupla G = {N,T ,P ,S} donde:
N es un conjunto finito de sımbolos no terminales
T es un conjunto finito de sımbolos terminales
P es un conjunto finito de producciones de la forma A → α,
con A ∈ N y α ∈ T × N o α ∈ T
S ∈ N es el sımbolo inicial de la gramatica
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Introduccion
Gramaticas Regulares
Por ejemplo, la gramatica regular que reconoce el lenguajeL = {anbm | n,m ≥ 0} sobre Σ = {a, b} esta formada por lasproducciones:
S → aA
A → aA
A → bB
B → bB
B → ε
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Introduccion
Lenguajes Incontextuales
Definicion
Una gramatica incontextual es una tupla G = {N,T ,P ,S} donde:
N es un conjunto finito de sımbolos no terminales
T es un conjunto finito de sımbolos terminales
P es un conjunto finito de producciones de la forma A → α,
con A ∈ N y α ∈ {N ∪ T}∗
S ∈ N es el sımbolo inicial de la gramatica
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Introduccion
Gramaticas Incontextuales
Por ejemplo, la gramatica incontextual que reconoce el lenguajeL = {anbn | n > 0} sobre Σ = {a, b} esta formada por lasproducciones:
S → aSb
S → ab
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Introduccion
Lenguajes Contextuales
Definicion
Una gramatica contextual es una tupla G = {N,T ,P ,S} donde:
N es un conjunto finito de sımbolos no terminales
T es un conjunto finito de sımbolos terminales
P es un conjunto finito de producciones de la forma A → α,
con A, α ∈ {N ∪ T}∗
S ∈ N es el sımbolo inicial de la gramatica
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Introduccion
Gramaticas Contextuales
Por ejemplo, la gramatica contextual que reconoce el lenguajeL = {anbncn | n > 0} sobre Σ = {a, b} esta formada por lasproducciones:
S → aBSc
S → abc
Ba → aB
Bb → bb
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales
Gramaticas Incontextuales, Derivacion
Definicion
Sean u, v ,w ∈ {N ∪ T}∗ y (A → w) ∈ P se dice que uAv ⇒ uwv.
Definicion
Se dice que u deriva v , (u ⇒∗ v) si u = v o si existe u1, u2, . . . , uk
con k ≥ 0 tal que u ⇒ u1 ⇒ u2 ⇒ · · · ⇒ uk ⇒ v.
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales
Lenguaje de una gramatica
Definicion
El lenguaje de una gramatica G es {w | w ∈ Σ∗,S ⇒∗ w}, siendo
S el sımbolo inicial de G .
Ejemplos:
G3 = ({S}, {a, b}, {S → aSb | SS | ε}, {S})
G4 = ({EXP ,TERM,FACT}, {a,+, ∗, (, )}, {EXP →EXP + TERM | TERM,TERM →TERM ∗ FACT | FACT ,FACT → (EXP) | a}, {EXP})
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales
Ambiguedad
Definicion
Una derivacion de una cadena w en una gramatica incontextual G
es una derivacion mas izquierda si a cada paso se reemplaza el
sımbolo no terminal que se encuentra mas a la izquierda.
Definicion
Una cadena w es derivada ambiguamente de una gramatica
incontextual G si tiene dos o mas derivaciones mas izquierdas. Una
gramatica G es ambigua si genera alguna cadena ambiguamente.
Definicion
Un lenguaje inherentemente ambiguo es aquel que solo puede
reconocerse con gramaticas ambiguas.
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales
Ejemplo 1 de Gramatica ambigua
EXP → EXP + EXP
EXP → EXP ∗ EXP
EXP → (EXP)EXP → a
Ver arboles de analisis sintactico para a + a ∗ a
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales
Forma Normal de Chomsky
Definicion
Una gramatica incontextual esta en forma normal de Chomsky si
todas sus reglas son de la forma: A → BC o A → a donde A,B ,C
son no terminales y B ,C no son el sımbolo inicial de la gramatica.
Se permite la produccion S → ε para el sımbolo inicial.
Teorema
Todo lenguaje incontextual es generado por una gramatica en
forma normal de Chomsky.
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales
Demostracion
Demostracion.
Toda gramatica incontextual puede transformarse en una en formanormal de Chomsky que reconoce el mismo lenguaje. Latransformacion se realiza por etapas:
1 Se adiciona un nuevo sımbolo inicial
2 Se consideran las reglas vacıas: A → ε se elimina y por cadavez que aparece A en el lado derecho de una regla se adicionaotra regla igual salvo que la ocurrencia de A no esta.
3 Se considera las reglas unitarias: A → B se elimina y todaregla de la forma B → u se duplica cambiando B por A.
4 Se convierten el resto de reglas: A → u1, u2, . . . , uk con k ≥ 3se reemplaza por las reglas:A → u1A1,A1 → u2A2, . . . ,Ak−2 → uk−1uk . Si ui es unterminal, se reemplaza por Ui y se adiciona Ui → ui
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales Estocasticas
Gramaticas Incontextuales Estocasticas, Definicion
Definicion
Una gramatica incontextual estocastica es una tupla
G = {N,T ,P ,S ,Q}
N es un conjunto finito de sımbolos no terminales
T es un conjunto finito de sımbolos terminales
P es un conjunto finito de producciones de la forma A → α,
con A ∈ N y α ∈ {N ∪ T}∗
S ∈ N es el sımbolo inicial de la gramatica
Q es un conjunto de probabilidades asociadas a las
producciones tal que ∀i ,∑
i P(N i → ζ i) = 1, con N i ∈ N y
ζ i ∈ {N ∪ T}∗
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales Estocasticas
Ejemplo de Gramatica Incontextural Estocastica
S → NP VP(1,0) NP → NP PP(0,4)PP → P NP(1,0) NP → astronomers(0,1)VP → V NP(0,7) NP → ears(0,18)VP → VP NP(0,3) NP → saw(0,04)
P → with (1,0) NP → stars(0,18)V → saw (1,0) NP → telescopes(0,1)
Con esta gramatica incontextual estocastica es posible construirdos arboles sintacticos a partir de la frase astronomers saw stars
with ears. La probabilidad del arbol de sintaxis se calculamultiplicando la probabilidad de las reglas que se aplican.
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales Estocasticas
Porque es util extender el modelo con probabilidades?
Esto incrementa el poder expresivo del modelo, puedenentrenarse con muestras positivas unicamente
Son robustas.
A medida que una gramatica crece, se hace mas ambigua ysin las probabilidades es difıcil establecer la plausibilidad de lasdiversas alternativas
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales Estocasticas
Gramaticas Incontextuales Estocasticas y HMMs
Las gramaticas sirven tanto para analizar cadenas como paragenerarlas
Hay una relacion estrecha entre las gramaticas regularesestocasticas y los HMM
El poder predictivo de las gramaticas tiende a ser mas altoque el de los HMM, medido mediante el criterio de entropıa.Por ejemplo, la frase Juan decidio cocinar un obtiene unaprobabilidad alta en un HMM, por ser un comienzo valido defrase, pero obtiene una probabilidad baja en una gramaticadebido a que no es una oracion bien formada.
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales Estocasticas
Gramaticas Incontextuales Estocasticas y HMMs
Una gramatica regular estocastica se puede construir a partirde un HMM agregando un estado inicial y un estado final.
Los dos modelos se diferencian, sin embargo, en lainterpretacion que se da a la distribucion de probabilidad sobrelas cadenas del lenguaje. En los HMM la probabilidad sereparte entre las cadenas de la misma longitud, mientras en lagramatica se reparte entre todas las cadenas del lenguaje
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Gramaticas Incontextuales Estocasticas
Construccion de una gramatica regular estocastica apartir de un HMM
HMMStart FinishΠ
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Los Tres Problemas Fundamentales en GramaticasIncontextuales Estocasticas
1 Problema de evaluacion de la probabilidad (o verosimilitud) deuna secuencia de observaciones w1m de acuerdo a unagramatica G
2 Problema de determinacion del arbol de derivacion masprobable para la secuencia: argmaxtP(t | w1m,G )
3 Problema de ajuste de los parametros del modelo, es decir dela probabilidad de las reglas de la gramatica para maximizar laprobabilidad de una secuencia: argmaxGP(w1m | ,G ) .
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
Problema de Evaluacion
Definicion
Dada una secuencia de observaciones w1, . . . ,wm y una gramatica
incontextual estocastica G , como calcular eficientemente
P(w1m|G ), la probabilidad de la secuencia dado el modelo?
Esta probabilidad se puede calcular adaptando las variables α y βque se usaron en los HMM
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
Variables Inside y Outside
Probabilidad outside: αj(p, q) = P(w1(p−1),Njpq,w(q+1)m|G )
Probabilidad inside: βj(p, q) = P(wpq|Njpq ,G )
En este estudio se va a suponer que las gramaticas estan en formanormal de Chomsky
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
Variables Inside y Outside
pwp−1w qw q+1ww1 mw
Nj
N1
β. . .
α
. . . . . .
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
Solucion al Problema de Evaluacion
A partir de la variable inside:
P(w1m|G ) = P(N1 ⇒∗ w1m|G )
= P(w1m|N11m,G )
= β1(1,m)
A partir de la variable outside:
P(w1m|G ) =∑
j
P(w1(k−1),wk ,w(k+1)m ,Njkk |G )
=∑
j
P(w1(k−1),Njkk ,w(k+1)m |G ) ×
P(wk |w1(k−1),Njkk ,w(k+1)m ,G )
=∑
j
αj(k, k)P(N j → wk)
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
Definicion de la Variable Inside
βj (p, q) es la probabilidad total de generar la secuenciawp, . . . ,wq dado que se parte del no terminal N j
βj (p, q) se puede calcular inductivamente:
Caso base:
βj(k , k) = P(wk |Njkk ,G)
= P(N j → wk |G)
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
Definicion de la Variable Inside
Caso general: βj(p, q) para ∀j , 1 ≤ p < q ≤ m
βj (p, q) = P(wpq | N jpq,G )
=∑
r ,s
q−41∑
d=p
P(wpd ,Nrpd ,w(d+1)q ,N
s(d+1)q , |N
jpq ,G )
=∑
r ,s
q−1∑
d=p
P(Nrpd ,N
s(d+1)q , |N
jpq ,G ) ×
P(wpd |Njpq ,N
rpd ,N
s(d+1)q |G ) ×
P(w(d+1)q |Njpq,N
rpd ,N
s(d+1)q ,wpd ,G )
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
Definicion de la Variable Inside
Caso general: βj(p, q) para ∀j , 1 ≤ p < q ≤ m
βj (p, q) =∑
r ,s
q−1∑
d=p
P(Nrpd ,N
s(d+1)q |N
jpq ,G )P(wpd |N
rpd ,G )
P(w(d+1)q |Ns(d+1)q ,G )
=∑
r ,s
q−1∑
d=p
P(N j → NrNs)βr (p, d)βs(d + 1, q)
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
Definicion de la Variable Outside
αj(p, q) es la probabilidad de empezar en el sımbolo inicial y
generar el no terminal Njpq y todas las palabras fuera de wpq.
αj(p, q) se puede calcular inductivamente:
Caso base:
α1(1,m) = 1
αj(1,m) = 0, j 6= 1
Caso general:
αj(p, q) =
∑
f ,g 6=j
m∑
e=q+1
αf (p, e)P(N f → N jNg )β(q + 1, e)
+
∑
f ,g
p−1∑
e1
αf (e, q)P(N f → NgN j)βg (e, p − 1)
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 1
N N
N N
N N N N
w w w w w w w w
11 1
fpe
feq
jpq
g
(q+1)e
g
e(p−1)jpq
1 w w w1
e−1 e p−1w p q q+1w mw wp−1 p q q+1 ew e+1 m
αj(p, q) =
∑
f ,g 6=j
m∑
e=q+1
αf (p, e)P(N f → N jNg )β(q + 1, e)
+
∑
f ,g
p−1∑
e1
αf (e, q)P(N f → NgN j)βg (e, p − 1)
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 2
Problema 2: Determinacion del arbol de derivacion masprobable
Se puede adaptar el algoritmo de Viterbi para que encuentreel arbol de derivacion mas probable para una cadena
Si puede ajustar el algoritmo inside para que encuentre elelemento de la suma que es maximo y almacene que regla loprodujo
Se define δi (p, q) como la mas alta probabilidad inside queexplica el subarbol N i
pq
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 2
Definicion de la Variable δi(p, q)
Inicializacionδi (p, p) = P(N i → wp)
Induccion
δi (p, q) = max1≤j ,k≤n,p≤r<q
P(N i → N jNk)δj(p, r)δk (r + 1, q)
ψi (p, q) = arg max(j ,k,r)
P(N i → N jNk)δj (p, r)δk(r + 1, q)
FinalizacionP(t) = δ1(1,m)
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 3
Estimacion de las Probabilidades de las Reglas
En forma analoga a la estimacion en HMMs, se propone elalgoritmo inside-outside que se encarga de reestimar lasprobabilidades actuales con el objetivo de maximizar laprobabilidad de las secuencias de entrenamiento. Este metodo,tiene las siguientes caracterısticas:
No se aprende todo el modelo, ya que la estructura de lasreglas esta dada, unicamente se estiman las probabilidades.
Es un algoritmo EM (Expectation-maximization)
Parte de la suposicion que una buena gramatica es la queasigna probabilidades altas a las secuencias de entrenamiento
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 3
Problemas del algoritmo inside-outside
Comparado con el algoritmo Baum-Welch es lento, su costoes O(m3n3) donde m es la longitud de la secuencia y n es elnumero de no terminales de la gramatica
El algoritmo es muy sensible a los valores de inicializacion delas probabilidades
Para realizar un aprendizaje satisfactorio se debe permitir a lagramatica muchos mas sımbolos no terminales que los que senecesitarıan teoricamente para describir el lenguaje
Los no terminales que el algoritmo va utilizando no tienen unainterpretacion clara a la luz del problema que seesta modelando. Esto ocurre aun si se comienza con unagramatica como la que construirıa un experto en el tema delmodelo.
Bases Formales de la Computacion: Sesion 5. Gramaticas Estocasticas
Tres preguntas que se pueden responder
Problema 3
Bibliografıa
Foundations of Statistical Natural Language Processing.Christopher D. Manning and Hinrich Schutze. The MITPress.2002. Capıtulo 11.
Top Related