Anlisis Sintctico Parsing Introduccin Caractersticas del parsing Anlisis

  • Slides: 35
Download presentation
Análisis Sintáctico (Parsing) • • • Introducción Características del parsing Análisis con gramáticas incontextuales

Análisis Sintáctico (Parsing) • • • Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts PLN parsing general 1

Analizadores Básicos. • ¿Qué esperamos del analizador? • estructura sintáctica • estructura lógica o

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. PLN parsing general 2

El proceso del análisis sintáctico • Búsqueda en un espacio de estados • Caracterizar

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 PLN parsing general 3

Factores que inciden en el análisis sintáctico • • • Expresividad de la gramática

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 PLN parsing general 4

Ambigüedad inherente a la sintaxis “I was on the hill that has a telescope

Ambigüedad inherente a la sintaxis “I was on the hill that has a telescope when I saw a man. ” “I saw a man who was on a hill and who had a telescope. ” “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 PLN parsing general See A man The telescope The hill tomada de Loper 5

Revisión histórica Woods, 1970 • • Sistemas basados en pattern matching TN => RTN

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 PLN parsing general 6

Tipos de analizador • Los analizadores hoy • Gramáticas incontextuales (extendidas o no) •

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) PLN parsing general 7

Estrategia de análisis 1 • Análisis descendente (Top Down) • Dirigido por objetivos •

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 PLN parsing general 8

Estrategia de análisis 2 • Análisis ascendente (Bottom up) • Dirigido por datos •

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 PLN parsing general 9

Estrategia de análisis 3 • Problemas del Análisis descendente • • • Recursividad izquierda

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 PLN parsing general 10

Estrategia de análisis 4 • Problemas del Análisis ascendente • Categorías vacías (opcionales) •

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 PLN parsing general 11

Gramática incontextual de ejemplo G 1 PLN parsing general 12

Gramática incontextual de ejemplo G 1 PLN parsing general 12

Redes de Transición (TN) • Autómatas finitos • Estados asociados a posiciones de la

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 PLN parsing general 13

TN: ejemplo adj det q 1 q 0 det q 5 n q 2

TN: ejemplo adj det q 1 q 0 det q 5 n q 2 v q 4 n v np n q 6 adj q 3 el det PLN parsing general gato come pescado n v n 14

TN: limitaciones • • Limitado a lenguajes regulares Sólo reconocedor No-determinismo backtracking No separació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 PLN parsing general 15

Redes de transición recursivas (RTN) • Colección de TN etiquetadas con un nombre •

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 PLN parsing general 16

RTN: ejemplo 1 2 GN Oracion FV 3 1 GN n det 1 2

RTN: ejemplo 1 2 GN Oracion FV 3 1 GN n det 1 2 GP 3 n adj np PLN parsing general 17

RTN: ejemplo 2 Vtrans 1 FV GN 2 3 Vint Prep GP PLN parsing

RTN: ejemplo 2 Vtrans 1 FV GN 2 3 Vint Prep GP PLN parsing general 1 GN 2 3 18

RTN: limitaciones • • • Las transiciones sólo dependen de las categorías • CFG

RTN: limitaciones • • • Las transiciones sólo dependen de las categorías • CFG Sólo reconocen Esencialmente estrategia fija descendente PLN parsing general 19

Redes de transición aumentadas (ATN) • • Woods (1970) ATN = RTN con operaciones

Redes de transición aumentadas (ATN) • • Woods (1970) ATN = RTN con operaciones asociadas a los arcos y uso de registros. Operaciones • Condiciones Filtrar transiciones entre estados Acciones Construir estructuras de salida y Convertir el reconocedor en analizador Inicializaciones Permiten expresar las restricciones contextuales PLN parsing general 20

ATN: ejemplo (Winograd, 1983) Features Number: Singular, Plural Person: 1 st, 2 nd, 3

ATN: ejemplo (Winograd, 1983) Features Number: Singular, Plural Person: 1 st, 2 nd, 3 rd Rols: Subject Default: empty Default: 3 rd 6: Proper 5: Pronoun 1: det f 8: Send g 4: Noun h 7: pp 2: Jump 3: Adjective PLN parsing general 21

ATN: ejemplo 2 Inicializaciones, Condiciones y Acciones NP-1: f. Determinerg A: Set Number to

ATN: ejemplo 2 Inicializaciones, Condiciones y Acciones NP-1: f. Determinerg A: Set Number to the number of * NP-4: g. Nounh C: Number is empty or number is the number of * A: Set Number to the number of * Set Subject to * NP-5: f. Pronounh A: Set Number to the number of * Set Person to the Person of * Set Subject to * NP-6: f. Properh A: Set Number to the number of * Set Subject to * PLN parsing general 22

ATN: limitaciones • Estrategia fija descendente • Redundancia de las operaciones de backtracking •

ATN: limitaciones • Estrategia fija descendente • Redundancia de las operaciones de backtracking • Problemas d’expresividad notacional: PLN parsing general 23

Esquemas de análisis • Mecanismo unificado de descripción de analizadores • proceso constructivo •

Esquemas de análisis • Mecanismo unificado de descripción de analizadores • proceso constructivo • Sikkel, 1997 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) PLN parsing general 24

Charts 1 • • Un Chart es un grafo dirigido que se construye en

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 el PLN parsing general 2 gato 4 3 come pescado 25

Charts 2 programa chart { inicializar el chart con H; inicializar la agenda con

Charts 2 programa chart { inicializar el chart con 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 cada item que pueda deducirse con un paso deductivo que incluya a item_actual {si item no está en la agenda ni en el chart entonces añadir item a la agenda} } } PLN parsing general 26

Charts 3 • • Un algoritmo concreto de Chart deberá • definir la estructura

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 PLN parsing general estrategia descendente 27

Charts 4 • Use a chart to record hypotheses about possible syntactic constituents. •

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 Edge Det N Phrase Type PLN parsing general Phrase Children Chart tomada de Loper 28

Charts 5 • An edge consists of: • • • Type S: A start

Charts 5 • An edge consists of: • • • Type S: A start index (1. . . n) Found Need E: An end index (1. . . n) S E 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) tomada de Loper PLN parsing general 29

Charts 6 Edges can represent partial phrases. PP P I saw the man PP

Charts 6 Edges can represent partial phrases. PP P I saw the man PP starts here So far, we've found a P NP on the PP P NP hill. We still need an NP tomada de Loper PLN parsing general 30

Charts 7 Regla de combinación Cuando un arco activo del Chart tiene por destino

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 i j k A B PLN parsing general 31

Charts 8 Regla Descendente Cuando un arco activo del Chart tiene por destino un

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 i PLN parsing general B A B j 32

Charts 9 Regla Ascendente Cuando un arco inactivo del Chart tiene por origen un

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 i PLN parsing general A j 33

Charts 10 [Oracion GN GV ] [Oracion GN GV] [GN n ] [GV vi]

Charts 10 [Oracion GN GV ] [Oracion GN GV] [GN n ] [GV vi] [Oracion GN GV] [GV vt GN] [GN det n] [GN det n] [GN det n ] [det] [n] el 0 PLN parsing general [GN det n] [GV vi ][GN n] [vt] [vi] gato 1 [GV vt GN] come 2 [n] pescado 3 4 34

limitaciones de los algoritmos de Chart • Problemas • el tamaño del Chart aumenta

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 PLN parsing general 35