modelo del lenguaje. n-gramas

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

Upload: lynhan

Post on 11-Feb-2017

234 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Modelo del Lenguaje. N-gramas

Modelo del Lenguaje. N-gramas.

Introducción a las Tecnologías del Habla

2o cuatrimestre 2014 – Agustín Gravano

Page 2: Modelo del Lenguaje. N-gramas

Predicción de palabras

Las acciones se ...

Page 3: Modelo del Lenguaje. N-gramas

Predicción de palabras

Las acciones se derrumbaron esta ...

Page 4: Modelo del Lenguaje. N-gramas

Predicción de palabras

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

Page 5: Modelo del Lenguaje. N-gramas

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

Page 6: Modelo del Lenguaje. N-gramas

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

Page 7: Modelo del Lenguaje. N-gramas

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

Page 8: Modelo del Lenguaje. N-gramas

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

Page 9: Modelo del Lenguaje. N-gramas

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

Page 10: Modelo del Lenguaje. N-gramas

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.

Page 11: Modelo del Lenguaje. N-gramas

Predicción de palabras

● En alguna medida, es posible predecir palabras futuras en una oración.

● ¿Cómo?

– Conocimiento del dominio.● baja en las tasas de interés

– Conocimiento sintáctico.● el <sustantivo>, se <verbo>

– Conocimiento léxico.● ataques terroristas, Reserva Federal

Page 12: Modelo del Lenguaje. N-gramas

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.

Page 13: Modelo del Lenguaje. N-gramas

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

Page 14: Modelo del Lenguaje. 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

Page 15: Modelo del Lenguaje. 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

Page 16: Modelo del Lenguaje. N-gramas

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)?

??

Page 17: Modelo del Lenguaje. N-gramas

N-gramas

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

P(A ∧ B) = P(A | B) • P(B) (regla de la cadena)

– 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)

P (w1m)=P (w1)P (w2∣w1)P (w3∣w1

2) ...P (wm∣w1m−1)

=∏k=1

m

P (w k∣w1k−1)

Page 18: Modelo del Lenguaje. N-gramas

● Suposición de Markov:

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

– N=2: bigrama

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

– N=3: trigrama

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

N-gramas

P (wm∣w1m−1)≈P (wm∣wm−N+ 1

m−1 )

P (wm∣w1m−1)≈P (wm∣wm−1)

P (wm∣w1m−1)≈P (wm∣wm−2

m−1)

Page 19: Modelo del Lenguaje. N-gramas

N-gramas

● Estimar la probabilidad de la oración:

– I want to eat Chinese food.● P(I want to eat Chinese food) =

P(I | <start>) P(want | I) P(to | want) P(eat | to) P(Chinese | eat) P(food | Chinese) P(<end>|food)

● ¿Qué necesitamos para estos cálculos?

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

– Pre-calculadas de un corpus grande.

Page 20: Modelo del Lenguaje. N-gramas

Bigramas del BERP Corpus

● BERP (Berkeley Restaurant Project)– Consultas de usuarios a un sistema de diálogo hablado.

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

0100004lunch

000017019food

112000002Chinese

522190200eat

12038601003to

686078603want

00013010878I

lunchfoodChineseeattowantI

Page 21: Modelo del Lenguaje. N-gramas

Bigramas del BERP Corpus

¿Qué cosas captura este modelo?

● P(want | I) = .32 ● P(to | want) = .65● P(eat | to) = .26 ● P(food | Chinese) = .56● P(lunch | eat) = .055● P(I | I) = .0023 I I I I want ● P(I | want) = .0025 I want I want● P(I | food) = .013 the kind of food I want is...

Page 22: Modelo del Lenguaje. N-gramas

Smoothing (suavizado)

0100004Lunch

000017019Food

112000002Chinese

522190200Eat

12038601003To

686078603Want

00013010878I

lunchFoodChineseEatToWantI

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

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

Page 23: Modelo del Lenguaje. N-gramas

Backoff

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

● No tenemos instancias de

● En lugar de concluir Prob = 0, hacemos backoff a (N–1)-gramas:

P wn∣wn−2wn−1=?

wn−2wn−1wn

P wn∣wn−2wn−1≈P wn∣wn−1

Page 24: Modelo del Lenguaje. N-gramas

Resumen de N-gramas

● Es posible capturar las probabilidades de secuencias de palabras mediante técnicas estadísticas simples.

● Suposición de Markov:

● 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.

P wn∣w1n−1≈P wn∣wn−N1

n−1