Un bigrama, también conocido como digrama, es una secuencia de dos elementos adyacentes extraídos de una cadena de tokens, que suelen ser letras, sílabas o palabras. En términos formales, un bigrama es un n-grama con n igual a 2. La distribución de frecuencias de cada bigrama en una cadena dada se utiliza comúnmente para el análisis estadístico simple de texto en muchas aplicaciones, incluida la lingüística computacional, la criptografía y el reconocimiento del habla.
Los bigramas sirven como un bloque de construcción fundamental para comprender y procesar el lenguaje natural. Al examinar la coocurrencia de elementos adyacentes, los investigadores e ingenieros pueden capturar relaciones locales dentro del texto, que son útiles para tareas que van desde predecir la siguiente palabra en una secuencia hasta identificar el idioma de un documento. Representan un punto intermedio entre el análisis de un solo carácter o una sola palabra y los modelos de n-gramas más largos, equilibrando la eficiencia computacional con el poder descriptivo.
Aplicaciones
Los bigramas se emplean en una variedad de dominios donde las propiedades estadísticas del texto son relevantes. En la lingüística computacional y el procesamiento del lenguaje natural, son parte integral de muchos modelos de lenguaje, particularmente aquellos utilizados en el reconocimiento automático del habla. Estos modelos se basan en la probabilidad de una palabra dado la palabra anterior, una aplicación directa de la frecuencia de bigramas, para desambiguar entre posibles interpretaciones fonéticas y mejorar la precisión de la transcripción.
En criptografía, los ataques de frecuencia de bigramas son una técnica clásica utilizada para resolver criptogramas, incluidos los cifrados de sustitución simple. Al comparar la frecuencia de pares de letras en texto cifrado con distribuciones conocidas del idioma sospechado, los criptoanalistas pueden deducir posibles mapeos de letras. Este método se enmarca en el análisis de frecuencia más amplio, que explota la distribución no uniforme de caracteres y sus combinaciones en los lenguajes naturales.
Para la identificación estadística de idiomas, la frecuencia de bigramas proporciona un enfoque sencillo. Al construir perfiles de distribuciones de bigramas características para diferentes idiomas, los sistemas pueden clasificar una muestra de texto desconocida midiendo qué tan cerca coinciden sus frecuencias de bigramas con cada perfil. Esta técnica es efectiva incluso con fragmentos de texto relativamente cortos.
En la lingüística recreativa, o logología, los bigramas son un tema de exploración lúdica. Los entusiastas buscan palabras en inglés que comiencen con cada bigrama posible, o intentan descubrir palabras que contengan una cadena de bigramas repetidos, como la palabra 'logogogue'. Estas actividades resaltan los patrones curiosos y las limitaciones de la formación de palabras en el idioma inglés.
Además, los bigramas con huecos, también llamados bigramas de salto, son pares de palabras que permiten espacios entre las palabras constituyentes. Esta variación permite modelar dependencias más amplias, como evitar palabras de conexión o simular relaciones sintácticas similares a las de una gramática de dependencias. Tales bigramas extienden el concepto básico para capturar interacciones más distantes dentro de una oración.
Frecuencia de Bigramas en el Idioma Inglés
La frecuencia de los bigramas de letras más comunes en un gran corpus de inglés sigue una distribución distintiva. El bigrama más frecuente es 'th', que aparece en el 3.56% de todas las ocurrencias de bigramas, seguido de 'he' con un 3.07%, 'in' con un 2.43%, 'er' con un 2.05% y 'an' con un 1.99%. Otros bigramas frecuentes incluyen 're' con un 1.85%, 'on' con un 1.76% y 'at' con un 1.49%.
La distribución continúa con 'en' con un 1.45%, 'nd' con un 1.35%, 'ti' con un 1.34%, 'es' con un 1.34%, 'or' con un 1.28% y 'te' con un 1.20%. El bigrama 'of' aparece con un 1.17%, y 'ed' también con un 1.17%. Frecuencias más bajas pero aún notables incluyen 'is' con un 1.13%, 'it' con un 1.12%, 'al' con un 1.09%, 'ar' con un 1.07%, 'st' con un 1.05% y 'to' con un 1.05%.
Más abajo en la lista, 'nt' tiene una frecuencia de 1.04%, 'ng' con un 0.95%, 'se' con un 0.93%, 'ha' con un 0.93%, 'as' con un 0.87%, 'ou' con un 0.87%, 'io' con un 0.83%, 'le' con un 0.83% y 've' con un 0.83%. Los bigramas 'co' y 'me' ocurren cada uno con un 0.79%, seguidos de 'de' y 'hi' con un 0.76% cada uno. Otros porcentajes pequeños incluyen 'ri' con un 0.73%, 'ro' con un 0.73%, 'ic' con un 0.70%, 'ne' con un 0.69%, 'ea' con un 0.69%, 'ra' con un 0.69% y 'ce' con un 0.65%.
Estos datos de frecuencia son cruciales para aplicaciones como la criptografía, donde identificar los pares más comunes ayuda a descifrar códigos, y para optimizar diseños de teclado o algoritmos de compresión de texto.
Relación con Otros N-gramas
Los bigramas son un caso específico de la técnica general de n-gramas, donde n denota el número de elementos en la secuencia. Los unigramas (n=1) consideran tokens individuales, mientras que los trigramas (n=3) y los n-gramas de orden superior capturan contextos más largos. La elección de n implica un equilibrio: valores más grandes de n pueden modelar dependencias más complejas, pero requieren exponencialmente más datos para estimarse de manera confiable debido a la escasez de datos.
En las aplicaciones modernas de Machine learning, particularmente dentro de los pipelines de Natural language processing, las estadísticas de n-gramas han sido en gran medida superadas por modelos de Neural network como las arquitecturas de Transformer (architecture). Sin embargo, los bigramas siguen siendo relevantes en la investigación fundamental de language model y en escenarios donde los recursos computacionales son limitados o la necesidad de interpretabilidad es alta.
Aspectos Computacionales
El cálculo de frecuencias de bigramas es sencillo y eficiente. Para una cadena dada de tokens, se puede iterar a través de la secuencia, contando cada par de tokens adyacentes. Los recuentos resultantes se pueden normalizar para producir probabilidades. Este proceso forma la base de los modelos de Markov, donde la probabilidad del siguiente token está condicionada al token actual.
Los bigramas también se utilizan en técnicas de Data Augmentation y en Loss Functions para ciertas tareas, aunque estos usos son menos comunes que en los métodos estadísticos tradicionales. El concepto de Beam Search en la generación de secuencias a menudo se basa en estimaciones de probabilidad de modelos de n-gramas, aunque los sistemas modernos típicamente usan métodos de puntuación más avanzados basados en Neural network.
Véase también
- Dígrafo (ortografía)
- Frecuencia de letras
- N-grama
- Análisis de frecuencia