h1

Las gramáticas de Chomsky (ahora sí) :D

marzo 12, 2008

En el anterior artículo, que pretendía que versara precisamente sobre las aportaciones de Noam Chomsky a la ciencia computacional, hablamos finalmente de la relación entre lenguajes y ordenadores. Lo que pasa es que a veces enseguida empiezo a divagar y acabo hablando de sabe dios qué, pero intentaremos centrarnos ahora con este artículo 😉

Sin embargo, para hablar de gramáticas, primeramente tenemos que hablar de lenguajes, y antes de nada, por tanto, tenemos que definir un lenguaje…

Por lo general, las definiciones que más me gustan son las más simples. Aunque a veces sean incompletas o incluso inexactas de algún modo, prefiero siempre comenzar con un concepto lo más sencillo posible aunque después tengamos que ampliarlo o modificarlo. Siguiendo este concepto, un lenguaje no es más que un conjunto de palabras.

Pero evidentemente, se trata de un conjunto finito, por lo tanto tiene que haber algo que nos indique qué palabras pertenecen o no al lenguaje. Asimismo, resulta también obvio que estas palabras se forman combinando una determinada serie de símbolos (letras, por ejemplo). Así pues, aunque un lenguaje no sea más que un conjunto de palabras, necesitamos al menos dos cosas más: los símbolos con los que crear las palabras, y una regla o conjunto de reglas que nos permitan saber qué palabras pertenecen al lenguaje.

Todo lo dicho hasta ahora, vale tanto como para lenguajes naturales como para lenguajes computacionales (sí, estoy hablando de Java, C++, o cualquier otro que se os ocurra) No obstante, no hay ninguna regla establecida que nos permite saber que “know” pertenece al lenguaje inglés y no a otro salvo nuestro propio conocimiento del lenguaje, pero la idea es la misma.

Ahora viene uno de los puntos clave del asunto, si cambiamos ligeramente la definición de “regla(s) que permitan determinar si una palabra pertenece al lenguaje” obtendremos la definición de gramática desde el punto de vista de la informática. Sólo tenemos que decir que estas reglas no sólo valdrán para determinar la pertenencia, sino que serán estas propias reglas las que “fabriquen” únicamente las palabras válidas para el lenguaje. Dicho de otra manera; una gramática es una regla que nos permite crear únicamente palabras válidas para un lenguaje determinado.

Este es el punto donde los lenguajes naturales y los computacionales se separan más. Pero no del todo. A fin de cuentas, en los lenguajes naturales también hay ciertas reglas para crear palabras. Por ejemplo, si necesitamos una palabra para definir el concepto “ciencia de la vida” utilizaremos dos lexemas con significado predefinido: bio- (vida) y -logía (ciencia). Se podría haber llamado a la biología escataralofusia, por ejemplo, o cualquier otra cosa, pero, sería mucho más inútil, y carente en sí misma de significado.

La gran diferencia con los lenguajes de ordenador, es que esas reglas son totalmente explícitas y han de cumplirse estrictamente. Esto sería imposible de realizar con los lenguajes naturales, pues son totalmente irregulares y contienen etimologías de fuentes muy diversas. Son tan complejos, variados y ricos que es imposible clasificar y regularizar todas sus palabras al dedillo como si se hace con los lenguajes de ordenador. Y esto es, porque estos últimos son lenguajes regulares.

Continuaremos próximamente 😉 …

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: