5 min
Editar

El modelo de lenguaje de n-gramas

Un modelo de lenguaje es una función que asigna a cada palabra una probabilidad de aparecer a continuación de las anteriores. Es la pieza que hay detrás del corrector del teléfono, del reconocedor de voz que elige entre dos frases que suenan igual, y de los sistemas actuales de inteligencia artificial que generan texto, que en el fondo hacen lo mismo que la figura de esta página: mirar lo escrito hasta ahora, calcular qué palabra es probable que siga, elegir una y volver a empezar. La diferencia entre el modelo de esta figura y uno moderno está en cuánto contexto mira y en cómo calcula la probabilidad, no en el gesto. Por eso vale la pena ver el gesto en su forma más simple.

El modelo de la figura es de bigramas: solo mira la última palabra. Está entrenado con el propio corpus de Ikusmira, casi treinta y seis mil oraciones, y consiste en una tabla que dice, para cada una de las mil quinientas palabras más frecuentes, con qué palabra siguió el texto y cuántas veces. Después de «la», la palabra que más veces vino a continuación en esta enciclopedia fue «que», y luego «empresa», «distribución», «media» y «sociedad»; después de «sistema», «de», «político» y «educativo». Esas frecuencias, divididas por el total, son las probabilidades, y son las barras claras de la figura. Generar texto es recorrer la tabla: se empieza con la distribución de las palabras que abren oración, se elige una, se busca su fila, se elige la siguiente, y así hasta que sale el punto, que también es una palabra de la tabla.

Interactivo Un modelo de bigramas entrenado con las oraciones de esta enciclopedia. Las barras son las palabras que siguieron a la última en el corpus, con su frecuencia; pulsa una para elegirla o deja que el modelo sortee. La temperatura decide cuánto se fía de la barra más larga. Escribe una palabra para empezar por ella.

Lo que se ve al escribir veinte palabras es exactamente lo que se espera de un modelo que solo recuerda una: cada par de palabras consecutivas es plausible, porque salió del corpus, y la frase entera no lo es, porque nadie ha comprobado que la cuarta palabra tenga algo que ver con la primera. El texto cambia de tema a mitad de la oración y produce concordancias imposibles, y sin embargo suena a esta enciclopedia, con su «la distribución de la» y su «el sistema político de». Andréi Márkov hizo el primer análisis de este tipo en 1913, contando a mano las vocales y consonantes de los veinte mil primeros caracteres de Eugenio Oneguin para mostrar que la probabilidad de cada letra dependía de la anterior, y las cadenas que llevan su nombre son la matemática del asunto. Claude Shannon convirtió esa idea en un modelo del lenguaje en 1948: en el artículo que fundó la teoría de la información generó textos en inglés con modelos de orden creciente, de letras y luego de palabras, y mostró que con bigramas de palabras ya aparecen tramos que parecen inglés, y con trigramas, frases casi enteras. En 1951 usó el mismo instrumento al revés, pidiendo a personas que adivinaran la letra siguiente de un texto, para estimar cuánta información lleva cada letra del inglés.

El deslizador de temperatura enseña la segunda idea importante, que es cómo se elige. Si el modelo tomara siempre la palabra más probable, escribiría siempre lo mismo y caería en bucles: «de la de la de la». Si sorteara con las probabilidades tal cual, produciría rarezas cada pocas palabras. La temperatura reparte entre los dos extremos: baja, acentúa las diferencias entre las barras y el modelo se vuelve conservador y repetitivo; alta, las iguala y el modelo se vuelve variado y disparatado. El mismo parámetro, con el mismo nombre, existe en los sistemas generativos actuales, y la experiencia de mover el deslizador de la figura es la misma que tiene quien lo ajusta en uno de ellos.

El problema que impidió que los n-gramas fueran más lejos es el que se ve al escribir una palabra que la figura no conoce: la tabla no tiene fila para ella. Un modelo de bigramas con un vocabulario de cincuenta mil palabras tiene dos mil quinientos millones de pares posibles, y casi todos no aparecen nunca en ningún corpus; uno de trigramas tiene muchos más, y las combinaciones no vistas dominan. Slava Katz propuso en 1987 el remedio estándar, el retroceso: si el trigrama no se ha visto, usar el bigrama, y si tampoco, la palabra sola, descontando algo de probabilidad a lo visto para dárselo a lo no visto. Con esos parches, los modelos de n-gramas fueron el corazón del reconocimiento de voz y la traducción automática durante treinta años, y el manual de Jurafsky y Martin sigue dedicándoles un capítulo porque las ideas —la probabilidad condicional, el vocabulario cerrado, el suavizado, la perplejidad como medida— son las mismas que después.

Lo que cambió fue la representación. Yoshua Bengio y sus colegas propusieron en 2003 sustituir la tabla por una red neuronal que aprendiera, para cada palabra, un vector de números en el que palabras parecidas quedan cerca, de modo que lo que el modelo aprende sobre «empresa» le sirve también para «compañía», que en la tabla de bigramas es una fila aparte. Los modelos actuales son descendientes de esa idea, con una diferencia de escala que lo cambia todo: miran miles de palabras de contexto en lugar de una, y sus tablas son redes con cientos de miles de millones de pesos entrenadas sobre billones de palabras. Pero al final de cada paso hacen lo que hace la figura: producir una distribución sobre la palabra siguiente y elegir una. Cuando la figura escribe «la sociedad de la información y la comunicación de la empresa» está haciendo, con una memoria de una palabra, lo mismo que hacen ellos con una de miles.

§

Fuentes

  1. Andréi A. MárkovUn ejemplo de investigación estadística del texto de «Eugenio Oneguin» que ilustra el enlace de pruebas en cadenaBoletín de la Academia Imperial de Ciencias de San Petersburgo, VI serie, 7(3) (en ruso)1913
  2. Claude E. ShannonA Mathematical Theory of CommunicationThe Bell System Technical Journal 27(3)1948
  3. Claude E. ShannonPrediction and Entropy of Printed EnglishThe Bell System Technical Journal 30(1)1951
  4. Slava M. KatzEstimation of Probabilities from Sparse Data for the Language Model Component of a Speech RecognizerIEEE Transactions on Acoustics, Speech, and Signal Processing 35(3)1987
  5. Yoshua Bengio, Réjean Ducharme, Pascal Vincent y Christian JauvinA Neural Probabilistic Language ModelJournal of Machine Learning Research 32003
  6. Daniel Jurafsky y James H. MartinSpeech and Language Processing, 3.ª ed. (borrador), capítulo 3: N-gram Language ModelsStanford University2024
Sarasola, Eneko (2026). "El modelo de lenguaje de n-gramas". Ikusmira. Recuperado de https://ikusmira.org/p/el-modelo-de-lenguaje-de-n-gramas/

Una errata, un dato desfasado, un párrafo que falta: edítalo y la redacción revisa tu propuesta.

Sugerir una mejora