MODELOS DE LENGUAJES Flashcards
¿Qué son los n-gramas? ¿Para qué sirven?
Son una pieza fundamental de casi todas las aplicaciones de minería de textos.
• Normalmente, una aplicación de lenguaje natural funciona bien si su solución está construida en base a n-grams.
• No son muy caro de computar, si es necesario tener una buena cantidad de memoria para n muy grandes.
• Por convención: n=1 son unigramas; n=2 son bigramas; n=3 trigramas; n=4 tetragramas i cuadrigramas; n=5 pentagramas; etc.
• Los n-gramas nos proveen un método para, por ejemplo, predecir la palabra que sigue
Idea base de los N-Grams
calcular la probabilidad de la próxima palabra puede ser aproximado mediante la probabilidad de la siguiente palabra.
• La idea de los modelos del lenguaje es que:
– Los N-gramas pueden ser utilizados para estimar la probabilidad condicional de las “palabras que vienen”.
– Aplicando esto a toda la oración, podemos estimar la probabilidad conjunta de toda la frase.
• Ya sea estimando la probabilidad de “la palabra que viene” o la probabilidad de “una oración”, los N-gramas es una de las herramientas más importantes para procesar el lenguaje natural.
Ngrams discernir ruido y ambigüedad:
– Nos pueden ayudar a distinguir que hay traducciones más probables que otras: “briefed reporters” es más plausible que “briefed to reporters”, o que “main contents” es más factible que “chief contents”.
• También nos puede ayudar en la corrección de ortografía, aún cuando los errores corresponden a palabras que realmente existen en el idioma.
Probabilidades de los Ngramas
• Lasprobabilidadessebasanencontarlascosas, e.g., palabras.
• En NLP (PLN en español), el “contar” se basa en una colección de textos (a.k.a., corpus, pl. corpora).
– Normalmente, palabras.
utterance
• En la jerga NLP, utilizamos la palabra en inglés “utterance” para referirnos a la frase hablada de una oración.
Ngrams- tokens
- En resumen, contar palabras requiere llevar a cabo varios pasos: tokenización, normalización, etc.
- Se le llama “tokens” al número de palabras en un corpus, considerando repeticiones.
- Se le llama tipos, al vocabulario V, de todas las palabras sin considerar repeticiones.
N-gramas Simples
- Se le llama a n-gramas simples a los que se utilizan sin suavizamiento (en inglés “smoothing”).
- La idea es calcular la probabilidad P(w|h) de una palabra w dado alguna historia h.
- La regla de la cadena muestra el vínculo entre calcular la probabilidad conjunta de una secuencia y calcular la probabilidad condicional de una palabra dado las palabras previas.
- Podemos obtener la probabilidad conjunta de una secuencia entera de palabras multiplicando un número de probabilidades condicionales.
- Pero la regla de la cadena no nos ayuda mucho, no tenemos la forma exacta de calcular la probabilidad de una palabra dado una secuencia larga de palabras P(wn|wn-11).
• ¿Cómo se estiman esas probabilidades de Ngrams simples?
• Con los estimadores de máxima verosimilitud o MLE. Los cuales se obtienen contando desde el corpus, y normalizándolos para que queden entre 0 y 1.
frecuencia relativa.
Es un ratio, Para el caso general tenemos:
Evaluación de N-gramas: Perplexity
• La idea intuitiva detrás de Perplexity es que dado dos modelos probabilísticos, el mejor modelo es el cual que se ajusta mejor a los detalles de los datos de prueba.
• Podemos medir una mejor predicción mirando a la probabilidad que el modelo le otorga a los datos de prueba.
– Un mejor modelo va a asignar probabilidades más altas a los datos de prueba.
• La mejor forma de evaluar un modelo de n- gramas es “in vivo”, pero eso no es siempre posible.
– Hacer pruebas extensas es muy caro.
• Aunque una mejora en Perplexity no necesariamente involucra una mejora en el rendimiento, frecuentemente están correlacionadas.
– Normalmente, cuando se nota una mejora en Perplexity, se procede a una evaluación más exhaustiva.
• Entre más alta la probabilidad de una secuencia de palabras, más baja es su Perplexity.
– Minimizar la Perplexity equivale a maximizar la probabilidad en el conjunto de prueba de acuerdo al LM.
• Nótese que esto involucra agregar los saltos de líneas respectivos.
• Una forma más intuitiva de pensar lo que es la Perplexity de un idioma sería el factor de ramificación promedio balanceado.
– Por ejemplo tenemos 10 dígitos, después de una secuencia de digitos, para el próximo número tenemos 10 alternativas. Por ende, la probabilidad es 1/10.
– Si imaginamos que uno de los números es más frecuentes que el resto, la perplexity va a ser más baja, dado que la mayoría de las veces el próximo número va a ser cero.
- En general, Perplexity disminuye cuando se consideran n-gramas más largos.
- Nótese que dos LMs pueden ser comparados en base a Perplexity si utilizan el mismo vocabulario.
- El modelo debe ser construido sin información del conjunto de prueba.
OOV
– Las palabras que aparecen en las oraciones de prueba y no en el conjunto de entrenamiento se llaman “desconocidas” o “fuera de vocabulario” (OOV del inglés “Out of Vocabulary”).
• El porcentaje de OOV que aparece en el conjunto de prueba se denomina la tasa OOV.
Vocabulario Cerrado
– Vocabulario cerrado es cuando sabemos el diccionario completo, es decir, sabemos que en las oraciones de prueba no van a venir palabras que no son vistas en el conjunto de entrenamiento.
Vocabulario Abierto
• Un vocabulario abierto es cuando modelamos estas potenciales palabras desconocidas. Con este objetivo agregamos la pseudo-palabra “”.
• Se puede entrenar un modelo de tres formas:
– Escoger un vocabulario fijo de ante-mano.
– Convertir cualquier palabra que no está en el vocabulario fijo a “”.
– Estimar los modelos como si “” fuera cualquier otra palabra.
Smoothing
• La tarea de analizar n-gramas de frecuencia cero o de muy baja frecuencia y asignarle un valor más conveniente se llama suavizamiento.
• Hay variados métodos:
– Laplace (Add-One) Smoothing – Good-Turing Discounting
– Witten-Bell Discounting