Story Transcript
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.