Árbol de Lenguas y un juguete llamado Zipping

Publicado por Ezequiel L  (Fuente: Language Trees and Zipping – Benedetto, Caglioti, Loreto, Febrero 2008)

Pues hablemos de este curioso experimento (computacional) , basado en una técnica para extraer información de cadenas de caracteres como textos, secuencias de ADN o series de datos en el tiempo.

Normalmente, cuando estudiamos un fenómeno de la naturaleza lo que solemos obtener es una serie de datos en función del tiempo, por ejemplo, medimos la temperatura de una habitación cada 1 minuto para saber cómo evoluciona. Sin embargo, hay algunos fenómenos que están descritos por una cadena de caracteres, como es el caso del ADN ( ATGCTTCGGCAAGACTC…), donde cada letra simboliza una de las bases que componen la molécula de ADN ( adenina, tianina, citosina, guanina…). Uno de estos casos podría el lenguaje.

220px-Radioactive_Fluorescent_Seq

Cuando analizamos una cadena de caracteres , la cuestión principal es extraer la información que contiene. En el caso del ADN, qué secuencias se repiten por ejemplo y qué subsecuencias codifican nuestros genes. En el caso de un texto se trataría de reconocer el lenguaje en el que está escrito , su autor, época y tema tratado.

Se nos viene a la mente: pues lo que deberíamos hacer es ver qué palabras se repiten…qué palabras corresponden a otra época o el parecido de dos textos correspondientes al mismo autor.

OK, es el momento de definir la entropía en este caso, imaginemos que es una magnitud que será aumenta cuanto más sinsentido sea el texto y más pequeña cuanto más correlacionado este todo.

De esta manera, si elegimos un texto de El Quijote en español e intercambiamos un párrafo por otro texto, o por su traducción en otro idioma, esta entropía aumentará notablemente.

Definimos también de una manera muy general el concepto de similaridad, es decir , lo ‘alejados’ que están dos textos. Dos párrafos de El Quijote tendrán mucha más similaridad que uno de El Quijote y otro de La Biblia. Pero ¿está dicha ‘distancia’ relacionada realmente con las diferencias reales (semánticas) de los textos?

Antes de contestar a esto, debemos conocer en qué consiste el Zipping, herramienta que surge a partir del problema de codificar de manera óptima un texto, sin perder información. El matemático e ingeniero electrónico Claude Shannon descrubrió que había un límite para esta posibilidad de codificar una secuencia dada, límite que hemos llamado entropía. Podemos entender que esta entropía también es el tamaño mínimo (en bits) de un programa que tenga la cadena de caracteres como output.

En estos límtes teóricos trabajan los compresores como WinZip. Una manera de realizar la compresión es la siguiente: Si tenemos una cadena como 0000110001111 y la longitud de poner “4×0, 2×1, 3×0, 4×1” (cuatro veces 0, dos veces 1, etc) es más corta que la cadena en sí, nos quedaremos con esta descripción.
De esta manera, uno puede hacerse una idea de la entropía de una secuencia simplemente comprimiéndola. Tenemos dos textos por ejemplo A y B, y un tercero b, hacemos A+b y B+b y comprimimos ambos. Tenemos la longitud (en bits) ∆(A+b) = Longitud(A+b) – Longitud(A) tenemos que la que entropía relativa A y B es, siendo |b| la longitud de b :

formula

y así definimos una distancia relativa entre A y B.

De esta manera, usando por ejemplo 50 versiones de “La Declaración Universal de los Derechos Humanos” obtenemos el siguiente árbol, basándonos en las distancias relativas obtenidas mediante los métodos descritos anteriormente:

https://i1.wp.com/ej.iop.org/images/1742-5468/2005/04/P04002/Full/9663105.jpg?w=640

¿Sorprendente el tremendo sentido que tienen estas relaciones verdad?

Nos hace pensar acerca del origen de los idiomas, que aparte de la etimología, guardan unas estructuras subyacentes que aún no somos de capaces de estudiar completamente.

Por supuesto este tipo de tecnología nos permite tremendos avances hasta llegar el momento de que un programa nos diga quién escribió un texto y cuál es su tema, dando una nueva dimensión a la filología.

Ni que decir tiene, las enormes aplicaciones de este tipo de algoritmos en genética, donde se ha usado para decodificar la cadena y así saber qué genes provocan qué manifestaciones, características o enfermedades.

zkielphy

2 Comments

  1. El concepto físico de entropía aplicado a la filología y a la lingüistica. Una prueba más de la unidad subyacente a todas las ramas del saber. Me ha encantado. Una pequeña observación: Creo haber detectado un error: En la compresión de la cadena binaria, debería haberse escrito 3×0 y no 3×1.
    Felicitaciones por el artículo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *