En la década de 1940, en plena guerra mundial, el lingüista de
la universidad de Harvard, George Kingsley Zipf, enunció una ley empírica que
ponía de manifiesto una sorprendente regularidad en la distribución de las
palabras en un texto de cualquier lengua. No existe aún explicación del porqué
de esta regularidad.
La que, desde entonces, se conoce como Ley de Zipf dice que,
para un texto suficientemente largo, la frecuencia de aparición “f” de una
palabra dada es inversamente proporcional a su rango, ”r”, entendiendo por rango
la posición de la palabra en el orden de mayor a menor (la clasificación en la “liga
de apariciones”, por así decirlo). Matemáticamente:
Donde a es una constante que depende del texto utilizado. Se
trata de una ley aproximada que no pretende calcular con exactitud el número de
veces que se repetirá una palabra en el texto pero que sí tiene una alta
correlación para considerarla como algo más que una anécdota de cálculo.
Además, esta inversa proporcionalidad entre frecuencia y extensión recuerda a
otras muchas relaciones similares en otras áreas del conocimiento, siendo la
más notable la relación entre la frecuencia y la longitud de las onda de la luz o las del sonido.
Posteriores desarrollos han hecho que la ley de Zipf se
escriba mejor como:
Siendo b una constante cercana al valor 1.
Esta ley concuerda bien con la realidad. Tomado cualquier
texto, vemos que unas pocas palabras se repiten muchas veces (especialmente
artículos, adverbios, preposiciones y conjunciones) y muchas de ellas son
hápax legómenon en ese texto, es decir, sólo aparecen una
sola vez.
Aunque, normalmente, la ley de Zipf se cumple mejor con
textos de más de 5000 palabras vamos a probar su cumplimiento con el inicio del
capítulo III del El Quijote que aparece en este enlace
que es más corto pero suficientemente aproximado para explicar el caso y no
dedicar mucho tiempo a estructurar los datos.
Para estudiar los textos usamos un programa especializado en
analizar textos y calcular frecuencias, concordancias, etc. Este es TEXTSTAT
(existen otros mucho más complejos y completos pero TextStat permite obtener lo
que deseamos) que, amén de hacer el análisis, exporta los resultados a un
fichero Excel con lo que es más sencillo el tratamiento posterior (y lograr que
los gráficos encajen en el reducido espacio del blog).
El programa nos indica que ese texto tiene 2985 palabras, de
las que 967 son diferentes. Si graficamos las frecuencias con que esas 967
palabras aparecen, la curva es una exponencial muy acusada que denota lo ya
explicado: unas pocas palabras se repiten muchísimo mientras que la mayoría
aparecen en pocas ocasiones y, como antes dijimos, no es de extrañar que las
que se repiten mucho sean artículos, preposiciones, adverbios y conjunciones.
En nuestro caso, la palabra que Cervantes utiliza más es “que” (en 150
ocasiones) seguida de “de” (148), “a” (90) y “la” (86). El primer sustantivo es
“historia” con 22 apariciones en la posición 22. Así, para las 500 palabras de ese texto más frecuentes, tenemos:
Dadas las escalas, y para poder ver con más detalle el
cumplimiento de la ley de Zipf, es mejor representar el gráfico en escala
logarítmica, en cuyo caso los datos deben seguir una recta (regresión potencial
dentro de la escala logarítmica).
Se observa que la recta es bastante aproximada a los datos
reales y esta recta se aproxima más y más a los mismos a medida que aumenta el
número de palabras calculadas. Podemos afirmar que El Quijote cumple razonablemente bien con la Ley de Zipf.
Veamos otro ejemplo, el cuento de García Márquez, “El
ahogado más hermoso del mundo”. Se observa que aquí la Ley de Zipf se cumple
peor pero, de todos modos el ajuste es todavía cercano en ciertas zonas. El texto tiene 2546, de las que 931 son distintas. La palabra más
usada es “de” (123 veces), seguida de “que” (104), “y” (76), “a” (70) y “los”
(70).
Sería posible mejorar la correlación usando, de acuerdo a la segunda fórmula antes mostrada, una exponencial con otro valor de "b".
Pero, ¿se cumpliría la Ley de Zipf cuando el texto hubiera
sido generado automáticamente en vez de haber sido escrito por una persona? ¿o al menos se cumpliría de manera similar a lo que sucede en los escritos naturales? ¿Un
texto robotizado o producido por un generador de textos, por un algoritmo,
tiene las mismas características intrínsecas que uno escrito por una persona?
Para conocer esto, he generado un texto con un programita de
generación de texto automático realizado para un máster en la Universidad de Cádiz. Hemos generado un texto de 1941 palabras de las que 351 son distintas. Esta es
una limitación del concepto del programa ya que este utiliza plantillas determinadas y,
por tanto, es mucho menos rico que un texto escrito por un ser humano. Para una
comparación más homogénea habría quizá que ampliar el generador con bastantes
más plantillas ("templates”) para que la variedad lingüística fuese mayor.
En este caso, la palabra que más se repite es “en” (126
repeticiones), seguida de “y” (93), “el” (86), “la” (83) y “se” (73). A este
respecto, no hay diferencias significativas entre un lenguaje natural y uno
artificial. Donde sí hay diferencias notables es en la cola de la lista. En un
texto automático son muchas menos las hápax legómenon que en
uno natural, hecho lógico si pensamos que el parser está
obligado a elegir palabras de un corpus más reducido y, sobre todo, que las
plantillas “le fuerzan a ser menos creativo” ya que no puede utilizar los
sinónimos o textos que una mente puede imaginar en un momento dado.
Los gráficos son:
La correlación es menor que con el texto natural del Quijote de manera
bastante evidente ya que no sólo se desvía en los extremos sino también en la
zona central pero no es una correlación excesivamente peor que la encontrada en el cuento de García Márquez. De hecho, teniendo en cuenta las limitaciones antes comentadas por utilizar plantillas, parece que este texto automático cumple "mejor" la Ley de Zipf que algunos textos humanos.
No es extraño, de cualquier modo, que los textos automáticos también se acerquen a la Ley de Zipf porque no son textos "creados" por una mente alienígena o por un programa de inteligencia artificial totalmente ajeno sino que son combinaciones léxicas o gramaticales de nuestros propios idiomas.
No hay comentarios:
Publicar un comentario