1 Calculando probabilidades (diapositivas originales de J. Eisner) N-gram models Luis Villaseñor...

Post on 22-Jan-2016

212 views 0 download

Transcript of 1 Calculando probabilidades (diapositivas originales de J. Eisner) N-gram models Luis Villaseñor...

1

Calculando probabilidades

(diapositivas originales de J. Eisner)

N-gram modelsLuis Villaseñor Pineda

Laboratorio de Tecnologías del LenguajeCoordinación de Ciencias Computacionales,

Instituto Nacional de Astrofísica, Óptica y Electrónica

2

Breves sobre la probabilidad

¿Que quiere decir una probabilidad?

p(Jacinto primer lugar | cielo despejado) = 0.9

Comportamiento anterior? Certeza de una creencia?

3

p es una función sobre conjuntos de eventos

despejado

ganador

Todos los eventos

p(ganador | despejado) p(ganador, despejado) / p(despejado)

4

Algunas propiedades de p

• p() = 0 p(todos los eventos) = 1

• p(X) p(Y) para cualquier X Y

• p(X) + p(Y) = p(X Y) si X Y=

5

Deseamos identificar el idioma de un texto

“Horses and Lukasiewicz are on the curriculum.”

Está en inglés o en polaco?

Es parecido (=probable) al inglés? Es parecido (=probable) al polaco?

El espacio de ventos no son carreras son secuencias de caracteres (x1, x2, x3, …) donde xn = EOS (end of sentence)

6

Sea p(X) = probabilidad de que el texto esté en inglés Sea q(X) = probabilidad de que el texto esté el polaco ¿Qué probabilidad es mayor?

“Horses and Lukasiewicz are on the curriculum.”

p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …)

Deseamos identificar el idioma de un texto

7

Aplicamos la regla de la cadena

p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …)

= p(x1=h)

* p(x2=o | x1=h)

* p(x3=r | x1=h, x2=o)

* p(x4=s | x1=h, x2=o, x3=r)

* p(x5=e | x1=h, x2=o, x3=r, x4=s)

* p(x6=s | x1=h, x2=o, x3=r, x4=s, x5=e)* … = 0

4470/52108

395/ 44705/ 395

3/ 5

3/ 3

0/ 3

counts from Brown corpus

8

Debilitamos la dependencia

p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …)

p(x1=h)

* p(x2=o | x1=h)

* p(x3=r | x1=h, x2=o)

* p(x4=s | x2=o, x3=r)

* p(x5=e | x3=r, x4=s)

* p(x6=s | x4=s, x5=e)* … = 7.3e-10 * …

4470/52108

395/ 4470

5/ 395

12/ 919

12/ 126

3/ 485

counts from Brown corpus

9

Aun mayor independencia

p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …)

p(x1=h)

* p(x2=o | x1=h)

* p(xi=r | xi-2=h, xi-1=o)

* p(xi=s | xi-2=o, xi-1=r)

* p(xi=e | xi-2=r, xi-1=s)

* p(xi=s | xi-2=s, xi-1=e)* … = 5.4e-7 * …

4470/52108

395/ 4470

1417/14765

1573/26412

1610/12253

2044/21250

counts from Brown corpus

10

Simplificamos la notación

p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …)

p(x1=h)

* p(x2=o | x1=h)* p(r | h, o)* p(s | o, r)* p(e | r, s)* p(s | s, e)* …

4470/52108

395/ 4470

1417/14765

1573/26412

1610/12253

2044/21250

counts from Brown corpus

11

Simplificamos la notación

p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …)

p(x1=h)

* p(x2=o | x1=h)* p(r | h, o)* p(s | o, r)* p(e | r, s)* p(s | s, e)* …

4470/52108

395/ 4470

1417/14765

1573/26412

1610/12253

2044/21250

counts from Brown corpus

12

p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …) p(h | BOS, BOS)* p(o | BOS, h)* p(r | h, o)* p(s | o, r)* p(e | r, s)* p(s | s, e)* …

4470/52108

395/ 4470

1417/14765

1573/26412

1610/12253

2044/21250

counts from Brown corpus

Estas probabilidades son usadas para definir p(horses)

Simplificamos la notación

13

p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …)

t BOS, BOS, h

* t BOS, h, o

* t h, o, r

* t o, r, s

* t r, s, e

* t s, e,s

* …

4470/52108

395/ 4470

1417/14765

1573/26412

1610/12253

2044/21250

counts from Brown corpus

Simplificamos la notación

Estas probabilidades son usadas para definir p(horses)

14

Nuestro modelo de probabilidad

Trigram Model(en términos de

parámetros como t h, o, r and t o, r, s )

paramvalores

definiciónde p

determinar probabilidades de un evento

generamostexto aleatorio

15

Inglés vs. Polaco

Trigram ModelValores para el polaco

definiciónde q

calculamosq(X)

Valores para el inglés

definiciónde p

calculamosp(X)

16

¿Qué es la “X” en p(X)?

compare

• Un elemento de algún espacio de eventos implícito• e.g., carrera• e.g., frase

• ¿Qué pasaría si el evento es un documento completo?• p(texto)

= p(frase1, frase2, …)= p(frase1) * p(frase2 | frase1)* …

17

compare

• Supongamos que un evento es una secuencia de letras:

p(horses)

• Pero nosotros reescribimos p(horses) como p(x1=h, x2=o, x3=r, x4=s, x5=e, x6=s, …)

p(x1=h) * p(x2=o | x1=h) * …• ¿Qué significa la notación variable=value ?

¿Qué es la “X” en p(X)?

18

Variables Aleatorias

compare

• p(x1=h) * p(x2=o | x1=h) * …• Un evento es una secuencia de letras

• x2 es la segunda letra en la secuencia

• p(númbero de soles=2) o sólo p(S=2)• El evento es una secuencia de 3 volados

• H ies el número de soles• p(despejado=true) o sólo p(despejado)

• El evento es una carreca• despejado es verdadero o falso

Respuesta: variable es en realidad una función de eventos

19

Como aplicar estas ideas al tratamiento del lenguaje

Contar palabras, fonemas, caracteres, signos de puntuación, frases, etc. condicionados por un contexto anterior

¿para qué?

20

Identificación del lenguaje

Útil para moteores de búsqueda Útiles para text-to-speech (como pronunciar el

nombre “Jan Lukasiewicz”?)

21

Otras más

Categorización de Texto Segmentación por tópicos Corrección ortográfica contextual

*esta es una prueba esta prueba es una

Reconocimiento de voz El pato maulla

Traducción automática

22

Traducción

151. In quale città si trova la Porta di Brandeburgo?

¿En cuál ciudad se encuentra la Puerta de Brandeburgo? ¿En qué ciudad la puerta de Brandeburgo se encuentra? #¿En qué pueblo se encuentra la Puerta de Brandeburgo? ¿En cuál ciudad halla la puerta de Brandeburgo?

23

Reconocimiento de voz en Diálogo

C: l'agence APT

A: oui bonjour c'est l'APT du... du Trentino bonjour

C: oui bonjour je voudrais faire un voyage dans le Trentin

A: oui

C: et je voudrais savoir ce que vous proposez comme... comme organisation toute

prête avec les voyages les réservations d'hôtels

A: ah oui bien sûr nous avons des offres des forfaits pour l'hiver et pour l'été en quelle

saison désirez-vous arriver

C: nous allons arriver au mois d'août donc en été

A: en été oui quelles exigences avez-vous vous avez des des préférences pour certaines

localités du Trentino

C: non non du tout c'est un voyage donc on sera deux adultes plus deux enfants

A: d'accord

24

Creación de un modelo de lenguaje

1 – experimentos del mago de Oz

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

Corpus de transcripciones

2 – aprendizaje de un modelo de lenguaje

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52Pentat

euque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

Modelofinal

Herramientasde cálculo

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

Modelo inicial

Herramientasde adaptación

25

Producción de un modelo de lenguaje estadístico

Sensible al corpus de entrenamiento

Creación del

corpus

Cálculo

del modelo de

lenguaje

Adaptación del

modelo

Modelo de

Lenguaje

26

Problemática

Obtener modelos de lenguaje estadísticos minimizando el trabajo humano

únicamente necesario en la definición del vocabulario permitiendo el modelado del lenguaje oral

a través de la utilización de documentos de Internet

27

Ejemplos de los corpus Grace

Texto de estilo periodístico para el proyecto de evaluación de sistemas de etiquetado GRACE

WebFr (o WebFr1) 1.5 Millones de documentos del Web (febrero 1999)

NewsFr 440000 mensajes de los newsgroups (junio 1999)

WebFr4 5 Millones de documentos (diciembre 2000)

WebMex Resultado de la colaboración franco-mexicana

28

Tamaño del vocabulario

0

50000

100000

150000

200000

250000

Grace WebFr NewsFr WebFr4

Num

ero

de v

ocab

los

Estudio cuantitativo

Tamaño original de los datos

1

1000

1000000

1E+09

Grace WebFr NewsFr WebFr4

Tam

año

del

co

rpu

s

40 Mb

650 Mb

10 Gb

44 Gb

29

Crecimiento de la cantidad de datos disponibles

Corpus Tamaño originalTamaño

promedio de las páginas

Tamaño del texto en cada página

% de texto% de páginas francófonas

Tamaño útil

WebFr (02/99) 10 Gb 6.6 Kb 4.2 Kb 63% 73% ~4.5 GbWebFr4 (12/00) 44 Gb 8,5 Kb 3.6 Kb 43% 73% ~13 Gb

30

Estudio cualitativo

Representación proporcional de pronombres personales en:Grace, WebFr, NewsFr & WebFr4

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

je ou j' tu ou t' il, elle ouon

nous vous ils ouelles

Grace

WebFr

NewsFr

WebFr4

31

bonjour monsieur durand comment allez vous . Extracción de texto

Vocabulario

allez

bonjour

comment

monsieur

vous

Filtrado en bloques mínimos

<s>l ≥ 1 bonjour monsieur

comment allez vous </s>

l ≥ 2 <s> bonjour monsieur

comment allez vous </s>

l ≥ 3 comment allez vous </s>

l ≥ 4 Ø

Filtrado en bloques mínimos

32

Tamaño de los bloques mínimos

Hacer una elección óptima entre el volumen de datos y la representación en 3-gramas:

– el tamaño debe ser 3 dado que nosotros trabajamos con 3-gramas

– si escojemos 3 :comment allez-vous ?

– si escojemos 4 :bonjour comment allez-vous ?

– si escojemos 5 :bonjour monsieur comment allez-vous ?

nuestra 1er elección

nuestra elección final

33

La probabilidad de una palabra dado su antecedente se calcula como sigue :

En un texto « normal » esto conduce a una aproximación sobre las últimas palabras de los textos

En este caso, todas las probabilidades P( x | je voudrais) están mal estimadas dado que la cuenta del último « je voudrais » interfiere. Generalmente uno supone que sobre un gran corpus este problema es mínimo.

Problema del aprendizaje

)mm(

)mmm( )mm | m P(

21

321213 N

N

… … … … … c’est un grand lit que je voudrais

34

Si se considera el siguiente corpus de aprendizaje:

P( réserver | je voudrais ) = 0.5

El problema precedente aparece al final de cada bloque, y nosotros tenemos un gran número de bloques. Las probabilidades por lo tanto son equivocadas. Para resolverlo, nosotros utilizamos la siguiente fórmula con contadores diferentes:

P( réserver | je voudrais ) = 1

Problema con los bloques mínimos

)mm(

)mmm( )mm | m P(

212

3211213 N

N

<s> bonjour ici monsieur durand je voudrais réserver<s> c'est une chambre que je voudrais

352 – Agregado de palabras frecuentes

1 – Frecuencia de formas lexicales

Problema de las palabras desconocidas

WebFr

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

ABU

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

BDLex

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

Vocabulariode la tarea

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

Frecuencia de palabras

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

Nuevovocabulario

+

36

5 – cálculo del modelo de lenguaje

Cálculo del modelo de lenguaje

WebFr

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

VocabularioFinal

Filtro deBloquesmínimos

Il mordait en ce moment de fort bon appétit dans un morceau de pain.Il en arracha un peu de mie pour faire une boulette.Il la lança railleusement par le vasistas d'une fenêtre sur laquelle il s'appuyait. Bien dirigée, la boulette rebondit presque à la hauteur de la croisée.Cet inconnu traversait la cour d'une maison située rue Vivienne, où.Cette exclamation échappait à un clerc appartenant au genre de ceu.Il mordait en ce moment de fort bon appétit dans un morceau de pain.Il en arracha un peu de mie pour faire une boulette.Il la lança railleusement par le vasistas d'une fenêtre sur laquelle il s'appuyait. Il en arracha un peu de mie pour faire une boulette.Il la lança railleusement par le vasistas d'une fenêtre sur laquelle il s'appuyait. Bien dirigée, la boulette rebondit presque à la hauteur de la croisée, Cet inconnu traversait la cour d'une maison.

Corpus de Bloques mínimos

Herramientasadaptadas

délissasses 1croquantes 42emmènerais 9emmènerait 26badgé 19badge 3439faillirent 52pentateuque 309tabloïde 17

tabloïds 117attendriraient 5agatisé 1portiques 1165accusais 18accusait 662bioclimats 4circonscriras 2

Modelode lenguaje

final

37

Desempeño de reconocedor

Tasa de reconocimiento dado eltamaño del corpus

35

40

45

50

55

60

65

70

75

2 6 10

14

18

22

26

30

34

38

42

46

Corpus en milliones de palabras

Tasa d

e

reco

no

cim

ien

to

WebFr

Grace

Geod

Grace 40.35%

mago de Oz 39.47%

145

~78%~88% con

bloques 5

Corpus de aprendizaje

Corpus de prueba

Num. de locutores

Num. de frasesNum. de palabras

WebFr1 CStar120 2 120 1127- ah bon alors c' est d' accord vous me la réservez au nom de monsieur martin

- pour quatre jours à partir de demain quel est le tarif

- ah à trois cent soixante eh bien je je préfère encore l'autre la première

38

Problemas al calcular los n-gramas

¿Qué pasa con los n-gramas que no hemos visto?

¿su probabilidad es cero? ¿qué pasa si les damos probabilidad cero?

¿Cómo lo resolvemos? “smoothing” / “discounting”

39

Ejemplifiquemos el problema

El caso de los bigramas:

Generalizamos a n-gramas:

40

Nuestro corpus

41

Probabilidades por bigrama

42

Primera solución: incrementar en 1 todos los contadores

43

Entonces tenemos

Recordando nuestra fórmula:

Agregamos 1 y normalizamos por el tamaño del vocabulario

44

Nuestros nuevos datos

45

Nuevas probabilidades

46

Nuevas probabilidades

47

¿Qué tanto cambio?

48

Otra solución: Witten-Bell

Usar la cuenta de cosas “vistas” para estimar la cuenta de las cosas “no-vistas”

¿Cuál es la probabilidad de ver un n-grama por la primera vez? Contemos el número de veces que vemos N-gramas por primera

vez en nuestro corpus

T – total de N-gramas N – número de tokens

49

Los valores son más razonables