Un árbol de análisis sintáctico o árbol de análisis sintáctico [1] (también conocido como árbol de derivación o árbol de sintaxis concreta ) es un árbol ordenado y con raíz que representa la estructura sintáctica de una cadena de acuerdo con alguna gramática independiente del contexto . El término árbol de análisis sintáctico en sí se utiliza principalmente en lingüística computacional ; en sintaxis teórica, el término árbol sintáctico es más común.
Los árboles de sintaxis concreta reflejan la sintaxis del lenguaje de entrada, lo que los distingue de los árboles de sintaxis abstracta que se utilizan en la programación informática. A diferencia de los diagramas de oraciones de Reed-Kellogg que se utilizan para enseñar gramática, los árboles de análisis sintáctico no utilizan formas de símbolos distintas para los diferentes tipos de constituyentes .
Los árboles de análisis sintáctico suelen construirse en función de la relación de circunscripción de las gramáticas de circunscripción ( gramáticas de estructura de frase ) o de la relación de dependencia de las gramáticas de dependencia . Los árboles de análisis sintáctico pueden generarse para oraciones en lenguajes naturales (véase procesamiento del lenguaje natural ), así como durante el procesamiento de lenguajes informáticos, como los lenguajes de programación .
Un concepto relacionado es el de marcador de frase o P-marcador , tal como se utiliza en la gramática generativa transformacional . Un marcador de frase es una expresión lingüística marcada en cuanto a su estructura de frase. Esta puede presentarse en forma de árbol o como una expresión entre corchetes. Los marcadores de frase se generan aplicando reglas de estructura de frase y están sujetos a otras reglas transformacionales. [2] Un conjunto de posibles árboles de análisis sintáctico para una oración sintácticamente ambigua se denomina "bosque de análisis sintáctico". [3]
Un árbol de análisis sintáctico está formado por nodos y ramas. [4] En la imagen, el árbol de análisis sintáctico es la estructura completa, comenzando en S y terminando en cada uno de los nodos hoja (John, ball, the, hit). En un árbol de análisis sintáctico, cada nodo es un nodo raíz , un nodo de rama o un nodo hoja . En el ejemplo anterior, S es un nodo raíz, NP y VP son nodos de rama, mientras que John, ball, the y hit son todos nodos hoja.
Los nodos también pueden denominarse nodos padre y nodos hijo. Un nodo padre es aquel que tiene al menos otro nodo vinculado por una rama debajo de él. En el ejemplo, S es padre tanto de NP como de VP. Un nodo hijo es aquel que tiene al menos un nodo directamente encima de él al que está vinculado por una rama del árbol. De nuevo, en nuestro ejemplo, hit es un nodo hijo de V.
Una función no terminal es una función (nodo) que es una raíz o una rama en ese árbol, mientras que una función terminal es una función (nodo) en un árbol de análisis que es una hoja.
Para árboles binarios (donde cada nodo padre tiene dos nodos hijos inmediatos), el número de árboles de análisis posibles para una oración con n palabras viene dado por el número Catalan .
Los árboles de análisis sintáctico basados en circunscripciones de las gramáticas de circunscripciones ( gramáticas de estructura de frase ) distinguen entre nodos terminales y no terminales. Los nodos interiores están etiquetados por categorías no terminales de la gramática, mientras que los nodos hoja están etiquetados por categorías terminales . La imagen a continuación representa un árbol de análisis sintáctico basado en circunscripciones; muestra la estructura sintáctica de la oración en inglés John hit the ball :
El árbol de análisis es la estructura completa, que comienza en S y termina en cada uno de los nodos de las hojas ( John , hit , the , ball ). En el árbol se utilizan las siguientes abreviaturas:
Cada nodo del árbol es un nodo raíz , un nodo rama o un nodo hoja . [5] Un nodo raíz es un nodo que no tiene ramas encima. Dentro de una oración, solo hay un nodo raíz. Un nodo rama es un nodo padre que se conecta a dos o más nodos hijos. Un nodo hoja, sin embargo, es un nodo terminal que no domina otros nodos en el árbol. S es el nodo raíz, NP y VP son nodos rama, y John (N), hit (V), the (D) y ball (N) son todos nodos hoja. Las hojas son los tokens léxicos de la oración. Un nodo padre es uno que tiene al menos otro nodo vinculado por una rama debajo de él. En el ejemplo, S es un padre tanto de N como de VP. Un nodo hijo es uno que tiene al menos un nodo directamente encima de él al que está vinculado por una rama de un árbol. En el ejemplo, hit es un nodo hijo de V. Los términos madre e hija también se utilizan a veces para esta relación.
Los árboles de análisis sintáctico basados en dependencias de las gramáticas de dependencias [6] consideran que todos los nodos son terminales, lo que significa que no reconocen la distinción entre categorías terminales y no terminales. Son más simples en promedio que los árboles de análisis sintáctico basados en circunscripciones porque contienen menos nodos. El árbol de análisis sintáctico basado en dependencias para la oración de ejemplo anterior es el siguiente:
Este árbol de análisis sintáctico carece de las categorías de frases (S, VP y NP) que se ven en la contraparte basada en circunscripciones anterior. Al igual que el árbol basado en circunscripciones, se reconoce la estructura de los constituyentes . Cualquier subárbol completo del árbol es un constituyente. Por lo tanto, este árbol de análisis sintáctico basado en dependencias reconoce el sustantivo sujeto John y el sintagma nominal objeto the ball como constituyentes, al igual que lo hace el árbol de análisis sintáctico basado en circunscripciones.
La distinción entre circunscripción y dependencia es de gran alcance. Si la estructura sintáctica adicional asociada con los árboles de análisis basados en circunscripciones es necesaria o beneficiosa es un tema de debate.
Los marcadores de frase, o marcadores P, se introdujeron en la gramática generativa transformacional temprana , desarrollada por Noam Chomsky y otros. Un marcador de frase que representa la estructura profunda de una oración se genera aplicando reglas de estructura de frase . Luego, esta aplicación puede sufrir transformaciones posteriores.
Los marcadores de frase pueden presentarse en forma de árboles (como en la sección anterior sobre árboles de análisis basados en circunscripciones), pero a menudo se dan en forma de "expresiones entre corchetes", que ocupan menos espacio en la memoria. Por ejemplo, una expresión entre corchetes correspondiente al árbol basado en circunscripciones dado anteriormente puede ser algo como:
Al igual que con los árboles, la construcción precisa de dichas expresiones y la cantidad de detalles mostrados pueden depender de la teoría que se aplique y de los puntos que el autor de la consulta desee ilustrar.