350 likes | 589 Views
Análisis Sintáctico (Parsing). Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts. Analizadores Básicos. ¿Qué esperamos del analizador? estructura sintáctica estructura lógica o semántica básica. Interacción sintaxis/semántica.
E N D
Análisis Sintáctico (Parsing) • Introducción • Características del parsing • Análisis con gramáticas incontextuales • TN, RTN, ATN • Charts
Analizadores Básicos. • ¿Qué esperamos del analizador? • estructura sintáctica • estructura lógica o semántica básica. • Interacción sintaxis/semántica. • Ausencia de Semántica • Ausencia de Sintaxis • Síntesis de las dos aproximaciones anteriores. • Actuación en secuencia. • Actuación en paralelo.
El proceso del análisis sintáctico • Búsqueda en un espacio de estados • Caracterizar los estados • (si se puede) enumerarlos • Definir el (los) estado (s) inicial (es) • Definir (si se puede) los estados finales o la condición de haber alcanzado uno de ellos • Deducción • Reescritura • Semántica operacional
Factores que inciden en el análisis sintáctico • Expresividad de la gramática • Cobertura • Fuentes de conocimiento implicadas • Estrategia de análisis • Dirección del análisis • Orden de aplicación de las reglas • Gestión de la ambigüedad • (in)determinismo • Ingeniería de los analizadores
Ambigüedad inherente a la sintaxis “I saw a man who was on a hill and who had a telescope.” “I was on the hill that has a telescope when I saw a man.” “I saw a man who was on the hill that has a telescope on it.” “Using a telescope, I saw a man who was on a hill.” . . . “I was on the hill when I used the telescope to see a man.” I saw the man on the hill with the telescope Me See A man The telescope The hill tomada de Loper
Revisión histórica Woods, 1970 • Sistemas basados en pattern matching • TN => RTN => ATN • WFST, Charts (M. Kay) • Métodos tabulares: CKY, Earley • Gramáticas de estructura de frase: LSP (Sager), Diagram (Robinson) • Analizadores deterministas: LL, LR • Parsifal (Marcus) • Sistemas basados en unificación: DCG (Pereira,Warren) , Patr II (Shieber) Kay, 1980 Younger, 1967 Earley, 1970 Sager, 1981 Robinson, 1982 Aho et al,1990 Chapman, 1987 Tomita, 1986, 1987 Marcus, 1980 Pereira, Warren, 1980 Shieber, 1986
Tipos de analizador • Los analizadores hoy • Gramáticas incontextuales (extendidas o no) • Tabulares • Charts • LR • Gramáticas lógicas (analizadores de unificación) • Analizadores probabilísticos • Analizadores robustos (superficiales, fragmentales)
Estrategia de análisis 1 • Análisis descendente (Top Down) • Dirigido por objetivos • Comienza con una lista de objetivos (constituyentes) a construir. • Intenta aplicar a alguno de los objetivos alguna de las producciones de la G emparejando el objetivo con la parte izquierda y reescribiendolo con la parte derecha • Si más de una regla es aplicable: Problema de búsqueda • Puede usarse búsqueda en anchura y profundidad y ordenación de los objetivos • El proceso acaba cuando todos los objetivos han sido satisfechos
Estrategia de análisis 2 • Análisis ascendente (Bottom up) • Dirigido por datos • Comienza con la cadena de palabras a analizar (hechos) • Intenta aplicar a alguna secuencia de hechos alguna de las producciones de la G emparejando la secuencia con la parte derecha y reescribiendola con la parte izquierda • Si más de una regla es aplicable: Problema de búsqueda • Puede usarse búsqueda en anchura y profundidad y ordenación de los objetivos • El proceso acaba cuando la lista de hechos contiene el símbolo inicial de la gramática
Estrategia de análisis 3 • Problemas del Análisis descendente • Recursividad izquierda • Muchas producciones con la misma parte izquierda • Trabajo inútil • Búsqueda dirigida por la gramática • Trabajo repetido • En general problemas de los algoritmos de backtracking
Estrategia de análisis 4 • Problemas del Análisis ascendente • Categorías vacías (opcionales) • Trabajo inútil (localmente posible pero globalmente imposible) • Ineficiente cuando hay una gran ambigüedad léxica • Repetición de trabajo
Redes de Transición (TN) • Autómatas finitos • Estados asociados a posiciones de la oración • Arcos (transiciones) • Etiquetas que hecen referencia a categorias morfosintácticas • Una transición es aceptable si la palabra tiene la misma categoría que el arco • No determinismo • Más de un estado inicial • Una palabra con más de una categoría posible • Más de un arco para la misma categoría
TN: ejemplo adj q1 q5 det n n det v q0 q2 q4 q6 n adj v np q3 el gato come pescado det n v n
TN: limitaciones • Limitado a lenguajes regulares • Sólo reconocedor • No-determinismo backtracking • No separación entre gramática y analizador • gramática descripción del modelo sintáctico • analizador (parser) control
Redes de transición recursivas (RTN) • Colección de TN etiquetadas con un nombre • Arcos • Etiquetados con categorías como TN • etiquetas terminales • Etiquetados con identificadores de RTN • etiquetas no terminales • Los estados finales de las RTN causan el retorno al estado destino de la transición que produjo la llamada • Las RTN son débilmente equivalentes a las CFG
2 GN FV Oracion 3 1 n GP det GN 3 1 2 n adj np RTN: ejemplo 1
Vtrans GN FV 1 2 3 Vint Prep GN 1 GP 2 3 RTN: ejemplo 2
RTN: limitaciones • Las transiciones sólo dependen de las categorías • CFG • Sólo reconocen • Esencialmente estrategia fija descendente
Condiciones Filtrar transiciones entre estados Acciones Construir estructuras de salida y Convertir el reconocedor en analizador Inicializaciones Operaciones Redes de transición aumentadas (ATN) • Woods (1970) • ATN = RTN con operaciones asociadas a los arcos y uso de registros. • Permiten expresar las restricciones contextuales
6:Proper 5:Pronoun 1:det 8: Send f g 4:Noun h 7:pp 2: Jump 3: Adjective ATN: ejemplo (Winograd, 1983) Features Number: Singular, Plural Default: empty Person: 1st, 2nd, 3rd Default: 3rd Rols: Subject
ATN: ejemplo 2 Inicializaciones, Condiciones y Acciones NP-1: fDeterminerg A: Set Number to the number of * NP-4: gNounh C: Number is empty or number is the number of * A: Set Number to the number of * Set Subject to * NP-5: fPronounh A: Set Number to the number of * Set Person to the Person of * Set Subject to * NP-6: fProperh A: Set Number to the number of * Set Subject to *
ATN: limitaciones • Estrategia fija descendente • Redundancia de las operaciones de backtracking • Problemas d’expresividad notacional:
Esquemas de análisis Sikkel, 1997 • Mecanismo unificado de descripción de analizadores • proceso constructivo • Parser (esquema): • dada una oración, se construye un conjunto inicial de items. • dada una gramática, existe un conjunto de reglas que permite construir nuevos items a partir de los antiguos. • Parser (algoritmo): • Esquema de parsing • + estructuras de datos • + estructuras de control • (+ estructuras de comunicación)
Charts 1 • Un Chart es un grafo dirigido que se construye en forma dinámica e incremental a medida que se realiza el análisis • Extensión de las WFST • Los nodos corresponden al inicio y fin de la oración y a las separaciones entre las palabras. • Arcos activos (objetivos o hipótesis) e inactivos (hechos) • Notación arcos activos: reglas punteadas • arcos inactivos: categoría 1 0 2 4 3 el gato come pescado
Charts 2 programa chart { inicializar el chartcon H; inicializar la agenda con los items que pueden deducirse sin antecedentes; mientras no vacía(agenda) {extraer el item_actual de la agenda y colocarlo en el chart; para cadaitem que pueda deducirse con un paso deductivo que incluya a item_actual {siitem no está en la agenda ni en el chart entonces añadir item a la agenda} } }
Charts 3 • Un algoritmo concreto de Chart deberá • definir la estructura de la agenda y el orden de salida de sus elementos • definir el orden en que se llevan a cabo los pasos deductivos • Dscan + Dcompl Regla de combinación • Dpred Regla descendente (top down) • Regla ascendente (bottom up) estrategia ascendente estrategia descendente
Charts 4 • Use a chart to record hypotheses about possible syntactic constituents. • A chart contains a set of edges. • Each edge represents a possible phrase. • Edges provide a common representation for parse information. { Sentence I saw the man on the hill. NP Det N Edge Chart Phrase Type tomada de Loper Phrase Children
Charts 5 • An edge consists of: • S: A start index (1...n) • E: An end index (1...n) • Type: A phrase type (NP, PP, etc.) • Found: What we've found so far (list of phrase types) • Need: What we still need (list of phrase types) Type Found Need S E tomada de Loper
Charts 6 Edges can represent partial phrases. PP P NP I saw the man on the hill. PP P NP PP starts here So far, we've found a P We still need an NP tomada de Loper
Charts 7 Regla de combinación Cuando un arco activo del Chart tiene por destino un nodo j y de este nodo sale un arco inactivo etiquetado con la misma categoría que el arco activo esperaba se combinan ambos arcos para producir uno nuevo (activo o no) que tiene su origen en el origen del primero y su destino en el destino del segundo B A B k i j A B
Charts 8 Regla Descendente Cuando un arco activo del Chart tiene por destino un nodo j, para cada producción de la gramática que expanda la categoría que el arco espera se crea un nuevo arco activo con origen y destino en j que corresponde a la regla punteada con el punto en la posición inicial B B B B ... B B A B i j
Charts 9 Regla Ascendente Cuando un arco inactivo del Chart tiene por origen un nodo i, para cada producción de la gramática que tenga como primer constituyente a la derecha la categoría del nodo inactivo se crea un nuevo arco activo con origen y destino en j que corresponde a la regla punteada con el puntoen la posición inicial B A B A B A B A B A ... B A A i j
Charts 10 [Oracion GN GV ] [Oracion GN GV ] [Oracion GN GV] [GN n ] [GV vi] [Oracion GN GV] [GV vt GN] [GN det n] [GN det n] [GV vt GN] [GN det n] [GN det n ] [GV vi ] [GN n] [GN n] [det] [n] [vt] [vi] [n] el gato come pescado 1 0 2 4 3
limitaciones de los algoritmos de Chart • Problemas • el tamaño del Chart aumenta con el tamaño de la gramática haciendo el método inaplicable para gramáticas voluminosas. • Se crean muchos arcos activos e inactivos inútiles. • en la práctica, en ausencia de conocimiento apropiado, se utiliza casi siempre una estrategia ascendente, eventualmente corregida con predicciones descendentes