Modelo del Lenguaje. N-gramas. Introducción a las Tecnologías del Habla 2o cuatrimestre 2014 – Agustín Gravano

Predicción de palabras Las acciones se ...

Predicción de palabras Las acciones se derrumbaron esta ...

Predicción de palabras Las acciones se derrumbaron esta mañana, pese a la baja en las tasas de ...

Predicción de palabras Las acciones se derrumbaron esta mañana, pese a la baja en las tasas de interés por parte de la Reserva ...

Predicción de palabras Las acciones se derrumbaron esta mañana, pese a la baja en las tasas de interés por parte de la Reserva Federal, mientras Wall ...

Predicción de palabras Las acciones se derrumbaron esta mañana, pese a la baja en las tasas de interés por parte de la Reserva Federal, mientras Wall Street volvió a operar por primera ...

Predicción de palabras Las acciones se derrumbaron esta mañana, pese a la baja en las tasas de interés por parte de la Reserva Federal, mientras Wall Street volvió a operar por primera vez desde los ataques ...

Predicción de palabras Las acciones se derrumbaron esta mañana, pese a la baja en las tasas de interés por parte de la Reserva Federal, mientras Wall Street volvió a operar por primera vez desde los ataques terroristas del ...

Predicción de palabras Las acciones se derrumbaron esta mañana, pese a la baja en las tasas de interés por parte de la Reserva Federal, mientras Wall Street volvió a operar por primera vez desde los ataques terroristas del martes pasado.

Predicción de palabras ●



En alguna medida, es posible predecir palabras futuras en una oración. ¿Cómo? –

Conocimiento del dominio. ●



Conocimiento sintáctico. ●



baja en las tasas de interés el , se

Conocimiento léxico. ●

ataques terroristas, Reserva Federal

Predicción de palabras ●



Parte del conocimiento necesario para predecir las palabras puede ser capturado usando técnicas estadísticas simples. En particular, nos interesa la noción de probabilidad de una secuencia de palabras.

Aplicaciones ●



¿Para qué queremos saber la probabilidad de una palabra, dadas las anteriores? Estimar la probabilidad de una solución candidata. –

Reconocimiento del habla: ●



el banco central anunció la emisión de nuevas monedas de cincuenta centauros

Traducción automática: ● ●

the doctor recommended a cat scan el doctor recomendó una exploración del gato

N-gramas ●



Usar las N–1 palabras anteriores para predecir la siguiente palabra. Modelo del Lenguaje (LM) –



Unigramas, bigramas, trigramas,…

¿Cómo se entrenan estos modelos? –

Cuerpos de datos muy grandes: diarios, blogs, etc.

N-gramas ●

Ejemplo: –

P(interés | baja en las tasas de) = #(baja en las tasas de interés) #(baja en las tasas de)



Podríamos usar Google para estimar las cantidades...



P(interés | baja en las tasas de) = 296.000 / 323.000 = 0,9164

N-gramas ●

¿Cómo estimamos la probabilidad de una oración? –

P(baja en las tasas de interés) =

#(baja en las tasas de interés) #(oraciones de 6 palabras) –

Problema #1 ●



??

Cuanto más larga la oración, menores las chances de que aparezca en el corpus. (# = 0)

Problema #2 ●

¿Cómo estimar #(oraciones de 6 palabras)?

N-gramas ●

¿Cómo estimamos la probabilidad de una oración? P(A ∧ B) = P(A | B) • P(B)

(regla de la cadena)

P (w 1m )= P (w 1 ) P (w 2∣w 1) P (w 3∣w 21 )... P (w m∣w 1m−1 ) m

= ∏ P (w k∣w 1k −1) k =1



Ejemplo: P(baja en las tasas de interés) = P(baja) • P(en | baja) • P(las | baja en) • P(las | baja en las) • … • P(interés | baja en las tasas de)

N-gramas ●

Suposición de Markov: –

La probabilidad de una palabra depende solamente de las N – 1 palabras anteriores (N-grama).

P (w m∣w 1m−1 )≈ P (w m∣w m−1 m− N + 1 ) –

N=2: bigrama

P (w m∣w1m−1)≈ P (w m∣w m−1)

P(interés | baja en las tasas de) ≈ P(interés | de) –

N=3: trigrama

P (w m∣w 1m−1)≈ P (w m∣w m−1 m−2 )

P(interés | baja en las tasas de) ≈ P(interés | tasas de)

N-gramas ●

Estimar la probabilidad de la oración: –



I want to eat Chinese food.

P(I want to eat Chinese food) = P(I | ) P(want | I) P(to | want) P(eat | to) P(Chinese | eat) P(food | Chinese) P(|food)



¿Qué necesitamos para estos cálculos? –

Probabilidad P(wm|w m-1) para cada par de palabras.



Pre-calculadas de un corpus grande.

Bigramas del BERP Corpus ●

BERP (Berkeley Restaurant Project) –

Consultas de usuarios a un sistema de diálogo hablado. I want to eat Chinese food lunch



I 8 3 3 0 2 19 4

want 1087 0 0 0 0 0 0

to eat 0 13 786 0 10 860 2 0 0 0 17 0 0 0

Chinese 0 6 3 19 0 0 0

food 0 8 0 2 120 0 1

P(want | I) = #(I want) / #(I) = 1087 / 3437 = 0.32

lunch 0 6 12 52 1 0 0

Bigramas del BERP Corpus ¿Qué cosas captura este modelo? ● ● ● ● ● ● ● ●

P(want | I) P(to | want) P(eat | to) P(food | Chinese) P(lunch | eat) P(I | I) P(I | want) P(I | food)

= .32 = .65 = .26 = .56 = .055 = .0023 = .0025 = .013

I I I I want I want I want the kind of food I want is...

Smoothing (suavizado) Todo corpus es limitado. Es inevitable que N-gramas válidos (aunque improbables) queden con probabilidad 0 en nuestro modelo del lenguaje.

I Want To Eat Chinese Food Lunch

I 8 3 3 0 2 19 4

Want To Eat 1087 0 13 0 786 0 0 10 860 0 2 0 0 0 0 0 17 0 0 0 0

Chinese Food lunch 0 0 0 6 8 6 3 0 12 19 2 52 0 120 1 0 0 0 0 1 0

Técnicas de smoothing: Laplace Smoothing, Good-Turing Discounting

Backoff ●

Otro enfoque para evitar el problema de N-gramas con baja frecuencia.



P w n∣w n−2 w n−1 =?



No tenemos instancias de w n−2 w n−1 w n



En lugar de concluir Prob = 0, hacemos backoff a (N–1)-gramas: P w n∣w n−2 w n−1 ≈ P w n∣w n−1 

Resumen de N-gramas ●



Es posible capturar las probabilidades de secuencias de palabras mediante técnicas estadísticas simples. Suposición de Markov: –





P w n∣w 1n−1 ≈ P w n∣w n−1 n− N 1 

Técnicas de smoothing y backoff para lidiar con problemas de N-gramas con baja frecuencia. Modelos del lenguaje para elegir las soluciones candidatas más probables en múltiples aplicaciones. –

Reconocimiento del habla, traducción automática.



Front-end TTS: tokenización, expansión de abreviaturas.