PLN parsing general 1
Análisis Sintáctico (Parsing)
• Introducción• Características del parsing• Análisis con gramáticas incontextuales• TN, RTN, ATN• Charts
PLN parsing general 2
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 3
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 4
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 5
Ambigüedad inherente a la sintaxis
tomada de Loper
Me See A man The telescope The hill
“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.”
“I was on the hill when I used the telescope to see a man.”
“I saw a man who was on a hill and who had a telescope.”
“Using a telescope, I saw a man who was on a hill.”
. . .
I saw the man on the hill with the telescope
PLN parsing general 6
Revisión histórica
• 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)
Aho et al,1990Chapman, 1987Tomita, 1986, 1987
Younger, 1967Earley, 1970
Woods, 1970
Kay, 1980
Sager, 1981Robinson, 1982
Marcus, 1980
Pereira, Warren, 1980Shieber, 1986
PLN parsing general 7
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 8
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 9
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 10
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 11
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 12
Gramática incontextual de ejemplo G1
(1) Oracion GN, GV
(2) GN det, n
(3) GN n
(4) GV vi
(5) GV vt, GN
(6) det el | un | ...
(7) n gato | pescado | ...
(8) vt come | ...
(9) vi come | ...
PLN parsing general 13
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 14
TN: ejemplo
q0
q1
q2 q4
q5
q6
el gato come pescadodet n v n
det n
np
vdet n
n
adj
adj
q3
v
PLN parsing general 15
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 16
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 17
RTN: ejemplo 1
Oracion
1
2GN FV
3
GN
1 2
detn
n
np
adj
GP
3
PLN parsing general 18
RTN: ejemplo 2
GP 1 2 3
Prep GN
Vtrans GN
FV
Vint
1 2 3
PLN parsing general 19
RTN: limitaciones
• Las transiciones sólo dependen de las categorías
• CFG• Sólo reconocen• Esencialmente estrategia fija descendente
PLN parsing general 20
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
Operaciones
CondicionesFiltrar transiciones entre
estadosAcciones
Construir estructuras de salida y
Convertir el reconocedor en analizador
Inicializaciones
PLN parsing general 21
ATN: ejemplo (Winograd, 1983)
FeaturesNumber: Singular, Plural Default: emptyPerson: 1st, 2nd, 3rd Default: 3rd
Rols: Subject
gf
1:det
2: Jump
3: Adjective
7:pp
h4:Noun
8: Send
6:Proper
5:Pronoun
PLN parsing general 22
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: ejemplo 2
PLN parsing general 23
ATN: limitaciones
• Estrategia fija descendente
• Redundancia de las operaciones de backtracking
• Problemas d’expresividad notacional:
PLN parsing general 24
Esquemas de análisis
• 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)
Sikkel, 1997
PLN parsing general 25
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
el gato come pescado0 1 2 3 4
PLN parsing general 26
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 27
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
PLN parsing general 28
• 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.
NPDet N
I saw the man on the hill.
Chart
{Sentence
Edge
PhraseType
PhraseChildren
Charts 4
tomada de Loper
PLN parsing general 29
• 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)
TypeFound NeedS E
Charts 5
tomada de Loper
PLN parsing general 30
Edges can represent partial phrases.
PPP NP
I saw the man on the hill.
PP starts hereSo far, we've
found a P We still need an NP
P
PP
NP
Charts 6
tomada de Loper
PLN parsing general 31
Charts 7
Regla de combinación
Cuando un arco activo del Chart tiene por destino un nodo j y de estenodo sale un arco inactivo etiquetado con la misma categoría que el arco activo esperaba se combinan ambos arcos para producir uno nuevo (activoo no) que tiene su origen en el origen del primero y su destino en el destinodel segundo
ji k
A B B
A B
PLN parsing general 32
Charts 8
Regla Descendente
Cuando un arco activo del Chart tiene por destino un nodo j, para cada producciónde la gramática que expanda la categoría que el arco espera se crea un nuevo arcoactivo con origen y destino en j que corresponde a la regla punteada con el puntoen la posición inicial
ji
A B
B B B ...
B
B
B
PLN parsing general 33
Charts 9
Regla Ascendente
Cuando un arco inactivo del Chart tiene por origen un nodo i, para cada producciónde la gramática que tenga como primer constituyente a la derecha la categoría delnodo 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
jiA
B AB AB A...
B A
B A
B A
PLN parsing general 34
Charts 10
el gato come pescado0 1 2 3 4
[Oracion GN GV]
[det] [n] [vt] [vi] [n]
[GN det n]
[GN n]
[GN det n]
[GN det n ]
[Oracion GN GV]
[GV vi]
[GV vt GN]
[GV vi ]
[GV vt GN]
[Oracion GN GV ]
[GN det n]
[GN n]
[GN n ]
[Oracion GN GV ]
PLN parsing general 35
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