Modelos estadísticos y la entropía del lenguaje Dr. Luis Alberto Pineda Cortés Contenido • • • • • • • Teoría de la probabilidad Modelos estadísticos Reconocimiento de voz Entropía (de un lenguaje) Cadenas de Markov Entropía entre lenguajes (EEL) EEL y evaluación de modelos Contenido • • • • • • • Teoría de la probabilidad Modelos estadísticos Reconocimiento de voz Entropía (de un lenguaje) Cadenas de Markov Entropía entre lenguajes (EEL) EEL y evaluación de modelos Teoría 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 Teoría de la probabilidad: Variables Random • Notación: – x es un resultado posible de X (x ∈ V(X)) – Probabilidad de x: P(X = x) o P(x) – Número de veces que X sale x:X = x • Ejemplo: – Sea W el resultado de señalar al azar un texto – Sea wi la i-esima palabra del español (word type) – Sea wiel número de veces que wi aparece (word tokens) • Probabilidad wi P(W = wi) = w Σ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) 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: conclusión (diagnóstico: el niño tiene amigdalitis) B: evidencia observable (síntomas: el niño tiene calentura) P(A): probabilidad que el niño tenga amigdalitis P(B): probabilidad que el niño 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 síntoma • 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) Generalización 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 acción 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) Generalización 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 • • • • • • • Teoría de la probabilidad Modelos estadísticos Reconocimiento de voz Entropía (de un lenguaje) Cadenas de Markov Entropía entre lenguajes (EEL) EEL y evaluación de modelos Modelos estadísticos • Propósito: Aprender un lenguaje en base a las regularidades estadísticas observadas en un corpus – Muchas regularidades irrelevantes – Agredar conocimiento del lenguaje para obtener regularidades relevantes • Aprender (learn) modelos estadísticos: asignar una probabilidad a todas las secuencias de palabras! – Dada una secuencia de longitud n se quiere asignar un número 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 estadísticos • 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 más exacta que los métodos estadísticos más sofisticados! • El método no depende sólo 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: sólo contra los métodos rollorizados • Ventajas: depende de la aplicación Contenido • • • • • • • Teoría de la probabilidad Modelos estadísticos Reconocimiento de voz Entropía (de un lenguaje) Cadenas de Markov Entropía entre lenguajes (EEL) EEL y evaluación 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 acústico (probabilidad la evidencia acústica dado que se pronunció W) • P(WA): Probabilidad de que se reconozca W dada la evidencia acústica. Wmax = max P(WA) = P(W) P(AW) Procedador acústico: Evidencia acústica habla procesador de señales σi comparador ρi prototipos acústicos ai Modelo de reconocimiento del habla (source-channel) Wmax = max P(WA) = P(W) P(AW) mente W generador del habla habla procesador acústico A decodificador linguístico Reconocedor Hablante canal acústico Wmax Contenido • • • • • • • Teoría de la probabilidad Modelos estadísticos Reconocimiento de voz Entropía (de un lenguaje) Cadenas de Markov Entropía entre lenguajes (EEL) EEL y evaluación de modelos Entropía • Se define una figura de mérito para comparar modelos estadísticos: entropía entre lenguajes (cross entropy) • Teoría de codificación: – cuánto cuesta mandar un mensaje de un lenguaje dada una notación explícita (binario, decimal, ect.)? – Problema: mandar un mensaje cada 5 minutos para informar de los ocupantes de una casa (una pareja!) de acuerdo al siguiente código • • • • Andan de vagos: 00 El hombre está en casa: 01 La mujer está en casa: 10 Los dos están en casa: 11 – Si la probabilidad de cada mensaje es la misma, necesitamos dos bits... pero podemos mejorar? Entropía • Supongamos las siguientes probabilidades • • • • Andan de vagos: .5 El hombre está en casa (sólo): .125 La mujer está en casa (solá): .125 Los dos están en casa: .25 • Mandemos los mensajes más probables con menos bits! • • • • • Situación Andan de vagos: Sólo el hombre: Sólo la mujer Los dos Probabilidad .5 .125 .125 : .25 Código 0 110 111 10 • Cuántos bits se necesitan en promedio? 1/2 * 1 bit + 1/4 * 2 bits + 1/8 * 3 bits + 1/8 * 3 bits = 1.75 bits! Entropía • 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) 1 Entropía y variables random • El mensaje en si puede considerarse como una variable random W, cuyo rango es el conjunto de posibles mensajes específicos V(W). • ¿Existe una cota mínima para codificar estos mensajes?. • Definimos H(W) como la entropía 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) Relación entre Entropía y Codificación • La entropía es la cota mínima promedio para transmitir un mensaje • Es posible en la práctica estar cerca de dicha cota! – Codificar cada mensaje w ∈ V(W) con − log2 P(w) • La entropía es una medida de la incertidumbre del mensaje: – Mientras menos bits necesitemos más seguros estamos de cuál es el mensaje – Mientras más grande H más difícil 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 Relación entre Entropía y Codificación – Entropía 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 Relación entre Entropía y Codificación – Entropía 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 ergódica: • Entropía 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 • • • • • • • Teoría de la probabilidad Modelos estadísticos Reconocimiento de voz Entropía (de un lenguaje) Cadenas de Markov Entropía entre lenguajes (EEL) EEL y evaluación de modelos Cadenas de Markov • Autómatas 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 • • • • • • • Teoría de la probabilidad Modelos estadísticos Reconocimiento de voz Entropía (de un lenguaje) Cadenas de Markov Entropía entre lenguajes (EEL) EEL y evaluación de modelos Entropía entre lenguajes: • Entropía 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 Entropía entre lenguajes: • Entropía por palabra: 1/n H(W1,n) = − 1/n Σ P(w1,n) log2 P(w1,n) w1,n • Sin estructura: Entropía 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-Entropía 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) – Entropía 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í” • ¿Cuál 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-entropía 0.5 “aquí” • ¿Cuál 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-entropía 1/n H(W1,n , PM) = − 1/n Σ P(w1,n) log2 PM(w1,n) w 1,n • Hay 16 mensajes con distribución 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 entropía 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 • • • • • • • Teoría de la probabilidad Modelos estadísticos Reconocimiento de voz Entropía (de un lenguaje) Cadenas de Markov Entropía entre lenguajes (EEL) EEL y evaluación de modelos EEL y evaluación 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-entropías 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-entropía por palabra nos permite evaluar diferentes modelos con respecto al modelo correcto! – El modelo (2) es mejor que el modelo (3) EEL y evaluación de modelos • Si conocemos el modelo del español o el inglés, 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 español... Sin embargo, lo podemos estimar a través 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 sólo nos interesa aquel que tenga la menor cross-entropía (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 ergódico. EEL y evaluación 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 evaluación el modelo tiene que asignar una probabilidad al corpus de prueba similar a la probabilidad que éste realmente tiene. • Si la selección del corpus para crear y evaluar el modelo es automática es posible realizar una validación cruzada. • Se requiere que cualquier muestra del lenguaje, si es suficientemente larga sea “perfecta”: que el lenguaje sea ergódico. EEL y evaluación de modelos • Se requiere de un corpus real, de donde tomar datos para experimentación • En inglés 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 Religión Habilidades y pasatiempos Atractivos populares Literatura Micelaneos Escritos eruditos 44 27 17 17 36 48 75 30 80 FIN