Tema

Modelos de n gramas

Un modelo de n gramas estima la probabilidad de la palabra siguiente contando cuántas veces siguió a las n menos 1 palabras anteriores en un corpus de entrenamiento.

Nombre en inglés

N-gram language models

Intuición

El supuesto de Markov recorta la memoria, porque en lugar de condicionar sobre toda la historia el modelo mira una ventana fija de dos o tres palabras y olvida el resto. Conviene imaginar un lector con memoria de tres segundos que aun así acierta mucho, ya que el idioma resulta muy predecible en distancias cortas y bastante menos a lo largo de un párrafo.

Fórmula

P(w_1 ... w_T) = \prod_{t=1}^{T} P(w_t | w_{t-n+1} ... w_{t-1}),  con  P(w_t | w_{t-1}) = C(w_{t-1} w_t) / C(w_{t-1})

Ejemplo resuelto

Sea un corpus de tres oraciones, cada una precedida por una marca de inicio, que son el gato duerme, el gato come y el perro duerme. Los conteos dan C(el) = 3, C(el gato) = 2 y C(el perro) = 1, de donde P(gato | el) = 2/3 = 0.667 y P(perro | el) = 1/3 = 0.333. Como C(gato) = 2 con una continuación duerme y otra come, resulta P(duerme | gato) = 0.5. La oración el gato duerme recibe entonces (3/3) por (2/3) por (1/2) = 1/3, es decir 0.333.

Errores frecuentes

Ejercicio

Con el corpus del ejemplo, calcule la probabilidad de la oración el perro come bajo el modelo de bigramas sin suavizar.

Ver la solución

La oración se descompone en P(el | inicio) por P(perro | el) por P(come | perro). Los conteos dan P(el | inicio) = 3/3 = 1 y P(perro | el) = 1/3, pero tras perro solo se vio duerme, de modo que P(come | perro) = 0/1 = 0. Al aparecer un factor nulo, el producto entero vale 0 y la oración resulta imposible para el modelo, que es justo el defecto que corrige el suavizado.

Respuesta: 0

Temas relacionados

Cursos a los que prepara

Simulador

Este tema tiene un simulador interactivo en la guía.

Abrir el tema en la guía