Está en la página 1de 41

Modelos estadsticos y la

entropa del lenguaje


Dr. Luis Alberto Pineda Corts

Contenido

Teora de la probabilidad
Modelos estadsticos
Reconocimiento de voz
Entropa (de un lenguaje)
Cadenas de Markov
Entropa entre lenguajes (EEL)
EEL y evaluacin de modelos

Contenido

Teora de la probabilidad
Modelos estadsticos
Reconocimiento de voz
Entropa (de un lenguaje)
Cadenas de Markov
Entropa entre lenguajes (EEL)
EEL y evaluacin de modelos

Teora de la probabilidad: Variables Random


Evento:
Tirar una moneda al aire
diagnosticar a un enfermo
Apuntar al azar a una palabra en un texto

Resultado del evento: variable random X propiamente


Que salga una cara de la moneda
Que se detecte una enfermedad
Se escoge una palabra en particular

Posibles resultados: rango de la variable random o V(X)


V(X) = {guila, sol}
V(X) = {viruela, varisela, paperas}
V(X) = el conjunto de todas las palabras del texto

Teora de la probabilidad: Variables Random


Notacin:
x es un resultado posible de X (x V(X))
Probabilidad de x: P(X = x) o P(x)
Nmero de veces que X sale x:X = x

Ejemplo:
Sea W el resultado de sealar al azar un texto
Sea wi la i-esima palabra del espaol (word type)
Sea wiel nmero de veces que wi aparece (word tokens)

Probabilidad
wi
P(W = wi) =

j=1 wj

Probabilidad condicional y secuencia de eventos


Dos eventos:
Seleccionar al azar dos palabras seguidas en un texto
Dos variables aleatorias: W1, W2
Probabilidad condicional
La probabilidad de que se diga casa dado que se dijo la es mucho
mayor que la probabilidad que se diga correr en el mismo contexto

P(W2 = wj W1 = wi ) =

W1 = wi, W2, = wj
W1 = wi

El Teorema de Bayes
P(A B)
P(AB) =
A

P(B)

P(A B)
P(BA) =
P(A)
P(AB) P(B) = P(A) P(BA)
P(A) P(BA)
P(AB) =
P(B)

El Teorema de Bayes
P(A) P(BA)
P(AB) =
P(B)

A: conclusin (diagnstico: el nio tiene amigdalitis)


B: evidencia observable (sntomas: el nio tiene calentura)
P(A): probabilidad que el nio tenga amigdalitis
P(B): probabilidad que el nio tenga calentura
P(BA): probabilidad que tenga calentura dado que tiene amigdalitis
P(AB): probabilidad que tenga amigdalitis dado que tiene calentura

El Teorema de Bayes
Si se require P(B), la probabilidad de la calentura, es necesario
considerar todas las enfermedades que tienen calentura como
sntoma
La probabilidad de la calentura se puede obtener su se observa
calentura dado que se tiene la enfermeda i, para toda i

P(B = b) =

P(B = b A = ai) P(A = ai)

a V(A)

Generalizacin del Teorema de Bayes


Los eventos pueden tener diferente granularidad:
x, y son ocurrencias de dos eventos de apuntar a dos palabras (i.e., x = comi
carne y = el perro)
P(xy) es la probablidad de que se diga comi carne dado que se dijo el
perro

O cada accin puedes tomarse como eventos independientes


x, y, z, w son ocurrencias de eventos de apuntar a una palabra (i.e., w =
comi, x = carne, y = el y z = perro)

P(w, x) P(y, z w, x )
P(w, xy, z) =
P(y, z)

Generalizacin del Teorema de Bayes


La probabilidad de una secuencia de n eventos:
P(w1, w2, w3,..., wn ) =
P(w1) P(w2w1) P(w2w1,w2) ... P(wnw1,...,wn-1)
La probabilidad de una secuencia de n eventos condicionada a la
ocurrencia de otro evento x:
P(w1, w2, w3,..., wn x ) =
P(w1x) P(w2w1, x) P(w3w1,w2, x) ... P(wnw1,...,wn-1, x)

Contenido

Teora de la probabilidad
Modelos estadsticos
Reconocimiento de voz
Entropa (de un lenguaje)
Cadenas de Markov
Entropa entre lenguajes (EEL)
EEL y evaluacin de modelos

Modelos estadsticos
Propsito: Aprender un lenguaje en base a las regularidades
estadsticas observadas en un corpus
Muchas regularidades irrelevantes
Agredar conocimiento del lenguaje para obtener regularidades relevantes

Aprender (learn) modelos estadsticos: asignar una probabilidad a


todas las secuencias de palabras!
Dada una secuencia de longitud n se quiere asignar un nmero a:

P(W1,n = w1, n)
Para todas las secuencias w1,n donde W1,n es una secuencia de n variables
random, W1, W2, ..., Wn cada una de las cuales toma una palabra del
lenguaje

Modelos estadsticos
La gente puede asignar probabilidades a secuencias de palabras:
P(w1,n) = P(w1) P(w2w1) P(w3w1,2) ... P(wnw1,n-1)
Hay experimentos que indican que la gente es ms exacta que los
mtodos estadsticos ms sofisticados!
El mtodo no depende slo de las palabras precedentes
Ejemplo: el (rbol cielo) azul
P(el rbol azul) = P(el) P(rbolel) P(azul el rbol)
P(el cielo azul) = P(el) P(cieloel) P(azul el cielo)

Prejuicios: slo contra los mtodos rollorizados


Ventajas: depende de la aplicacin

Contenido

Teora de la probabilidad
Modelos estadsticos
Reconocimiento de voz
Entropa (de un lenguaje)
Cadenas de Markov
Entropa entre lenguajes (EEL)
EEL y evaluacin de modelos

Reconocimiento de voz
P(W) P(AW)
P(WA) =
P(A)
P(W): Modelo del lenguaje (probabilidad de que se diga W)
P(A): probabilidad el sonido sea voz
P(AW): Modelo acstico (probabilidad la evidencia acstica
dado que se pronunci W)
P(WA): Probabilidad de que se reconozca W dada la evidencia
acstica.
Wmax = max P(WA) = P(W) P(AW)

Procedador acstico: Evidencia acstica

habla

procesador
de
seales

comparador

i
prototipos
acsticos

ai

Modelo de reconocimiento del habla


(source-channel)
Wmax = max P(WA) = P(W) P(AW)

mente

generador
del habla

habla

procesador
acstico

decodificador
lingustico

Reconocedor

Hablante
canal acstico

Wmax

Contenido

Teora de la probabilidad
Modelos estadsticos
Reconocimiento de voz
Entropa (de un lenguaje)
Cadenas de Markov
Entropa entre lenguajes (EEL)
EEL y evaluacin de modelos

Entropa
Se define una figura de mrito para comparar modelos
estadsticos: entropa entre lenguajes (cross entropy)
Teora de codificacin:
cunto cuesta mandar un mensaje de un lenguaje dada una notacin
explcita (binario, decimal, ect.)?
Problema: mandar un mensaje cada 5 minutos para informar de los
ocupantes de una casa (una pareja!) de acuerdo al siguiente cdigo

Andan de vagos: 00
El hombre est en casa: 01
La mujer est en casa: 10
Los dos estn en casa: 11

Si la probabilidad de cada mensaje es la misma, necesitamos dos


bits... pero podemos mejorar?

Entropa
Supongamos las siguientes probabilidades

Andan de vagos: .5
El hombre est en casa (slo): .125
La mujer est en casa (sol): .125
Los dos estn en casa: .25

Mandemos los mensajes ms probables con menos bits!

Situacin
Andan de vagos:
Slo el hombre:
Slo la mujer
Los dos

Probabilidad
.5
.125
.125
: .25

Cdigo
0
110
111
10

Cuntos bits se necesitan en promedio?


1/2 * 1 bit + 1/4 * 2 bits + 1/8 * 3 bits + 1/8 * 3 bits = 1.75 bits!

Entropa
Pero hay que decodificar los mensajes (cuando empizan y
cuando terminan!
Decodificador

pos. 0
0 (nadie)

pos. 1

10 (los dos)
110 (el hombre)

0
pos. 2

111 (la mujer)

Entropa y variables random


El mensaje en si puede considerarse como una variable random W,
cuyo rango es el conjunto de posibles mensajes especficos V(W).
Existe una cota mnima para codificar estos mensajes?.
Definimos H(W) como la entropa de la variable random W
H(W) = P(w) log2 P(w)
w V(W)

Ejemplo:
H(W) = (1/2 * log 1/2 + 1/4 * log 1/4 + 1/8 * log 1/8 + 1/8 * log 1/8)
= (1/2 * ( 1) + 1/4 * ( 2) + 1/8 * ( 3) + 1/8 * ( 3) )
= 1.75

H(W) = P(w) log2 P(w) = P(w) bits-requeridos(w)


w V(W)

w V(W)

Relacin entre Entropa y Codificacin


La entropa es la cota mnima promedio para transmitir un mensaje
Es posible en la prctica estar cerca de dicha cota!
Codificar cada mensaje w V(W) con log2 P(w)

La entropa es una medida de la incertidumbre del mensaje:


Mientras menos bits necesitemos ms seguros estamos de cul es el mensaje
Mientras ms grande H ms difcil de interpretar el mensaje

H(W1,n) = P(w1,n) log2 P(w1,n)


w V(W1,n )

Abreviando:

H(W1,n) = P(w1,n) log2 P(w1,n)


w1,n

Relacin entre Entropa y Codificacin


Entropa de un mensaje de longitud n:

H(W1,n) = P(w1,n) log2 P(w1,n)


w1,n

Consideremos un sistema de reconocimiento del habla que transcribe


palabras del conjunto (todas las palabras tienen la misma probabilidad):
{el, un, gato, perro, comi, durmi, aqu, all}
Longitu del mensaje: n = 1
H(W1) = P(el) log2(el) P(un) log2(un) ... P(all) log2(all)
= 8 * ( 1/8 log2(1/8))

= 8 * ( 1/8 * (- 3))
=3

Relacin entre Entropa y Codificacin


Entropa por palabra (donde n es la longitud del mensaje):

1/n H(W1,n) = 1/n P(w1,n) log2 P(w1,n)


w1,n

Fuente ergdica:
Entropa por palabra, cuando la longitud del mensaje tiende a infinito

H(L) = nlim
1/n P(w1,n) log2 P(w1,n)

w1,n

Contenido

Teora de la probabilidad
Modelos estadsticos
Reconocimiento de voz
Entropa (de un lenguaje)
Cadenas de Markov
Entropa entre lenguajes (EEL)
EEL y evaluacin de modelos

Cadenas de Markov
Autmatas finitos probabilisticos
Como generadores: se generan cadenas con cierta probabilidad
Como aceptores: asignan una probabilidad a las cadenas aceptadas
Las probabilidades de salida de cada nodo suman uno
0.5 aqu
0.5 el

0.5 perro 0.5 comi

0.5 un

0.5 gato 0.5 durmi


0.5 aqu

Contenido

Teora de la probabilidad
Modelos estadsticos
Reconocimiento de voz
Entropa (de un lenguaje)
Cadenas de Markov
Entropa entre lenguajes (EEL)
EEL y evaluacin de modelos

Entropa entre lenguajes:


Entropa por palabra:

1/n H(W1,n) = 1/n P(w1,n) log2 P(w1,n)


w1,n

0.5 aqu
0.5 el

0.5 un

0.5 perro

0.5 comi

0.5 gato

0.5 durmi

0.5 all
Son 16 mensajes de longitud 4:

1/n H(W1,n) = 1/4 * (16 * (1/24 log2 (1/24)))


1/n H(W1,n) = 1/4 * ( 4) = 1

Entropa entre lenguajes:


Entropa por palabra:

1/n H(W1,n) = 1/n P(w1,n) log2 P(w1,n)


w1,n

Sin estructura: Entropa por palabra (eligiendo palabras al azar)


H(W1) = P(el) log2(el) P(un) log2(un) ... P(all) log2(all)
= 8 * ( 1/8 log2(1/8))
= 8 * ( 1/8 * (- 3))
=3

Con estructura: Son 16 mensajes de longitud 4 (Cadena de Markov)

1/n H(W1,n) = 1/4 * (16 * (1/24 log2 (1/24)))


1/n H(W1,n) = 1/4 * ( 4) = 1

Qu tan bueno es un modelo: EEL


(cross entropy)
Conjunto de variables random W1,n
Modelo correcto es P(w1,n)
Modelo estimado PM(w1,n)

Cross-Entropa del lenguaje:


EEL por palabra:

H(W1,n , PM) = P(w1,n) log2 PM(w1,n)


w
1,n

1/n H(W1,n , PM) = 1/n P(w1,n) log2 PM(w1,n)


w
Diferencia:

1,n

H(W1,n ) <= H(W1,n , PM)

Entropa entre lenguajes (cross entropy of a language)

H(L , PM) = lim 1/n P(w1,n) log2 PM(w1,n)


n

Qu tan bueno es un modelo: EEL


0.5 aqu

Cul es la entropia del lenguaje:


0.5 el

0.5 un

0.5 perro

0.5 comi

0.5 gato

0.5 durmi

0.5 all
con respecto al lenguaje random (PM (w1,n) = 1/8)?

H(W1,n , PM) = P(w1,n) log2 PM(w1,n)


w
1,n

= 16 * ( 1/24 * log2(1/8))
= 16 * ( 1/16 * (- 3)) = 3

Cross-entropa
0.5 aqu

Cul es la entropia por palabra de


0.5 el

0.5 un

0.5 perro

0.5 comi

0.5 gato

0.5 durmi

0.5 all
con respecto al modelo incorrecto?
0.75 aqu
0.75 el

0.25 un

0.75 perro 0.75 comi

0.25 gato 0.25 durmi


0.25 all

Cross-entropa
1/n H(W1,n , PM) = 1/n P(w1,n) log2 PM(w1,n)
w
1,n

Hay 16 mensajes con distribucin binomial respecto a las


probabilidades de 1/4 y 3/4, por lo tanto:
1/n H(W1,n , PM) = 1/4 (1 * 1/24 * log2 (1/44) +
4 * 1/24 * log2 (1/43 * 3/4) +
6 * 1/24 * log2 (1/42 * (3/4)2) +
4 * 1/24 * log2 (1/4 * (3/4)3) +
1 * 1/24 * log2 (3/4)4)
= 1.2
Comparar con la entropa por palabra del lenguaje correcto:
1/n H(W1,n) = 1/4 * (16 * (1/24 log2 (1/24)))

1/n H(W1,n) = 1/4 * ( 4) = 1

Contenido

Teora de la probabilidad
Modelos estadsticos
Reconocimiento de voz
Entropa (de un lenguaje)
Cadenas de Markov
Entropa entre lenguajes (EEL)
EEL y evaluacin de modelos

EEL y evaluacin de modelos


Tres modelos
(1) El correcto con con structura de Markov con transiciones de 1/2
(2) El modelo con estructura de Markov, con transiciones de 1/4 y 3/4
(3) El modelo random(sin estructura)
La cross-entropas de (2) y (3) con respecto a (1):
H(W1,n = 1 , PM = 3) = 3
H(W1,n = 1 , PM = 2) = 1.2
La cross-entropa por palabra nos permite evaluar diferentes modelos con
respecto al modelo correcto!
El modelo (2) es mejor que el modelo (3)

EEL y evaluacin de modelos


Si conocemos el modelo del espaol o el ingls, podemos evaluar que tan
buenos son nuestros modelos con:

H(L , PM) = lim 1/n P(w1,n) log2 PM(w1,n)


w
n

1,n

Pero lo que no tenemos es precisamente un modelo del espaol... Sin


embargo, lo podemos estimar a travs de una muestra suficientemente larga!

H(L , PM) = lim 1/n log2 PM(w1,n)


w
n

1,n

Si lo que queremos comparar es entre diferentes modelos, tan slo nos


interesa aquel que tenga la menor cross-entropa (P(w1,n) es el mismo para
todos los modelos). Se require que cualquier muestra del lenguaje, si es
suficientemente larga es perfecta: el lenguaje es ergdico.

EEL y evaluacin de modelos


Para crear modelos se requiere un corpus balanceado
El modelo se crea con un fragmento del corpus (90%) y el resto (10%) se deja
para validar el modelo
Para validar hay que medir las probabilidades reales del corpus de prueba
En la evaluacin el modelo tiene que asignar una probabilidad al corpus de
prueba similar a la probabilidad que ste realmente tiene.
Si la seleccin del corpus para crear y evaluar el modelo es automtica es
posible realizar una validacin cruzada.
Se requiere que cualquier muestra del lenguaje, si es suficientemente larga
sea perfecta: que el lenguaje sea ergdico.

EEL y evaluacin de modelos


Se requiere de un corpus real, de donde tomar datos para experimentacin
En ingls se cuenta con el Brown corpus
Contiene aproximadamente 500 segmentos de 2000 palabras cada uno
Segmentos por rea:

Reportajes de prensa
Editoriales
Reviews de prensa
Religin
Habilidades y pasatiempos
Atractivos populares
Literatura
Micelaneos
Escritos eruditos

44
27
17
17
36
48
75
30
80

FIN

También podría gustarte