1 / 49

Calculando probabilidades (diapositivas originales de J. Eisner)

Calculando probabilidades (diapositivas originales de J. Eisner). N-gram models Luis Villaseñor Pineda Laboratorio de Tecnologías del Lenguaje Coordinación de Ciencias Computacionales, Instituto Nacional de Astrofísica, Óptica y Electrónica. Breves sobre la probabilidad.

Télécharger la présentation

Calculando probabilidades (diapositivas originales de J. Eisner)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Calculando probabilidades (diapositivas originales de J. Eisner) N-gram models Luis Villaseñor Pineda Laboratorio de Tecnologías del Lenguaje Coordinació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 p(ganador | despejado)  p(ganador, despejado) / p(despejado) despejado ganador Todos los eventos

  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. Deseamos identificar el idioma de un texto • 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, …)

  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/ 4470 5/ 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. Simplificamos la notación 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)

  13. Simplificamos la notación 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 Estas probabilidades son usadas para definir p(horses)

  14. param valores definición de p Nuestro modelo de probabilidad Trigram Model (en términos de parámetros como t h, o, r and t o, r, s ) generamos texto aleatorio determinar probabilidades de un evento

  15. calculamos p(X) calculamos q(X) Inglés vs. Polaco Trigram Model Valores para el inglés definición de p Valores para el polaco definición de q

  16. ¿Qué es la “X” en p(X)? • 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)* … compare

  17. ¿Qué es la “X” en p(X)? • Supongamos que un evento es una secuencia de letras: • p(horses) • Pero nosotros reescribimos p(horses) comop(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 ? compare

  18. Variables Aleatorias Respuesta: variable es en realidad una función de eventos • 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 compare

  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. 1 – experimentos del mago de Oz délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 Corpus de transcripciones Modelo inicial délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 Pentat euque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 Modelo final 2 – aprendizaje de un modelo de lenguaje Creación de un modelo de lenguaje Herramientas de cálculo Herramientas de adaptación

  25. Producción de un modelo de lenguaje estadístico Cálculo del modelo de lenguaje Adaptación del modelo Modelo de Lenguaje Creación del corpus Sensible al corpus de entrenamiento

  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. 44 Gb 10 Gb 650 Mb 40 Mb Estudio cuantitativo

  29. Crecimiento de la cantidad de datos disponibles

  30. Estudio cualitativo

  31. Extracción de texto Filtrado en bloques mínimos l ≥ 1 l ≥ 2 l ≥ 4 l ≥ 3 comment allez vous </s> Ø Filtrado en bloques mínimos bonjour monsieur durand comment allez vous . bonjour monsieur <s> comment allez vous </s> <s> bonjour monsieur vous comment allez </s>

  32. nuestra elección final nuestra 1er elección 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 ?

  33. Problema del aprendizaje • 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. … … … … … c’est un grand lit que je voudrais

  34. Problema con los bloques mínimos • 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 <s> bonjour ici monsieur durand je voudrais réserver<s> c'est une chambre que je voudrais

  35. 1 – Frecuencia de formas lexicales délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 BDLex délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 Frecuencia de palabras délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 ABU délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 WebFr Vocabulario de la tarea + délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 Nuevo vocabulario 2 – Agregado de palabras frecuentes Problema de las palabras desconocidas

  36. 5 – cálculo del modelo de lenguaje délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 Vocabulario Final 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 délissasses 1 croquantes 42 emmènerais 9 emmènerait 26 badgé 19 badge 3439 faillirent 52 pentateuque 309 tabloïde 17 tabloïds 117 attendriraient 5 agatisé 1 portiques 1165 accusais 18 accusait 662 bioclimats 4 circonscriras 2 Modelo de lenguaje final WebFr Cálculo del modelo de lenguaje Filtro de Bloques mínimos Herramientas adaptadas

  37. ~88% con bloques  5 ~78% 145 Desempeño de reconocedor - 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

More Related