De hecho, supongo una cosa es la gramática y otra cómo se utilice. Sea el árbol de la gramática aquél que define todas las frases posibles (completa o vagamente) legales, donde cada palabra se conecta a todas las otras que potencialmente la siguen. Nada nuevo, es una idea muy antigua.

Ya tenemos la topología del idioma, ahora la geometría: repartamos el grosor de cada rama entre todas las subramas en las que se bifurca proporcionalmente a la probabilidad de que las palabras correspondientes sean dichas. La geometría depende pues del contexto, de quién hable el idioma, y de alguna manera la irregularidad de las ramas de su árbol refleja su idiosincracia y parte de su cultura. Frases hechas (en España la rama más gorda que parte de “quedarse a dos” es la que lleva a “velas”), referencias culturales (una de las ramas gordas que salen de “un dos tres” es la que lleva a “responda otra vez”), etc, todas introducen irregularidades al árbol.

Lo divertido sería superponer visualmente los árboles del español argentino, el ibérico, el peruano, el mexicano, y todos los demás, que comparten la misma topología pero tienen una geometría diferente, una distribución diferente de sabia, y ver/entender (¿no son la misma cosa?) sus peculiaridades individuales. Es más, me gustaría ver mi árbol particular, ese que me oprime y no me deja expresarme y decir las cosas como las siento, y ver después el de mi hermana, el de una amiga suya, el del novio de aquélla, el del jefe de él, el del panadero del jefe, el del alcalde del pueblo del panadero, … y así pasando por muchas personas y lugares, como si fuera una animación.

Tal vez, si se pudiera computar este árbol o “firma lexicoculturopersonal” de cada individuo, comunidad y pueblo, tal vez se pudiera desarrollar una ciencia social (ciencia en cursiva, por favor) que ayudara a descifrar la historia, entender el presente, predecir la procedencia de las personas, optimizar discursos políticos automáticamente según la audiencia, adaptar el lenguaje en los colegios para llegar mejor a los alumnos, etc… Aunque por otro lado no se me ocurre ninguna forma no terrorífica (estilo ciencia ficción catastrofista) de extraer esa geometría.

En fin, idea de trastero, e intento desesperado de frase memorable del mes: la topología del árbol es la gramática del idioma, y cada una de sus geometrías reflejan la cultura del grupo que la habla.

Nota mental: dejar de abusar de mi ignorancia y enterarme antes de qué significa “cultura”.
Lo siento, a veces me toca volver a la adolescencia.

4 Comments

  1. slack says:

    ¡Bienvenido al mundo del modelado de lenguaje! X-)

    Ese tipo de cosas se hacen de toda la vida en campos como el reconocimiento de voz, traducción automática, information retrieval… A veces es completamente imposible distinguir si en una grabación concreta se ha dicho una palabra u otra, y sin embargo para un humano no resulta un problema dado el conocimiento del lenguaje y del contexto de la conversación.

    La parte “terrorífica” es que como los sistemas basados en reglas son tan poco flexibles, la gente suele tirar de modelos estadísticos, y como estimar un modelo bueno requiere cuantos más datos mejor se acaban usando en casi todas partes modelos de n-gramas: a grandes rasgos, se toma un corpus de texto de entrenamiento y se cuentan las veces que aparece cada secuencia de n palabras, y al final de este conteo se normaliza y tienes una estimación de la probabilidad de cada palabra en función de las n-1 anteriores, por ejemplo, en un 4-grama la probabilidad de “velas” despues de “estar a dos” sería elevadísima, y luego se hacen guarrerías para repartir la probabilidad de alguna forma que tenga en cuenta secuencias no vistas en el entrenamiento. A pesar de lo simple que parece, un n-grama bien estimado funciona sorprendentemente bien. (Existe algún corpus de texto etiquetado sintácticamente en forma de árboles, como el Penn Treebank, pero es un trabajo de chinos y me imagino que se dejarían un pastón en lingüistas analizando frases :P )

    Si te aburres mucho puedes generar un modelo de n-gramas a partir de tus posts y luego generar texto aleatoriamente a partir de ahi XD.

  2. sole says:

    ¡Un trastero-post-generator! Qué idea tan estupenda. Bueno, ya hay gente auto generando contenidos para tener siempre algo “nuevo” en twitter y similares.

  3. admin says:

    Supongo que además de estimadores que miran las últimas N palabras habrá también otros que miren las siguientes M, ¿no? Así se podrían atacar problemas como el de “los tres ???”. Mirando sólo el pasado la probabilidad máxima sería posiblmente para “cerditos”, pero que en verdad teniendo que en verdad la frase dice “los tres ??? magos” entonces lo que buscamos es tal vez “reyes”. De todos modos estaba pensando el lío que tenéis que tener, pobres, porque si en el resto del texto no aparecen las palabras “navidad”, “nacimiento” ni “villancico” sino “orco”, “dragon” y “comarca”, igual lo que buscamos no es “reyes” sino “los tres elfos magos”. Vamos, que una vista tan local del texto como N+M palabras no tiene por que ayudar, hace falta un contexto más global. Usáis varias pasadas para extraer información global primero antes de dar la pasada de análisis local, ¿o algo así? Todo esto suponiendo que tengais el texto de antemano y no lo queráis hacer sobre la marcha según el usuario escribe, claro.

    Buah, ánimo, menudas camisas de once varas en la que os metéis.

  4. slack says:

    Cuando se usan para reconocimiento (que es de lo que más te puedo hablar), una situación como esa de los reyes magos te lo resuelve el trigrama, porque lo que haces es buscar el camino que maximiza la probabilidad para toda la frase, si después de “los tres” pones “cerditos” te sale una probabilidad alta, pero luego te las tienes que ver con “tres cerditos magos” multiplicando. Por el contrario “los tres reyes” y “tres reyes magos” tendrían mayor probabilidad conjunta.

    El problema de usar modelos más complejos es que son más difíciles de entrenar (hacen falta algoritmos más complejos, y cuanto más parámetros tienes que estimar estadísticamente más corpus de entrenamiento necesitas, la “maldición de la dimensionalidad”), así que de momento lo que usa todo el mundo es la tontería esta, con mil hacks para intentar que tu modelo de lenguaje vaya un poco mejor que el del vecino, pero sin intentar abordar el problema real de la comprensión… pero claro, hay que publicar, y si ese hack lo metes en un artículo y cuela, pues una línea más para el currículum investigador.

    Por ejemplo, para la situación que comentas sobre los elfos magos hay gente que ha propuesto un sistema de “triggers”: se buscan pares de palabras a distancias grandes tales que la aparición de una aumente la probabilidad de que en el futuro aparezca la otra.

    En fin, el mundo de la investigación es apasionante… por cierto, dentro de unos meses me pongo a buscar trabajo (guiño, guiño XD)

Leave a Reply

You must be logged in to post a comment.