¿Cómo miden los frikis sus palabras? La distancia Levenshtein

COMPARTIR 0 TWITTEAR

Aunque podríamos pensar que las matemáticas sólo se ocupan de las ciencias, lo cierto es que la lingüística es uno de los campos de estudio de matemáticos de todo el mundo. Un ejemplo de ello es la distancia de Levenshtein y el proyecto ASJP, que muestran el grado de refinamiento del pensamiento científico.

No es que las matemáticas nos rodeen pues son un invento humano, ni tan siquiera pueden explicar con exactitud todos los factores que afectan a nuestra vida diaria, pero lo que no admite réplica es que durante los últimos veinte o treinta siglos se han mostrado como una herramienta realmente útil para mejorar nuestro día a día y permitirnos evolucionar como sociedad hasta un punto que ninguna otra especie conocida había alcanzado nunca. Las matemáticas han ayudado a configurar el mundo que nos rodea, y son parte fundamental de la arquitectura, las telecomunicaciones, la informática o la medicina.

Si bien esta relación con las ciencias es clara e indisoluble, no es menos cierto que existen multitud de aplicaciones en el mundo de las letras, como por ejemplo la ley de Zipf, que explica por qué utilizamos más a menudo el término “terco” que su sinónimo “recalcitrante”, o la ley de Lotka, que cuantifica el número de autores que han publicado cinco libros sobre la Guerra Civil Española basándose en el número de autores que han publicado 1, 2 ó 3.

Indagando sobre aplicaciones matemáticas al mundo de las letras es fácil encontrarse con la distancia de Levenshtein (llamada así en honor al científico ruso Vladimir Levenshtein que la estudió en 1965), que mide la diferencia entre dos cadenas de texto en función del número de transformaciones necesarias para llegar de una a otra.

La Torre de Babel, pintura al óleo sobre lienzo de Pieter Brueghel el Viejo

La Torre de Babel, pintura al óleo sobre lienzo de Pieter Brueghel el Viejo. Fuente:http://wikipedia.org

Se definen dos tipos de transformaciones elementales: la inserción y la sustitución de un carácter por otro, cada una de ellas con un peso de 1. De esta manera, la distancia entre pata y gata sería 1 (sustituir “p” por “g”) y entre cala y palma sería 2 (insertar “m” entre “l” y “a”, sustituir “c” por “p”. Este cálculo que en principio podría parecer muy tonto tiene una aplicación inmediata sumamente interesante: nos permite construir correctores ortográficos automáticos: ante una palabra desconocida, se buscan las conocidas que esté a una distancia de 1,2 ó 3 y se muestran como opción.

Un proyecto interesante basado en este algoritmo es ASJP (Automated Similarity Judgment Program), que sobre una lista cerrada de palabras en distintos idiomas trata de clasificar las distintas lenguas del mundo en función de la cercanía de sus vocablos. La web del proyecto no deja de ser interesante, con gran cantidad de recursos y altamente recomendable para todo friki de los algoritmos, de las lenguas o de ambos que se precie. Como muestra un botón: ¿Sabías que existía una lengua llamada zamboangueño? ¿y papiamento? Y mejor aún, ¿sabías que guardan un gran parecido con el castellano?

Las matemáticas aún tienen que evolucionar y crecer tanto como lo haga el ser humano, dando cada vez más soluciones a nuestros problemas, pero también debemos prestarles más atención, pues muchas de las respuestas ya están ahí.

Archivado en Lengua, Matemáticas
COMPARTIR 0 TWITTEAR

Comentarios (19)

Usa tu cuenta de Facebook para dejar tu opinión.

Otras webs de Difoosion