La gramática universal aplicativa , o AUG , es un metalenguaje semántico universal destinado a estudiar los procesos semánticos en lenguajes particulares. [1] Se trata de una teoría lingüística que considera la formación de la estructura de la frase por analogía con la aplicación de funciones en un lenguaje de programación aplicativo . Entre las innovaciones de este enfoque del procesamiento del lenguaje natural se encuentran las ideas de superposición funcional y tipos estratificados. [2] [3]
En el artículo titulado Using Types to Parse Natural Language de Mark P. Jones, Paul Hudak y Sebastian Shaumyan , que describe una implementación del análisis de AUG en Haskell , hay una breve introducción a AUG. Se parafrasea aquí, utilizando uno de sus ejemplos: [4]
AUG tiene sólo dos tipos primitivos: T para términos, S para "oraciones" (aunque AUG aparentemente permite que los fragmentos de oraciones sean del tipo S). Hay un tipo no primitivo, que devuelve una función: Oxy. O reduce x e y a otro tipo, xy, que combina los tipos de x e y, xy. Las palabras pueden ser funciones de este tipo. El tipo de una palabra como "mi" (cosa) es OTT: toma algo del tipo T y produce algo del tipo T. "Mi amigo" tiene una estructura como esta:
Las reglas pueden transformar p de tipo Oxy en q de tipo x:
Tenga en cuenta que al utilizar O como operador de prefijo se evita la necesidad de paréntesis (como en la ortografía matemática más convencional) y se obtiene una presentación más compacta en la página.
Así es como "mi amigo vive en Boston" se reduce en agosto.
AUG permite la aplicación tanto hacia adelante como hacia atrás de O. Aquí está la regla para la aplicación hacia atrás:
La palabra "viviendo" se reduce a la más específica "viviendo en Boston". AUG distingue entre gramática de fenotipo y genotipo ; el fenotipo se corresponde estrechamente con el lenguaje real, como en el gráfico anterior. El genotipo es una estructura más universal para el significado. Para enfocar más claramente los problemas del genotipo, el orden de las ramas del árbol se puede representar de modo que las funciones estén a la izquierda de sus argumentos. Un árbol de análisis sintáctico más genotípico se ve así:
La función intransitiva "lives" se escribe OTS: el sujeto es una T, pero una S (una frase oracional) debe ser el tipo resultante. ¿Por qué "in" tiene el tipo OTOOTSOTS? "In" como función de tres lugares requiere una ubicación ("Boston"; tipo T), algo que sucede ("lives"; tipo OTS) y, en este ejemplo, un sujeto, alguien que vive, también del tipo T.